I'm using the surfnorm function in Matlab 2012b. Sometimes the normal vectors along one edge of the surface are reversed, but I can't figure out why it is reversing only the vectors at the edge.
Below is a sample code with a 3×3 surface patch that results in the reversed vectors along one edge. Is there an error in surfnorm? Can I predict when this will happen so I can fix it with subsequent code?
x = [ -3.2851 -3.2718 -3.1598; -3.2851 -3.2718 -3.1598; -3.2851 -3.2718 -3.1598];
y = [ 169.1481 169.1148 168.8310; 169.1481 169.1148 168.8310; 169.1481 169.1148 168.8310];
z = [ -1 -1 -1; 0 0 0; 1 1 1];
figure(1)
surfnorm(x,y,z)
Best Answer