• ベストアンサー

2つのベクトルが成す角

前回も同じような質問をしたのですが、今回もお願いします。 前回お答えいただいたお二方、本当にありがとうございました。 おかげで研究も進みました。 さて、今回ですが、タイトルのとおり、2つのベクトルが成す角についてです。 原点を始点とする2つのベクトルがあります。 仮に2つのベクトルの終点をA(ax,ay),B(bx,by)とした場合、 この2つのベクトルが成す角θを求めたいのです。 ものすごく基本的なことだったと思うのですが、すっかり忘れてしまいました。 よろしくお願いします。 確かに急いでいるのですが、明日はいないので、できれば、明後日までに回答がもらえるとうれしいです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

2つのベクトルをA=(a,b),B=(c,d)とおく(矢印は省く)。 成す角をθ(0°≦θ≦180°)とし、内積を考える。 内積を成分であらわすとA・B=ac+bd 一方、角を用いてあらわすと、ベクトルの大きさを|A|、|B|で あらわす事にすれば、 A・B=|A|*|B|*cosθ よって上の二つの式から cosθ=(ac+bd)/(|A|*|B|) |A|=√(a^2+b^2)、|B|=√(c^2+d^2)を使って、右辺の数値を計算して cosθを求め、この数値をArccosに代入すれば、成す角が求まると思います。

masya777
質問者

お礼

回答、ありがとうございます。 まさに、僕の求めていたものそのものでした。 これで、研究も進むと思います。 これからもよろしくお願いします。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • eatern27
  • ベストアンサー率55% (635/1135)
回答No.2

>仮に2つのベクトルの終点をA(ax,ay),B(bx,by) p、qはベクトルです。(→は省略) p=(ax,ay),q=(bx,by)とすると、 cosΘ=(p・q)/|p||q|=(ax*bx+ay*by)/{√(ax^2+ay^2)√(bx^2+by^2)} ここから、出ます。 例えば、0=<Θ=<πのときに、 (ax*bx+ay*by)/{√(ax^2+ay^2)√(bx^2+by^2)}=1/2であればΘ=π/3 -√3/2であれば、5/6π という感じで出して下さい。

masya777
質問者

お礼

回答、ありがとうございます。 計算の具体例を出していただき感謝しています。 正直言って、どの回答にも20pt付けたいのですが、 一つづつということで、10ptにさせていただきました。 30度とか、60度とか、120度だけを扱うのではなく、1度単位で計算するため。 僕の説明が悪かったのかもしれませんが、御許しください。 これからもよろしくお願いします。

すると、全ての回答が全文表示されます。
  • aodesu
  • ベストアンサー率14% (6/42)
回答No.1

内積や外積の式を使って求めてみてはいかが?

masya777
質問者

お礼

すぐに回答していただきありがとうございました。 今回は、あとに回答していただいた二人が、求め方まで書いていただいたので、 良回答は2人までということで、ポイントを発行できませんでした。 これからも、よろしくお願いします。

すると、全ての回答が全文表示されます。

関連するQ&A