Game Development Reference
In-Depth Information
is a linear transformation followed by a translation. Obviously, we can
always “undo” the translation portion by simply translating by the opposite
amount. So the question becomes whether the linear transformation is
invertible.
Intuitively, we know that all of the transformations other than projec-
tion can be “undone.” If we rotate, scale, reflect, or skew, we can always
“unrotate,” “unscale,” “unreflect,” or “unskew.” But when an object is
projected, we effectively discard one or more dimensions' worth of informa-
tion, and this information cannot be recovered. Thus, all of the primitive
transformations other than projection are invertible.
Since any linear transformation can be expressed as multiplication by a
matrix, finding the inverse of a linear transformation is equivalent to finding
the inverse of a matrix. We discuss how to do this in Section 6.2. If the
matrix has no inverse, we say that it is singular, and the transformation is
noninvertible. The determinant of an invertible matrix is nonzero.
In a nonsingular matrix, the zero vector is the only input vector that
is mapped to the zero vector in the output space; all other vectors are
mapped to some other nonzero vector. In a singular matrix, however, there
exists an entire subspace of the input vectors, known as the null space of
the matrix, that is mapped to the zero vector. For example, consider a
matrix that projects orthographically onto a plane containing the origin.
The null space of this matrix consists of the line of vectors perpendicular
to the plane, since they are all mapped to the origin.
When a square matrix is singular, its basis vectors are not linearly in-
dependent (see Section 3.3.3). If the basis vectors are linearly independent,
then they have full rank, and coordinates of any given vector in the span
are uniquely determined. If the vectors are linearly independent, then there
is a portion of the full n-dimensional space that is not in the span of the
basis. Consider two vectors a and b , which differ by a vector n that lies
in the null space of a matrix M , such that b = a + n . Due to the linear
nature of matrix multiplication, M maps a and b to the same output:
bM = ( a + n ) M
= aM + nM
(Matrix multiplication is linear and distributes)
= aM + 0
( n is in the null space of M )
= aM .
5.7.4
Angle-Preserving Transformations
A transformation is angle-preserving if the angle between two vectors is not
altered in either magnitude or direction after transformation. Only transla-
tion, rotation, and uniform scale are angle-preserving transformations. An
Search WWH ::




Custom Search