3 つの共平面 (2D) 点 (X1、Y1)、(X2、Y2)、および (X3、Y3) が与えられ、(それぞれ ...) 「1 = 私がいた場所、2 = 私がいる場所、および3=どこへ行くのかを教えてくれる単純なアルゴリズムが必要です。
- 右に曲がります
- 少し左折します
- 左に曲がります
言い換えれば、(a) は左または右へのターンです。(b) ターンの鋭さ (これについては恣意的にさせてください)。
最初の部分については、パスが左に曲がるか右に曲がるかに基づいて、外積を使用する方法 (ウィキペディア: Graham Scan と質問 #26315401 を参照) を既に学習しました。反時計回り。
そして、ATAN2() がターンの鋭さを決定する中核になると確信しています。
しかし、私は..まったく..すべての向きで機能する適切な数学に頭を悩ませることはできません。(特に、角度がゼロラインを横切る場合。(350 度から 10 度の方位は 20 度のギャップであり、340などではありません。)
さて、私は疲れています。[...今朝、頭を壁にぶつけた。] さて、質問する時が来ました... :-)