- 締切済み
角度の求め方
原点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の位置によって場合わけを しなければいけないと思うのですが そのわけ方が分かりません。 もちろん、内積以外で求める方法があれば それを教えて頂きたく思います。 宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
円の中心と円上の点でX座標方向を基準とすると、 反時計回りにそれぞれの角度が求まります。 後のものから前のものを引いて結果がマイナスになれば360度を足してやればいいような気がします。
- F_P_E
- ベストアンサー率43% (26/60)
はじめまして。 >ベクトル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)
二次元ベクトルの外積の符号で分かります。 X1*Y2-X2*Y1 が正ならば0度と180度の間、負ならば180度と360度の間です。