具有自交点的多边形的分解

时间:2018-12-21 12:18:21

标签: algorithm polygon decomposition non-convex

如何将具有自交点的多边形分解为一组简单的多边形?

输入多边形P = {p1,... pn}由具有CCW方向的n个顶点集合给出。我想对一组m个多边形P1,...,Pm进行分解。

enter image description here

沿路口从路口到下一个路段的简单步行不会产生任何效果;有2个具有相同起点的路段(由交点表示)。

也许有些字典上的边缘可能会有所帮助...

1 个答案:

答案 0 :(得分:1)

计算所有相交点,创建新节点并在相交处划分边,为每个节点创建相邻边的列表。

从某个角度开始。使用当前顶点的最大CCW边缘(相对于最后一个边缘)行走。将遍历的边添加到多边形并将其删除(或标记)。当您返回相同的顶点时,请关闭多边形。

从仍然具有边的第一个顶点重复。