我正在处理一组已经放置在 2D 船体边界上的点:一个凸多边形。我肯定知道这一点。但是,点集没有排序,我需要逆时针排序多边形点。
我知道书籍/文献中用于生成凸包的所有 2D 算法,但我对这种特殊情况是否有更快、更专业的算法感兴趣?
我正在处理一组已经放置在 2D 船体边界上的点:一个凸多边形。我肯定知道这一点。但是,点集没有排序,我需要逆时针排序多边形点。
我知道书籍/文献中用于生成凸包的所有 2D 算法,但我对这种特殊情况是否有更快、更专业的算法感兴趣?
以所有点的平均值为原点并转换为极坐标。这给出了所需的排序操作。
由于点是 2D 的,因此您可以使用Graham's Scan对点进行排序,而不是排序算法。这也会给你一个复杂性,无需任何转换。