当候选点在凸包上时,是否有一种特殊的算法来计算凸包排序?

计算科学 算法 参考请求 计算几何
2021-12-23 01:45:47

我正在处理一组已经放置在 2D 船体边界上的点:一个凸多边形。我肯定知道这一点。但是,点集没有排序,我需要逆时针排序多边形点。

我知道书籍/文献中用于生成凸包的所有 2D 算法,但我对这种特殊情况是否有更快、更专业的算法感兴趣?

2个回答

以所有点的平均值为原点并转换为极坐标。这给出了所需的排序O(nlogn)操作。

由于点是 2D 的,因此您可以使用Graham's Scan对点进行排序,而不是排序算法。这也会给你一个Θ(nlog(n))复杂性,无需任何转换。