如何将复杂多边形划分为简单多边形?

时间:2013-09-20 05:08:52

标签: algorithm math geometry polygon freeware

我遇到复杂多边形的问题,我需要一种算法来划分(或找到)通过复杂多边形形成的简单多边形。


例如:

一个多边形复合体,其点数按照它们的绘制顺序编号。我们将得到4个简单的多边形结果:
http://i1338.photobucket.com/albums/o699/ssbb91/poly1_zps9e7888a5.png?t=1379653091


这里,另一个案例更复杂:
http://i1338.photobucket.com/albums/o699/ssbb91/poly2_zps1e9753ca.png


我正在寻找一个算法或库(最好是免费的)来帮助我做到这一点,因为我开发了使用非二叉树来寻找最短路径的算法,但是在复杂多边形的存在下出现了一些缺点

1 个答案:

答案 0 :(得分:1)

我的Clipper library会将自相交的多边形转换为简单的多边形 See the documentation here.

注意:这可以在(即将发布的)Clipper ver 6中得到很大改进,可以从SourceForge存储库here下载。

编辑:第6版的文档为here