想象一下,我有一团散乱的点:这些点不是随机分布的,而是规则的:三个相邻的点总是形成一个等边三角形。点云跨越一个不凸的形状:
现在我想找到横跨此云最外点的多边形。 Convhull显然不起作用,因为它只会跳过凹陷部分。
由于这种规律性,找到边缘点也很简单:
现在这里是棘手的部分:如何将这些边缘点分类为多边形?我考虑从一个随机点开始,然后选择一个随机方向并继续前行,但边缘点(例如云的最北端)给我一些头痛:想象一下你从南边接近最北端的东南点 - 东方向。现在算法有两个潜在的点可以继续:西北或西。西北显然是正确的选择,但我怎么教这个算法呢?