3D system definition: How btaining the angle between a single axis and a plane

2 ビュー (過去 30 日間)
Hello, I am having trouble obtaining the angle between a vector and a plane which are defined by two different rotation matrix.
I have two objects, A and B, which are defined by rotation matrices R (Rotation matrix from global origin to A) and R' (Rotation matrix from global origin to B).
R = [a b c; d e f; g h i]
R'= [a' b' c'; d' e' f'; g' h' i']
I want to obtain the rotation in degrees between the axis X from object A to the plane XZ (and eventually XY) from object B.
Thank you in advance.
Alonso

採用された回答

Matt J
Matt J 2024 年 8 月 1 日
and eventually XY
That would just be the angle between Yprime and Z, wouldn't it?
Yprime=Rprime(:,2);
Z=R(:,3);
angle = acosd( dot(Yprime,Z)/norm(Yprime)/norm(Z) )
  3 件のコメント
Matt J
Matt J 2024 年 8 月 1 日
編集済み: Matt J 2024 年 8 月 1 日
Same sort of thing...
X=R(:,1);
Yprime=Rprime(:,2);
Zprime=Rprime(:,3);
angle1 = 90-acosd( dot(Yprime,X)/norm(Yprime)/norm(X) ) %Angle with plane X'Z'
angle2 = 90-acosd( dot(Zprime,X)/norm(Zprime)/norm(X) ) %Angle with plane X'Y'

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeAssembly についてさらに検索

製品


リリース

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by