Mail Archives: djgpp/1997/10/01/04:49:17
Andrew Deren writes:
> Does anyone know how to detect if two rectangles overlap each other at
> some point. Let's say we have something like this:
The easiest way to solve this is to consider in what cases the rectangles
would _not_ collide. For the range xa1-xa2 not to overlap with the range
xb1-xb2, it must be either to the left of it or to the right of it (duh
:-) So,
either the rightmost point of the first range must be to the left of the
leftmost
point of the second range, or the leftmost point of the first range must
be
to the right of the rightmost point of the second range. In code:
((xa2 < xb1) || (xb1 > xa2))
Negate that, and they collide if:
((xa2 >= xb1) && (xb1 <= xa2))
<I think: this is untested> :-) Repeat for the y coordinates, and you
have
your intersection test...
Shawn Hargreaves.
- Raw text -