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

2 vues (au cours des 30 derniers jours)
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

Réponse acceptée

Matt J
Matt J le 1 Août 2024
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 commentaires
Matt J
Matt J le 1 Août 2024
Modifié(e) : Matt J le 1 Août 2024
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'

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by