# calculate the normal of a 3D plane

1 view (last 30 days)
Alberto Acri on 16 May 2024
Edited: Torsten on 16 May 2024
Hi! I have a circular plane, whose coordinates of the points of the circumference are:
P = importdata("node_plane.mat");
plot3(P(:,1),P(:,2),P(:,3))
I would like to know if it is correct to calculate the normal of this plane in the following way:
N = cross(P(1,:) - P(2,:), P(3,:) - P(2,:));
N = N/norm(N);

Torsten on 16 May 2024
Moved: Torsten on 16 May 2024
I would like to know if it is correct to calculate the normal of this plane in the following way:
N = cross(P(1,:) - P(2,:), P(3,:) - P(2,:));
N = N/norm(N);
If you are sure that all points lie in exactly one plane: yes, you can choose any three points and do as you did above.
If you first need to fit a plane to your data points: no.
Alberto Acri on 16 May 2024
Okay, I am not very familiar with it. So the best normal that can be determined with the 'node_plane' points is the one indicated in your code with N? Correct?
Torsten on 16 May 2024
Edited: Torsten on 16 May 2024
Yes, N is the normal and C is the centroid of your points, and the best-fit plane is N'*(x-C)' = 0.

R2021b

### Community Treasure Hunt

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

Start Hunting!