0
を維持し、中心点の周りの点のリストを維持しますこの頂点の周り(リスト内の最初のポイントは関係ありません)。点が同一直線上にある場合、これに近い点が最初になるはずです。私はいくつかの方法を試しましたが、これまでのところ、与えられた方法ではうまくいかない反例を見つけることができました。は、私は以下のクラスを持っているCCW順
これを簡単かつ効率的に行う方法を知っている人はいますか?
を維持し、中心点の周りの点のリストを維持しますこの頂点の周り(リスト内の最初のポイントは関係ありません)。点が同一直線上にある場合、これに近い点が最初になるはずです。私はいくつかの方法を試しましたが、これまでのところ、与えられた方法ではうまくいかない反例を見つけることができました。は、私は以下のクラスを持っているCCW順
これを簡単かつ効率的に行う方法を知っている人はいますか?
ポイントは極形式
t = atan2(Y-Yo, X-Xo)
r = sqrt((X-Xo)^2 + (Y-Yo)^2)
、次に半径を角度に辞書式順序を使用座標エクスプレス。
また、私たちは距離を比較しているだけなので、sqrtを実行することなく離れることができます。 – ryanm
ありがとう!これは明らかに行く方法です。 – smessing