 <p>I think the confusion comes from the idea of normalizing "a value" as opposed to "a vector"; if you just think of a single number as a value, normalization doesn't make any sense. Normalization is only useful when applied to a vector.</p> <p>A vector is a sequence of numbers; in 3D graphics it is usually a coordinate expressed as <code>v = &lt;x,y,z&gt;</code>.</p> <p>Every vector has a <em>magnitude</em> or <em>length</em>, which can be found using Pythagora's theorem: <code>|v| = sqrt(x^2 + y^2 + z^2)</code> This is basically the length of a line from the origin <code>&lt;0,0,0&gt;</code> to the point expressed by the vector.</p> <p>A vector is <em>normal</em> if its length is 1. That's it!</p> <p>To normalize a vector means to change it so that it points in the same direction (think of that line from the origin) but its length is one.</p> <p>The main reason we use normal vectors is to represent a direction; for example, if you are modeling a light source that is an infinite distance away, you can't give precise coordinates for it. But you can indicate where to find it from a particular point by using a normal vector.</p>