Angles between 3 vector in 3d
16 ビュー (過去 30 日間)
古いコメントを表示
Hi I am trying to find angle between 3 vectors;
Terminal vector:-0.063695 -0.588189 2.333766
1. vector: 0.008239 -0.640457 2.295980 2.vector: -0.024011 -0.216596 2.461521
Could anyone help me?
Thanks in advance
0 件のコメント
採用された回答
Mischa Kim
2014 年 2 月 5 日
You can make use of the dot product (between vectors):
vec1 = [-0.063695 -0.588189 2.333766];
vec2 = [0.008239 -0.640457 2.295980];
angle_12 = acos(dot(vec1,vec2)/(norm(vec1)*norm(vec2)))
and similar for the other pairs of vectors.
3 件のコメント
Mischa Kim
2014 年 2 月 5 日
I see...
vec = [-0.063695 -0.588189 2.333766];
vec1 = [0.008239 -0.640457 2.295980];
vec2 = [-0.024011 -0.216596 2.461521];
dv1 = vec1 - vec;
dv2 = vec2 - vec;
angle_12 = acos(dot(dv1,dv2)/(norm(dv1)*norm(dv2)))
その他の回答 (1 件)
Roger Stafford
2014 年 2 月 5 日
The 'atan2' function is more accurate than 'acos' for vectors that are nearly parallel. For two 3D vectors v1 and v2, do this:
ang = atan2(norm(cross(v1,v2)),dot(v1,v2));
This angle will be in radians.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Develop Apps Using App Designer についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!