Azzera filtri
Azzera filtri

Angle between a plane and horizontal

9 visualizzazioni (ultimi 30 giorni)
bes
bes il 9 Ago 2012
I need to find the angle between a set of planes ax+by+cz+d = 0 and horizontal plane (x-y plane).
For example my first plane equation is x - 4y +3z +1 = 0 so i wrote the following code
n1 = [1 -4 3]; % Normal vector to plane
n2= [0 0 1]; % normal vector to x-y plane
cosang = dot(n1,n2); % actually n1.n2 = |n1||n2|cosang
n1crossn2 = cross(n1,n2);
sinang = norm(n1crossn2); % actually n1*n2 = |n1||n2|sinang n
angle = atand(sinang, cosang);
it gives an answer 53.96
I thought the angle between plane and horizontal is same as the angle between normal to both plane. Is it true? I don't know how to verify this? Also how can i check the sign of the angle(possitive or negative)?
Is there any other way to get the angle between given plane and horizontal plane? Note: I don't know the coordinates of any plane lying on that plane. I only know the plane equation

Risposta accettata

Honglei Chen
Honglei Chen il 9 Ago 2012
The angle between the two planes are the angle between the two normal vectors, so your approach is correct. I'm not sure why you need to do atand though. I think once you do the dot product, you can use acosd directily
  1 Commento
bes
bes il 9 Ago 2012
Thanks. Ya . i have corrected as angle = acosd((cosang / norm(n1)*norm(n2)));

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Cartesian Coordinate System Conversion in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by