2012-07-05 121 views
4

我有9個屏幕座標,每個座標代表9個位置之一。從右上角開始,我希望這個位置從第一個位置開始,順時針座標表示第二個,第三個,第四個等等,直到第9個,這個位置是左上角的座標。按照順時針順序排列座標

這裏的任何人能夠拿出某種數學手段來確定9個座標中的哪一個在哪個位置?他們都是彼此相對的,並且永遠是彼此相對的。

例座標可能是:

(x,y) 
X Y 
663 382 
543 454 
303 454 
183 382 
418 459 
543 209 
303 209 
653 259 
183 259 

繪製成圖像是這樣的: Representation of coordinates

會有人有什麼想法?我只是想某種形式的上市按順時針順序這些座標的編程方式...

回答

8

找到「圈子」,即,平均X和平均ÿ

移的X和Y值,所以中心都與新中心有關。

轉換爲極座標並按角度排序。

+0

圍繞質心的角度排序是一個不錯的主意,但是如果要求順序從「右上角」開始順時針旋轉,一些細節仍然存在在確定角度時需要制定出來。極座標在x軸方向從零增加到逆時針方向 – hardmath 2012-07-05 20:38:18

+0

說實話,它不需要從右上角開始,它只需要一致。所以,如果是第一次,左上角的點恰好是第一個位置,它總是需要是順時針循環的第一個位置。這是一個偏好,右上角是出發點,但從技術上講沒有必要。 – Tiago 2012-07-05 20:43:35

0

假設我正確理解你,我只想做一些像

在newPosition =(originalPosition +#轉)國防部8

如果我假設第一個位置爲0,並且您可以只能讓事物以整數增量順時針跳轉(因此爲旋轉次數)