在给定每条边的边坐标的情况下,找到多边形顶点的顺时针或逆时针排序

时间:2017-06-20 16:40:43

标签: 2d polygon

给定多边形的边(例如:边1(x1,y1),(x2,y2))找到多边形顶点的顺时针或逆时针排序

1 个答案:

答案 0 :(得分:0)

通过计算所有点上的平均坐标来查找多边形的中心=> (xc, yc)。然后根据它们围绕此点的旋转角度对点进行排序。

对于两个向量,排序的比较操作可以是 2D交叉产品(a, b) ^ (c, d) = a * d - b * c;如果这是肯定的,则(c, d)相对于(a, b)顺时针顺时针旋转,反之亦然。

在代码中,比较两个点的操作是(x1 - xc, y1 - yc) ^ (x2 - xc, y2 - yc) > 0。如果是这样,则(x2, y2)位于(x1, y1)的“右侧”,反之亦然。