Angle between a plane and horizontal

7 views (last 30 days)
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

Accepted Answer

Honglei Chen
Honglei Chen on 9 Aug 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 Comment
bes
bes on 9 Aug 2012
Thanks. Ya . i have corrected as angle = acosd((cosang / norm(n1)*norm(n2)));

Sign in to comment.

More Answers (0)

Categories

Find more on Special Functions in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!