5

我目前正在尝试构建设备在运行期间覆盖的区域。此过程的第一步似乎是构建覆盖区域的多边形。由于图案不是标准形状,凸包通过跳到可能的最大覆盖区域夸大了覆盖区域。

我发现一篇论文似乎涵盖了非凸包生成的概念,但没有讨论如何在高级语言中实现这一点。 http://www.geosensor.net/papers/duckham08.PR.pdf

有没有人见过用于构造非凸壳或凹壳的直接算法,或者可能有任何 python 代码来实现相同的结果?

我尝试了主要是 qhull 的凸包,边缘大小有限,成功率有限。我还注意到一些无法分发的许可库,所以不幸的是,这不在讨论范围内。有更好的想法或食谱吗?

4

1 回答 1

4

您可以尝试研究 Alpha Shapes。CGAL 库可以计算它们。

编辑:我看到你链接的论文引用了 alpha 形状,并且还有一个算法列表。这对你来说还不够高吗?由于您将 python 列为标签,我确信 Python 中有 Delaunay 三角剖分库,我认为这是实现算法最难的部分;您只需要确保可以修改生成的三角测量输出。边界查询函数可能可以用关联数组来实现。

于 2010-09-01T18:26:20.017 回答