是否有一种有效的算法来生成2D凹壳?

Fab*_*llo 60 gis algorithm math geometry 2d

从GIS文件(城市地图)获得一组(2D)点,我需要生成定义该地图(其边界)的"轮廓"的多边形.它的输入参数是点集和"最大边长".然后它将输出相应的(可能是非凸的)多边形.

到目前为止,我发现的最佳解决方案是生成Delaunay三角形,然后移除长度超过最大边长的外边缘.在所有外边缘都短于此之后,我只需移除内部边缘并获得我想要的多边形.问题是,这非常耗时,我想知道是否有更好的方法.

nsa*_*ers 10

我们实验室的一名前学生在博士论文中使用了一些适用的技术.我相信其中一个被称为"alpha形状",并在下面的文章中引用:

http://www.cis.rit.edu/people/faculty/kerekes/pdfs/AIPR_2007_Gurram.pdf

该论文提供了一些您可以遵循的进一步参考.


小智 5

本文讨论了用于表征平面上一组点的形状的简单多边形的有效生成并提供了算法。这里还有一个使用相同算法的 Java 小程序。

  • 链接死了。Java源代码似乎位于http://ambientspatial.net/ddo/?p=143 (2认同)