これは本当にシンプルなはずですが、問題があります。基本的には、3つのポイントが変化し続けています(p1、p2、p3と呼ぶことができます)。また、p2を頂点として定義しましょう。3つの座標点を与えられたとき、それらの間の角度が180度に交差するときをどのように検出しますか?
私がする必要があるのは、3点の間の角度を計算することです。良い例は、3つの角度が179度の角度を形成する場合、ポイントは181度の角度を形成するように変化する。だから私が本当に必要とするのは、角度が180度より大きいかどうかを判断するための良い方法です。私はコサインの法則を使ってみましたが、ポイントが181度の角度を形成するとき、それは単にそれを異なる方向の179度の角度として解釈するので、私は良い答えを与えませんでした。また、Pythonでこれをやっています。ありがとう!
のドットとクロス積では、atan2関数を使用していますか?すべての角度はccwで測定されますか? –
この場合、最初のセグメントの時計回りまたは反時計回りの角度が正しいことを知っている必要がありますか?それ以外の場合、181を179と解釈することは絶対に正しいです。 –
すべての角度は一貫して測定されます。反時計回りか時計回りかは問われません。角度が180度の境界を横切るときは重要です。 – user3047641