代码之家  ›  专栏  ›  技术社区  ›  justik

具有自相交多边形的分解

  •  1
  • justik  · 技术社区  · 7 年前

    如何将具有自相交的多边形分解为简单多边形集?

    输入多边形P={p1,…pn}由具有CCW方向的n个顶点组成。我想对一组m多边形P1进行一次下位。。。,下午。

    enter image description here

    从交叉口到下一个交叉口的简单步行不会带来任何效果;有两条线段的起点相同,由交点表示。

    也许,一些词典的边缘可能会有帮助。。。

    1 回复  |  直到 7 年前
        1
  •  1
  •   MBo    7 年前

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

    从某个点开始。使用当前顶点(相对于最后一条边)的最逆时针边行走。将遍历的边添加到多边形并删除它们(或标记)。返回到同一顶点时,关闭多边形。

    从仍有边的第一个顶点开始重复。