【发布时间】:2018-02-05 16:50:41
【问题描述】:
我有围绕凸形或接近凸形的二维点集。下图展示了两个例子。
我正在寻找一个简单的过程来构造一个填充内部的多边形。
我知道 Alpha 形状,但我正在寻找更简单的东西,因为我必须从头开始完全实现。
有什么建议吗?
]1
【问题讨论】:
标签: polygon computational-geometry
我有围绕凸形或接近凸形的二维点集。下图展示了两个例子。
我正在寻找一个简单的过程来构造一个填充内部的多边形。
我知道 Alpha 形状,但我正在寻找更简单的东西,因为我必须从头开始完全实现。
有什么建议吗?
]1
【问题讨论】:
标签: polygon computational-geometry
在回答 meowgoesthedog 提到的问题时,我建议进行 Delaunay 三角测量。我仍然认为它可以工作:-) 对于没有相似长度的边的三角形,三角测量保证较长边的另一边有空白空间。对于边 a
类似的方法,但确定性较小,可以选择一些“小”长度,创建输入节点的平面图,其中边在比给定长度更近的节点之间,并找到最长的闭合循环遍历边方向,并且该循环是正向的(不是外部形状)。通过为输入节点构建空间分区,可以并行构建图。开始遍历的节点肯定是一个大角度的节点。可能需要检查的节点很少。
这种方法的一个问题是构建平面图,必须检查边的交叉点。由于使用了分区,因此可以便宜地完成。另一个是公差定义了结果形状。较小的公差将产生较小的特征,或者可能会省略一些形状上的点。更大的容差使图更大,过滤更小的特征。
这两个问题都可以通过 Delaunay 三角剖分“解决”。
【讨论】: