我有以下问题: 我有一个多边形点的所有x,y坐标列表。 我现在需要以这样的方式对它们进行排序,以便获得a中的点数 顺时针顺序。
目前我有6个坐标来绘制多边形,但它不是有序的。
有谁知道如何实现这一目标?
Input coordinates : Coordinate: 506.6609866568262, 673.970398950142 Coordinate: 505.34898334317376, 682.8179210498581 Coordinate: 502.0723751660178, 680.523615304454 Coordinate: 534.3026433431738, 682.736131049858 Coordinate: 535.6146466568263, 673.8886089501419 Coordinate: 538.8912548339822, 676.1829146955461 Output coordinates : Coordinate: 506.6609866568262, 673.970398950142 Coordinate: 502.0723751660178, 680.523615304454 Coordinate: 505.34898334317376, 682.8179210498581 Coordinate: 534.3026433431738, 682.736131049858 Coordinate: 538.8912548339822, 676.1829146955461 Coordinate: 535.6146466568263, 673.8886089501419
提前致谢,
答案 0 :(得分:3)
使用极坐标:
atan2(x-c, y-d)
以获得该内部点的极角;然后如果多边形是凸的,那么平均x的最大值和最小值以及y的平均值应该得到一个内部点。否则,你还有更多工作要做。