Filter löschen
Filter löschen

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

11 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

Community Treasure Hunt

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

Start Hunting!

Translated by