An affine transform is a generalization of a rigid transform, in
which the rotational component is replaced by a general
matrix
. This means that an affine transform implements a
generalized basis transformation combined with an offset of the origin
(Figure A.7). As with
for rigid transforms, the
columns of
still describe the transformed basis vectors
,
, and
, but these are generally no longer orthonormal.
Expressed in terms of homogeneous coordinates,
the affine transform takes the form
![]() |
(A.18) |
with
![]() |
(A.19) |
As with rigid transforms, when an affine transform is applied to a
vector instead of a point, only the matrix is applied and the
translation component
is ignored.
Affine transforms are typically used to effect transformations that
require stretching and shearing of a coordinate frame. By the polar
decomposition theorem, can be factored into a regular
rotation
plus a symmetric shearing/scaling matrix
:
![]() |
(A.20) |
Affine transforms can also be used to perform reflections, in which
is orthogonal (so that
) but with
.