我最近问过this question如何将凹多边形切割成凸多边形,我建议进行三角剖分或多边形分割。
我正在使用的库(SFML \ Box2D)只采用凸形。
这就是我想知道的:
多边形分区或多边形的三角剖分是否更快?
- 醇>
多边形分区如何工作/你是如何做到的?
不要忘记三角测量不需要凸起的形状......
答案 0 :(得分:4)
多边形分区将多边形分割为凸多边形
三角测量将其分成三角形。
根据我的理解,分割成三角形需要您首先执行多边形分区,因为将凸多边形划分为三角形是相对微不足道的。
将多边形分裂成凸多边形是困难的部分。
我已经编写了一个程序,可以同时为一个类做,如果你想我可以挖掘它。
这是我的代码: https://github.com/meshko/triangulator/tree/master/som
我没有触及10年,所以要小心。
答案 1 :(得分:4)
对你的问题不是一个完整的答案,但如果你有一个普通的多边形(凹,凸,无论如何)并且你想要对它进行三角测量(对于随后的openGL样式渲染),你可以看看“受约束的Delaunay三角剖分”包。一个这样的例子是Triangle包,它被认为是快速而健壮的。
据我了解,Triangle中使用的算法表现出O(nlogn)
运行时复杂性。