algorithm - 测试多边形是简单还是复杂

标签 algorithm geometry polygon computational-geometry

对于定义为一系列 (x,y) 点的多边形,我如何检测它是否复杂?复杂的多边形与自身有交点,如图所示:

example complex polygon image

有没有比检查时间复杂度为 O(N2) 的每一对更好的解决方案?

最佳答案

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

有关详细信息,请参阅 this article ,特别是这个 code to test for a simple polygon .

关于algorithm - 测试多边形是简单还是复杂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4001745/

相关文章:

algorithm - Picopala算法实现

跨越一条线反射(reflect)一个点的算法

types - 表示多边形链的最佳方式

c++ - 我应该如何发送一个带孔的多边形用于多边形测试中的绕组数点?

mysql - 当多边形的点为经纬度时,如何在MySQL数据库中计算多边形的面积?

javascript - 根据纬度和经度确定哪个是多边形

c - ANSI C - 在任意树中查找节点

c++ - 使用优先级队列 C++ 将霍夫曼树算法从 O(n^2) 优化到 O(n)

algorithm - 给定树的二叉搜索树前、中、后顺序遍历

three.js - 在 Three.js 库中,如何将face4转换为两个不重叠的三角形face3?