我有一个没有洞的简单多边形,它需要被三角化为凸多边形,以便在物理引擎中使用,因此我可以使用这些凸多边形通过三角形条进行渲染。
这篇维基百科文章展示了如何使用单调多边形对多边形进行三角化。它对它的工作原理进行了简短的描述,但没有足够的细节让我理解。这个方法似乎非常适合我的需求,它链接到的Flash Demo表明该算法非常适合我。
我一直在谷歌上搜索,寻找更好的算法解释,但我只能找到进行三角测量的库或源代码。我更愿意学习它是如何工作的,并编写我自己的方法,但如果我需要使用预先编写的库,它必须这样做。
有人能为我如何了解这种三角测量的工作原理提供解释或资源吗?
CGAL库提供了几种无孔简单多边形的凸分解实现。看看这一章。
我建议你看看Delaunay三角图:维基百科。QHull是标准实施。(作为参考,MATLAB依赖于Qhull:link。
如果你不喜欢Qhull,试试这个系列。