double Normalize(double val, double valmin, double valmax, double min, double max)
{
return (((val - valmin) / (valmax - valmin)) * (max - min)) + min;
}
To divide each of the components of a normal by the square root of the sum of their squares. Then, if the normal is thought of as a vector from the origin to the point (nx', ny', nx'), this vector has unit length:
nx' = nx/factor
ny' = ny/factor
nz' = nz/factor