【问题标题】:Rotated 2d rectangle intersection detection旋转二维矩形相交检测
【发布时间】:2010-08-11 10:21:53
【问题描述】:

我有 2 个矩形,它们是任意放置的,并且我已经像

一样调整了所有四个角点
struct Rect
{
 NSPoint topLeft; 
 NSPoint topRight; 
 NSPoint bottomLeft; 
 NSPoint bottomRight; 
}

我想检查 2 个矩形是否相交。我正在寻找类似于 NSIntersectsRect 的方法。但是NSIntersectsRect不会尊重矩形的旋转。结构中的点是旋转后得到的点。

Objecitve-C、C++ 或 C 中的示例代码会很有帮助。

【问题讨论】:

标签: c++ c objective-c graphics geometry


【解决方案1】:

一种简单的方法是检查一个矩形的每个顶点是否在一个边的同一侧和外侧,反之亦然。有关更快和更通用的方法,请参阅 http://gpwiki.org/index.php/Polygon_Collisionhttp://cgm.cs.mcgill.ca/~godfried/teaching/cg-projects/97/Plante/CompGeomProject-EPlante/algorithm.html

【讨论】:

    【解决方案2】:

    参见例如 gamedev.net 上的 2D Rotated Rectangle Collision

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-19
      • 1970-01-01
      相关资源
      最近更新 更多