Algorithm 获取二维点集的周长

Algorithm 获取二维点集的周长,algorithm,computational-geometry,convex-hull,Algorithm,Computational Geometry,Convex Hull,我有一组二维的点(x和y的坐标),现在我需要放弃所有对我来说没有意义的点,我的意思是我只对这些点跟踪的区域感兴趣 简言之,这 它应该生产这个 问题:什么算法可以对这些点进行这种过滤?我相信您正在寻找一种算法。我个人使用算法来实现凸包,因为它具有非常好的复杂性O(n*log(n)),并且相对容易实现。您可以使用它来计算给定点的凸包。一旦拥有凸面外壳上的所有点,就可以消除其他点 也有用于计算凸包的方法,但Graham扫描很容易实现,并且是O(n logn)。可能,它看起来不错,但在那里我看不到真

我有一组二维的点(x和y的坐标),现在我需要放弃所有对我来说没有意义的点,我的意思是我只对这些点跟踪的区域感兴趣

简言之,这

它应该生产这个


问题:什么算法可以对这些点进行这种过滤?

我相信您正在寻找一种算法。我个人使用算法来实现凸包,因为它具有非常好的复杂性
O(n*log(n))
,并且相对容易实现。

您可以使用它来计算给定点的凸包。一旦拥有凸面外壳上的所有点,就可以消除其他点


也有用于计算凸包的方法,但Graham扫描很容易实现,并且是O(n logn)。

可能,它看起来不错,但在那里我看不到真正的算法。@pgf对此表示抱歉。为凸包添加了一个好的算法链接。只需注意,/convertic/hull返回凸包:在您的示例中,您可能会缺少底部的点,该点不是凸包的一部分(因此,您将获得的形状是凸包的,任何使此形状非凸包的点都不会返回)为了跟进WhitAngl的评论,您还可以查看alpha外壳(也称为alpha形状),以获得接近但不完全属于凸面外壳的点。