Effacer les filtres
Effacer les filtres

Angle between a vector and xy, xz, and yz planes

11 vues (au cours des 30 derniers jours)
Mel A
Mel A le 24 Juil 2023
Modifié(e) : Matt J le 24 Juil 2023
Hi
I have a vector defined by P1. [12,14,78]
How can I caculate the angle this forms with the xy, xz an yz planes pls.
I can do with atan(x/y) etc, but this is problematic when the angle is over 90 or 180.
What would be the best approach pls
  4 commentaires
Bruno Luong
Bruno Luong le 24 Juil 2023
Modifié(e) : Bruno Luong le 24 Juil 2023
From your graph it looks to me the angles are between vector P and basis vectors and not the planes
Mel A
Mel A le 24 Juil 2023
Yes, you are right. Angle with the base vector on xy( or other) plane. How could I calculate it allowing for more than 90 deg angles Pls. Thanks a lot

Connectez-vous pour commenter.

Réponses (2)

Bruno Luong
Bruno Luong le 24 Juil 2023
Modifié(e) : Bruno Luong le 24 Juil 2023
P1=[12,14,78]
P1 = 1×3
12 14 78
xyzc=num2cell(eye(3),1)
xyzc = 1×3 cell array
{3×1 double} {3×1 double} {3×1 double}
[x,y,z]=deal(xyzc{:});
rad2deg(subspace(P1(:),[x y]))
ans = 76.6995
rad2deg(subspace(P1(:),[x z]))
ans = 10.0596
rad2deg(subspace(P1(:),[y z]))
ans = 8.6107

Matt J
Matt J le 24 Juil 2023
Modifié(e) : Matt J le 24 Juil 2023
P1=[12,14,78];
Angles = 90 - acosd(normalize(flip(P1),'n'))
Angles = 1×3
76.6995 10.0596 8.6107

Community Treasure Hunt

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

Start Hunting!

Translated by