【发布时间】:2013-09-17 08:20:28
【问题描述】:
我有一堆 2D 点,我想计算包含所有点的多边形的周长。
这个数学过程有名字吗,我可以用谷歌搜索一下吗?或者有人可以告诉我如何开始思考这个问题吗?
【问题讨论】:
我有一堆 2D 点,我想计算包含所有点的多边形的周长。
这个数学过程有名字吗,我可以用谷歌搜索一下吗?或者有人可以告诉我如何开始思考这个问题吗?
【问题讨论】:
您可能正在寻找convex hull 和convex hull algorithms。
最简单的二维算法之一是Gift wrapping algorithm。引用维基百科:
它的时间复杂度为O(nh),其中n是点数,h是凸面上的点数船体。当 n 很小或 h 相对于 n 预计非常小时,它的实际性能与其他凸包算法相比是有利的.在一般情况下,该算法的性能优于许多其他算法。
因此,根据问题的大小,您可能需要查看上面链接的算法页面,以找到更高级的方法。
【讨论】:
一个定义良好的此类多边形是convex hull。有几个好好研究的algorithms for finding convex hulls。
【讨论】: