Rotation, translation, reflection, dilation are all possible to represent with
the form q_i = sum_j a_ij p_i + b_i
, a representation of
transformations that also compose with each other to give more affine
transformations.
If a_ij
are 0 when i /= j
and 1 when i =
j
, and b_i
are zero, then the transformation does nothing.
This is the identity transformation.
If all a_ij
are the same as the identity transformation, then the
transformation is a translation, and translations compose by adding
b_i
pointwise. We can therefore also represent translations as a
single coordinate list, similar to how we represent points. This is a vector, a
coordinate list equipped with the rules of composition (and identity and
inversion) that come from the affine transformations they were derived from.
We can also find the difference between the coordinates of two points, to find
the vector that represents the unique translation that maps one of these points
to the other. In the case where b_i
are zero, the transformation
can also be applied to the coordinates of the vector directly, and the result
will be the same as applying the transformation to both points, and taking the
difference. This is part of the motivation for defining another class of affine
transformation, the linear transformations.
These two cases, translations and linear transformations, can be composed together to make any affine transformation. Further, composing an affine transformation with a translation is simplest to calculate when the transformation is decomposed in this way.
In addition to all of this, linear transformations can be understood as a set
of coordinate lists, representing the images of each of [1,0,...,0],
[0,1,0,...,0],...,[0,...,0,1]
, respectively. Represented in a row, of
course, gives the matrix representation of a linear transformation.