- ベストアンサー
内積の定義を用いた三角形の角度の求め方について
http://www.sousakuba.com/Programming/gs_two_vector_angle.html 上記のページを参考に三角形の角度を求めるプログラムを作りたいのですが、 理解出来ないので質問させて頂きました。 Vector2には、xとyの座標位置がそれぞれ格納されているかと思いますが、 計算で使われている座標はベクトルAとベクトルBの2点の座標のみのように思うのですが、 なぜ、ベクトルAとベクトルBの交点の座標は使わずに三角形の角度が計算できるのでしょうか? ベクトルAとベクトルBの座標位置は(0,0)という単純な話なのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- 178-tall
- ベストアンサー率43% (762/1732)
回答No.3
>ベクトルAとベクトルBの座標位置は(0,0)という単純な話なのでしょうか? たぶん、そうです。 ベクトル A と B の始点座標は (0, 0) 、終点座標は (x1, y1) と (x2, y2) として、 A と B の内積 (定義?) は、 |A||B|*cosθ = √(x1^2+y1^2)√(x2^2+y2^2) cosθ ただし、θ= arctan(y1/x1) - arctan(y2/x2) 勘定してみると、 |A||B|*cosθ = x1x2 + y1y2 になる模様。
質問者
お礼
検証までして頂きありがとうございます!
- asuncion
- ベストアンサー率33% (2127/6290)
回答No.1
>ベクトルAとベクトルBの座標位置は(0,0)という単純な話なのでしょうか? 座標位置って何ですか?始点のことですか? さておき、両者の始点を(0, 0)にしたってしなくたって結果は同じです。 両者を平行移動しても両者の位置関係は同じですよね? だとすると、両者の始点を(0, 0)にしておく方が計算がずっと楽だってことです。
お礼
とても良くわかる解説ありがとうございます! とても参考になりました!