From: "Hargreaves, Shawn" To: "'djgpp AT delorie DOT com'" Subject: Re: collision detection Date: Wed, 01 Oct 97 09:26:00 PDT Message-ID: <34327EAC@relay.probe.co.uk> Encoding: 27 TEXT Precedence: bulk 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)) :-) Repeat for the y coordinates, and you have your intersection test... Shawn Hargreaves.