连接多个点而不包含

时间:2017-01-16 22:02:41

标签: algorithm spatial points

我正在寻找一种算法来连接多个点,而不包括其中一个点。要求是所有点都已连接,但结果多边形的内部没有任何点。我不确定这个技术术语是什么,也没有找到解决我问题的方法。该设置可能类似于: Setting

寻找凸包算法,因为它可能包含一些点(在图像2,6,8中)。结果应该靠近凸包(尽可能),但满足不包括任何点的要求。有什么建议吗?

2 个答案:

答案 0 :(得分:2)

从一个点开始,然后以顺时针(或逆时针方式)转到另一个点。根据{{​​3}},您应该整合该区域(在离散的情况下,它相当于计算您的顶点)。

顺时针程序:假设您从最顶端的点 xi

开始
  • xi 的所有点右侧,选择最近的 xi
  • 如果不存在:从 xi 左侧的所有点开始,选择最近的 xi
  • 如果你达到了最低点,你现在就去,但是用相反的方法(即先检查左侧,然后检查右侧)

答案 1 :(得分:1)

你可以从0-> 1,1-> 2,... n-1 - >开始。 n,n-> 0 现在看看这些线,看看它们是否有任何交叉。 如果a-b线与c-d线交叉,则删除这两条线并创建两条新线,a-c线和a-d线。 由于我们正在删除交叉点,所有线路的总长度总是在减小,因此它应该收敛到零交叉点并且连接的所有内容。