Angle between two vectors in 3d
    102 ビュー (過去 30 日間)
  
       古いコメントを表示
    
Hello,
I have two vectors in 3d and i want to find the angle between those two vectors.
Thanks in advance
0 件のコメント
採用された回答
  Jan
      
      
 2011 年 9 月 20 日
        Or:
angle = atan2(norm(cross(a,b)), dot(a,b))
See this compact discussion about this topic: CSSM: Angle between two vectors . Only 71 replies (Google finds 89 replies, so I assume 18 spam messages?) and 68300 views currently...
[EDITED]: W. Kahan suggested in his paper "Mindeless.pdf":
2 * atan(norm(x*norm(y) - norm(x)*y) / norm(x * norm(y) + norm(x) * y))
9 件のコメント
  Dyuman Joshi
      
      
 2023 年 2 月 1 日
				@Jan the CSSM thread you linked does not exist anymore.
Do you happen to have an archived link for that thread?
I am unable to find the thread by simply searching the title, on the Google Groups (CSSM archive) 
  Bruno Luong
      
      
 2023 年 2 月 1 日
				@Dyuman Joshi I guess this is the thread https://groups.google.com/g/comp.soft-sys.matlab/c/zNbUui3bjcA/m/c0HV_bHSx9cJ
その他の回答 (3 件)
  Lucas García
    
 2011 年 9 月 20 日
        You can use the subspace function to find the angle between two subspaces:
>> subspace([1;0;0],[0;1;0])
ans =
    1.5708
1 件のコメント
  Yadu Bhusal
 2021 年 8 月 5 日
				I have 3 points in a line( suppose) and one calculations point separately. A(1,1,1)B(2,2,2)C(3 3 3) in a line and P( 5 5 5) as separate. I want to calculate angle A which is subtended by distance AP. And similar for BP,CP. Is it possible to find angles or make program to calculate these angles at once?
  David Young
      
 2011 年 9 月 20 日
        acos(dot(v1, v2) / (norm(v1) * norm(v2)))
EDIT: Having seen Jan Simon's reply, and the long thread at CSSM that he refers to, I realise that the formula I proposed is not a particularly good one. The two methods in Jan's reply are both likely to be preferable.
2 件のコメント
  Jan
      
      
 2011 年 9 月 20 日
				Mathematically identical, but numerically more stable, when the vectors have very different lengths:
acos(dot(v1 / norm(v1), v2 / norm(v2)))
  rashi
 2018 年 6 月 15 日
        hi I want to find the angle in azimuth and elevation plane between wo vectors in 3d. please help
0 件のコメント
参考
カテゴリ
				Help Center および File Exchange で Operators and Elementary Operations についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!