algorithm - 是否有生成二维凹包的有效算法?

标签 algorithm geometry 2d gis concave-hull

我有一组来自 GIS 文件(城市 map )的 (2D) 点,我需要生成定义该 map (其边界)“轮廓”的多边形。它的输入参数将是点集和“最大边长”。然后它会输出相应的(可能是非凸的)多边形。

目前我找到的最佳解决方案是生成 Delaunay 三角形,然后移除比最大边长更长的外部边。在所有外部边缘都比那个短之后,我只需删除内部边缘并获得我想要的多边形。问题是,这非常耗时,我想知道是否有更好的方法。

最佳答案

我们实验室的一名前学生在他的博士论文中使用了一些适用的技术。我相信其中之一被称为“alpha shapes”,并在以下论文中引用:

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

该论文提供了一些您可以遵循的进一步引用。

关于algorithm - 是否有生成二维凹包的有效算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/83593/

相关文章:

java - 2d 装箱Java?

Java - 向游戏添加控件的最佳方式

java - 关于数组问题(查找重复项)的问题

performance - 我们什么时候应该使用基数排序?

algorithm - 如何计算精确覆盖带有矩形孔的矩形板的一组子矩形

Python:检查(并计算多少)点位于 voronoi 单元格内的位置

algorithm - 排序算法从仅具有直角的点创建多边形

html - 在 SVG 或 Raphael.js 中的路径或多边形内写入文本

unity-game-engine - Unity 2D Trail 渲染器碰撞

algorithm - 如何找到起始颜色进行混色操作