创建通过所有给定点的凹多边形

时间:2016-04-07 16:37:06

标签: algorithm geometry polygon convex-hull concave

给定一组点,我想使用这些点创建一个凹的非相交多边形。凸壳会使凹面部分无效,而将它们按x / y坐标或中心角度排列会产生尖锐的人工制品。有一种简单的方法可以做到这一点吗?

我想要创建的多边形的一个示例:

example

1 个答案:

答案 0 :(得分:1)

如果您只有周边顶点并且可以保证周边顶点之间的距离小于周边边缘之间的距离,那么您可以使用最小生成树。

SVG lib

顶部示例显示MST的工作位置(连接的结果折线中的第一个和最后一个顶点)

最底层的例子是如果周边边缘过于接近会发生什么。