2012-02-17 30 views
0

を維持し、中心点の周りの点のリストを維持しますこの頂点の周り(リスト内の最初のポイントは関係ありません)。点が同一直線上にある場合、これに近い点が最初になるはずです。私はいくつかの方法を試しましたが、これまでのところ、与えられた方法ではうまくいかない反例を見つけることができました。は、私は以下のクラスを持っているCCW順

これを簡単かつ効率的に行う方法を知っている人はいますか?

答えて

3

ポイントは極形式

t = atan2(Y-Yo, X-Xo) 
r = sqrt((X-Xo)^2 + (Y-Yo)^2) 

、次に半径を角度に辞書式順序を使用座標エクスプレス。

+0

また、私たちは距離を比較しているだけなので、sqrtを実行することなく離れることができます。 – ryanm

+0

ありがとう!これは明らかに行く方法です。 – smessing

関連する問題