1
$\begingroup$

First, this is not a duplicate of questions asking what are normals or why do we use them. I understand that they indicate the angle a surface or point is "facing" and we use this for shading and calculation of reflectivity. What I do not understand is why both sides of a surface have normals and why flipping them around can make a difference on the object.

If normals are perpendicular to a surface (or a vertex, though I'm not entirely certain how that could be calculated even when the point is on its own), by rights, wouldn't the other side be going the same direction except backwards? You could have just one normal piercing through the object to function as two.

$\endgroup$
2
$\begingroup$

As you pointed out, a normal vector is a vector perpendicular to a surface. Because a surface (more specifically, a point in a surface) is considered to be 2D, there will allways be two vectors that are perpendicular to it (actually more than two, but we are only accounting unit vectors and from these there are only two). You can consider one of them to be positive and the other to be negative; being the positive the one to point outwards, and the negative to point inwards. Vertices alone, by definition, don't have normals. Their normal vectors are an interpolation of the normals of the faces the vertex is connected to. Even so, Blender uses loop normals, which means a vertex has one normal vector for each loop it belongs to.

Now the inner works is quite simple, and your answer to the thread question is here: A normal vector of a triangle is calculated by normalizing the cross product of two edges from the triangle. If you understand a bit of math, you'd know the result is a vector perpendicular to those edges, and therefore perpendicular to the whole triangle. If you change the order of those edges in the cross product, you'll get the negative 'version' of the normal (using the right hand rule). This is done so, by carefully setting the order the triangle vertices are stored and used.

Now, the main reason a flipped normal will look different from the others, has to do with Normal-Light calculations. These are dependent of the dot product, and it becomes negative if the angle between the light source and the normal is greater than PI/2.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.