代码之家  ›  专栏  ›  技术社区  ›  Drew Noakes

测试多边形是简单的还是复杂的

  •  15
  • Drew Noakes  · 技术社区  · 14 年前

    example complex polygon image

    有没有比检查每一对时间复杂度为O(N 2个 )?

    3 回复  |  直到 10 年前
        1
  •  14
  •   Reed Copsey    14 年前

    有一些扫描方法可以比暴力方法更快地确定这一点。此外,它们还可用于将非简单多边形分解为多个简单多边形。

    有关详细信息,请参见 this article code to test for a simple polygon .

        2
  •  5
  •   Amit Prakash    9 年前

    Bentley Ottmann Algorithm 对于这种基于扫描的O((N+I)logn)方法。 其中N是线段数,I是交点数。

        3
  •  2
  •   Chao Xu    9 年前

    实际上,这可以在线性时间内使用Chazelle的三角剖分算法。它要么对多边形进行三角剖分,要么发现多边形并不简单。