如何将四个点连接到凸多边形?我的意思是如何识别这四点的顺序。
感谢。
钟
答案 0 :(得分:3)
取中心点(即x和y坐标的平均值),然后计算y<centery
的x / y值,然后计算y>=centery
的x / y值。我猜是最快的。
(也就是说,如果我首先理解这个问题......)
答案 1 :(得分:2)
垂直排序,彼此最上面连接2个,彼此最低连接2个 水平排序,然后将最左边的2彼此连接,最右边的两个彼此连接。
编辑:无论如何,右边那些很酷的相关部分表明答案是重复的: Sort Four Points in Clockwise Order
答案 2 :(得分:1)
atan2()方法非常方便,可以在大多数语言中找到。
atan2(y,x)
并将直角坐标(x,y)
转换为极坐标theta
的角度(r,theta)
。
给出4分,找到他们的平均值。然后计算通过从四个点中的每一个中减去平均值而获得的四个(x,y)向量。
对于这些(x,y)向量中的每一个,计算角度θ= atan2(y,x)。 θ将介于-π/ 2和π/ 2之间。
对θ进行排序。这将按顺时针顺序为您提供点的顺序。
这仅适用于凸四边形。