Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rotated 2d rectangle intersection detection

I have 2 rectangles they are placed arbitrarily and I have rects all four corner point like

struct Rect
{
 NSPoint topLeft; 
 NSPoint topRight; 
 NSPoint bottomLeft; 
 NSPoint bottomRight; 
}

I want to check whether 2 rectangles intersects. I am looking a method similar to NSIntersectsRect . But NSIntersectsRectwon't respect the rotation of rectangle. The points in structure are the points obtained after rotation.

Sample code in Objecitve-C ,C++ or C will be a great help.

like image 434
Raviprakash Avatar asked Aug 02 '26 05:08

Raviprakash


1 Answers

One simple way is to check whether every vertex of one rectangle is on the same and exterior side of an edge of the one, and vice-versa. For faster and more general methods, see http://gpwiki.org/index.php/Polygon_Collision and http://cgm.cs.mcgill.ca/~godfried/teaching/cg-projects/97/Plante/CompGeomProject-EPlante/algorithm.html

like image 159
lhf Avatar answered Aug 03 '26 21:08

lhf



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!