找到两个多边形的共同内部点

时间:2015-05-28 18:45:08

标签: computational-geometry polygons non-convex geometry-class-library

假设我有重叠的多边形。两者都不一定是凸的。什么是一种有效的算法来找到它们两者的内部点而不是任何一个边界?

假设它们重叠,我们的多边形由它们的3D顶点集定义。

1 个答案:

答案 0 :(得分:4)

可以使用Vatti polygon clipping algorithm的变体。 Vatti算法是一种扫描线算法,它基本上意味着扫描两个多边形的顶点,从左(右)到左边,以及它们边界之间的任何交叉点。在穿过任何连续的两个“事件”的垂直线之间,然后检查由多边形创建的梯形/三角形。一旦你找到一个属于两者的梯形,你就可以输出它的质心。

enter image description here