如何将四个点链接到凸多边形

时间:2010-08-06 23:48:02

标签: algorithm

如何将四个点连接到凸多边形?我的意思是如何识别这四点的顺序。

感谢。

3 个答案:

答案 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之间。

对θ进行排序。这将按顺时针顺序为您提供点的顺序。

这仅适用于凸四边形。