Scaling

Scale transformations can be used, for example, to multiply each component of a vector by a scale factor. Scale transformations use the following matrix positions:

The following global function is provided in the API to create a scale matrix given a Point3 with the individual scale factors (the scale factors are in the x, y, z data members of the Point3):

Matrix3 ScaleMatrix(const Point3& s);

Builds a new matrix for use as a scale transformation.

The following method of the Matrix3 class nulls out the scale values in a matrix:

void Matrix3::NoScale();

This method nulls the scale portion of the matrix.