将轮廓点转换为多边形

时间:2018-02-05 16:50:42

标签: polygon computational-geometry

我有二维点集,它围绕一个凸起或接近凸面的形状。下图显示了两个例子。

我正在寻找一个简单的程序来构建一个填充内部的多边形。

我知道Alpha形状,但我正在寻找更简单的东西,因为我必须从头开始全面实施。

有什么建议吗?

enter image description here] 1

1 个答案:

答案 0 :(得分:0)

在回答meowgoesthedog提到的问题时,我建议Delaunay三角测量。我仍然认为它可以工作:-)对于没有相似长度边的三角形,三角测量保证了长边另一边的空白空间。对于边长为<<< b~c,b和c两侧有一个空的空间,半径为~b / 2。对于三角形a + b~c,半径为~c / 2的c侧存在空白空间。第一类三角形将连接形状的相对点,第二类三角形将连接形状的角点。

类似的方法,但具有较小的确定性,可以选择一些小的'长度,创建输入节点的平面图,其中边缘位于比给定长度更近的节点之间,并且找到在正方向上穿过边缘的最长闭合循环,并且该循环是正向的(不是外部形状)。通过为输入节点构造空间分区,可以并行构建图。开始遍历的节点肯定是具有大角度的节点。可能需要检查的节点很少。

这种方法的一个问题是平面图的构造,必须检查边缘交叉点。由于使用了分区,因此可以很便宜。另一个是容差定义结果形状。较小的公差将产生较小的特征,或者可能省略一些形状上的点。较大的公差会使图形变大并过滤较小的特征。

这两个问题都得到了解决'与Delaunay三角测量。