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

14 Ansichten (letzte 30 Tage)
Mel A
Mel A am 24 Jul. 2023
Bearbeitet: Matt J am 24 Jul. 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 Kommentare
Bruno Luong
Bruno Luong am 24 Jul. 2023
Bearbeitet: Bruno Luong am 24 Jul. 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 am 24 Jul. 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

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Bruno Luong
Bruno Luong am 24 Jul. 2023
Bearbeitet: Bruno Luong am 24 Jul. 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 am 24 Jul. 2023
Bearbeitet: Matt J am 24 Jul. 2023
P1=[12,14,78];
Angles = 90 - acosd(normalize(flip(P1),'n'))
Angles = 1×3
76.6995 10.0596 8.6107

Kategorien

Mehr zu Images finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by