• 締切済み

角度の求め方

原点P(0.0,0.0)を中心とする円上の2点 A(X1,Y1)、B(X2,Y2)が分かっています。 角度APBの求め方を教えて下さい。 ベクトルPAとPBの内積から求める方法だと 180度以内しか求められません。 例えばA(1.0,0.0)、B(0.0,-1.0)の場合、 90度ではなく270度が求めたい値です。 恐らく点Aと点Bの位置によって場合わけを しなければいけないと思うのですが そのわけ方が分かりません。 もちろん、内積以外で求める方法があれば それを教えて頂きたく思います。 宜しくお願いします。

みんなの回答

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

円の中心と円上の点でX座標方向を基準とすると、 反時計回りにそれぞれの角度が求まります。 後のものから前のものを引いて結果がマイナスになれば360度を足してやればいいような気がします。

  • F_P_E
  • ベストアンサー率43% (26/60)
回答No.2

はじめまして。 >ベクトルPAとPBの内積から求める方法だと180度以内しか求められません。 とありませんが、それで十分ではないでしょうか。 >例えばA(1.0,0.0)、B(0.0,-1.0)の場合、90度ではなく270度が求めたい値です。 とありますが、”求めたい値”の基準はあなた自身の主観によってしまっています。 角APBはどこを指すのか。これが問題です。 あなたの出された例題の答えとしては、90°も270°も答えとなり得ます。ですから、もし試験なんかでその例題のような問題が出た場合、必ず”θ<180°で答えよ”という制限がつくはずです。 ですから、特に点Aと点Bの位置による場合分けは必要ないと考えます。

  • kumoringo
  • ベストアンサー率31% (13/41)
回答No.1

二次元ベクトルの外積の符号で分かります。 X1*Y2-X2*Y1 が正ならば0度と180度の間、負ならば180度と360度の間です。

関連するQ&A