用于确定两个相交且可以旋转离开坐标轴的矩形的总面积的算法是什么?
以下是您需要做的大致内容,尽可能笼统地表达,但涵盖了所有可能性:
- 计算出交集的类别。 IE。相交区域有多少条边?它可以是 0 到 8 之间的任何值。
- 找到交点的所有顶点。这将是矩形边缘之间的所有交点以及矩形本身的相关角。解决这一点是最复杂/最乏味的。
- 计算出交叉点的面积,必要时将其分成三角形。
Here's all the ways the rectangles can intersect:
Update
我有一些想法,对相交进行分类的最佳方法是跟踪每个矩形的周长并计算每条边与另一条边相交的次数。你会得到一个向量,例如对于六边形交叉区域:{1,1,1,1},{0,1,1,1},对于 8:{2,2,2,2},{2,2,2,2} 。您需要检查的两种特殊情况是一个矩形完全包围另一个矩形以及边缘对齐。您需要进行仔细检查,但这将是对交集进行分类的函数的起点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)