从多边形中减去矩形

时间:2012-11-02 20:19:52

标签: geometry computational-geometry

我正在寻找一种算法,它将从一个简单的凹面多边形中减去一个矩形,并返回剩余的多边形。如果矩形包围多边形,则余数为null。在大多数情况下,看起来矩形和多边形之间至少会共享一条边。

我一直在网上挖掘,但我没有找到好的领导。

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:4)

这很简单:找到矩形和简单多边形边缘之间的交点,然后在那里剪切线段。这不需要空间搜索结构,因为多边形的4个边是常数因子,因此以线性时间运行。

然后计算所有段的约束Delaunay三角剖分并使用种子点来增长区域。适当地组合区域(简单多边形内的三角形减去矩形内的三角形减去外面的三角形。保留的三角形是结果,边框边缘是生成多边形的边缘。

编辑:如果答案太短,我很抱歉。下图显示了这个想法 a)两个输入多边形
b)插入(切割)段后的CDT c)种植区域
d)绿色区域减去红色区域
e)d区域的边界边缘。

enter image description here