获得2D点集的周长

时间:2013-03-31 07:25:45

标签: algorithm computational-geometry convex-hull

我在2D中有一组点(x和y的坐标),现在我需要丢弃对我没有意义的所有点,我的意思是我只对该区域感兴趣这点是追查。

简而言之,

enter image description here

它应该产生这个

enter image description here

问题:在这一点上,哪种算法可以做这种过滤?

2 个答案:

答案 0 :(得分:6)

您可以使用Graham Scan计算给定点的凸壳。一旦你掌握了凸包上的所有点,就可以消除其他点。

计算凸包时也有other algorithms,但格雷厄姆扫描很容易实现,并且是O(n logn)。

答案 1 :(得分:3)

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