- Affine transformation
In
geometry , an affine transformation or affine map or an affinity (from the Latin, "affinis", "connected with") between twovector space s (strictly speaking, twoaffine space s) consists of alinear transformation followed by a translation::In the finite-dimensional case each affine transformation is given by a matrix A and a vector "b", satisfying certain properties described below.
Physically, an affine transformation is one that preserves
# Collinearity between points, i.e., three points which lie on a line continue to be collinear after the transformation
# Ratios of distances along a line, i.e., for distinct colinear points , , , the ratio is preservedIn general, an affine transform is composed of zero or more linear transformations (rotation, scaling or shear) and a translation (or "shift"). Several linear transformations can be combined into a single matrix, thus the general formula given above is still applicable.
Representation of affine transformations
Ordinary vector algebra uses matrix multiplication to represent linear transformations, and vector addition to represent translations. Using an
augmented matrix , it is possible to represent both usingmatrix multiplication . The technique requires that all vectors are augmented with a "1" at the end, and all matrices are augmented with an extra row of zeros at the bottom, an extra column — the translation vector — to the right, and a "1" in the lower right corner. If "A" is a matrix,:
is equivalent to the following
:
Ordinary matrix-vector multiplication always maps the origin to the origin, and could therefore never represent a translation, in which the origin must necessarily be mapped to some other point. By appending a "1" to every vector, one essentially considers the space to be mapped as a subset of a space with an additional dimension. In that space, the original space occupies the subset in which the final index is 1. Thus the origin of the original space can be found at (0,0, ... 0, 1). A translation within the original space by means of a linear transformation of the higher-dimensional space is then possible (specifically, a shear transformation). This is an example of
homogeneous coordinates .The advantage of using homogeneous coordinates is that one can combine any number of affine transformations into one by multiplying the matrices. This is used extensively by graphics software.
Properties of affine transformations
An affine transformation is
invertible if and only if "A" is invertible. In the matrix representation, the inverse is::
The invertible affine transformations form the
affine group , which has thegeneral linear group of degree "n" as subgroup and is itself a subgroup of the general linear group of degree "n" + 1.The similarity transformations form the subgroup where "A" is a scalar times an
orthogonal matrix . If and only if the determinant of "A" is 1 or –1 then the transformation preserves area; these also form a subgroup. Combining both conditions we have the isometries, the subgroup of both where "A" is an orthogonal matrix.Each of these groups has a subgroup of transformations which preserve orientation: those where the determinant of "A" is positive. In the last case this is in 3D the group of
rigid body motions (proper rotations and pure translations).For any matrix "A" the following propositions are equivalent:
*"A" – "I" is invertible
*"A" does "not" have an eigenvalue equal to 1
*for all "b" the transformation has exactly one fixed point
*there is a "b" for which the transformation has exactly one fixed point
*affine transformations with matrix "A" can be written as a linear transformation with some point as originIf there is a fixed point we can take that as the origin, and the affine transformation reduces to a linear transformation. This may make it easier to classify and understand the transformation. For example, describing a transformation as a rotation by a certain angle with respect to a certain axis is easier to get an idea of the overall behavior of the transformation than describing it as a combination of a translation and a rotation. However, this depends on application and context. Describing such a transformation for an "object" tends to make more sense in terms of rotation about an axis through the center of that object, combined with a translation, rather than by just a rotation with respect to some distant point. For example "move 200 m north and rotate 90° anti-clockwise", rather than the equivalent "with respect to the point 141 m to the northwest, rotate 90° anti-clockwise".
Affine transformations in 2D without fixed point (so where "A" has eigenvalue 1) are:
*pure translations
*scaling in a given direction, with respect to a line in another direction (not necessarily perpendicular), combined with translation that is not purely in the direction of scaling; thescale factor is the other eigenvalue; taking "scaling" in a generalized sense it includes the cases that the scale factor is zero (projection) and negative; the latter includes reflection, and combined with translation it includesglide reflection .
*shear combined with translation that is not purely in the direction of the shear (there is no other eigenvalue than 1; it has algebraic multiplicity 2, but geometric multiplicity 1)Affine transformations and linear transformations
In a geometric setting, affine transformations are precisely the functions that map straight lines to straight lines.
A linear transformation is a function that preserves all
linear combination s; an affine transformation is a function that preserves allaffine combination s. An affine combination is a linear combination in which the sum of the coefficients is 1.An affine subspace of a vector space (sometimes called a linear manifold) is a
coset of alinear subspace ; i.e., it is the result of adding a constant vector to every element of the linear subspace.A linear subspace of a vector space is a subset that is closed under linear combinations; an affine subspace is one that is closed under affine combinations.For example, in "R""3", the origin, lines and planes through the origin and the whole space are linear subspaces, while points, lines and planes in general as well as the whole space are the affine subspaces.
Just as members of a set of vectors are
linearly independent if none is a linear combination of the others, so also they are affinely independent if none is an affine combination of the others. The set of linear combinations of a set of vectors is their "linear span" and is always a linear subspace; the set of all affine combinations is their "affine span" and is always an affine subspace. For example, the affine span of a set of two points is the line that contains both; the affine span of a set of threenon-collinear points is the plane that contains all three. Vectors:v1, v2, ..., v"n"
are linearly dependent if there exists a vector a
:a = ["a"1, "a"2, … ,"a""n"] T
such that both:
:∃ "i" ∊ [1, …, "n"] : "a""i" ≠ 0
and
: [v1, v2, … , v"n"] × a = 0
are true.
Similarly they are affinely dependent if the same is true and also
:
Vector a is an affine dependence among the vectors v1, v2, …, v"n".
The set of all invertible affine transformations forms a group under the operation of composition of functions. That group is called the
affine group , and is thesemidirect product of "K""n" and GL("n", "k").Affine transformation of the plane
To visualise the general affine transformation of the
Euclidean plane , take labelledparallelogram s "ABCD" and "A′B′C′D′". Whatever the choices of points, there is an affine transformation "T" of the plane taking "A" to "A′", and each vertex similarly. Supposing we exclude the degenerate case where "ABCD" has zeroarea , there is a unique such affine transformation "T". Drawing out a whole grid of parallelograms based on "ABCD", the image "T"("P") of any point "P" is determined by noting that "T"("A") = "A′", "T" applied to the line segment "AB" is "A′B′", "T" applied to the line segment "AC" is "A′C′", and "T" respects scalar multiples of vectors based at "A". [If "A", "E", "F" are colinear then the ratio length("AF")/length("AE") is equal to length("A"′"F"′)/length("A"′"E"′).] Geometrically "T" transforms the grid based on "ABCD" to that based in "A′B′C′D′".Affine transformations don't respect lengths or angles; they multiply area by a constant factor
:area of "A′ B′ C′ D′" / area of "ABCD".
A given "T" may either be "direct" (respect orientation), or "indirect" (reverse orientation), and this may be determined by its effect on "signed" areas (as defined, for example, by the
cross product of vectors).Example of an affine transformation
The following equation expresses an affine transformation in GF(2) (with "+" representing
XOR )::
where [M] is the matrix
:
and {"v"} is the vector
:
For instance, the affine transformation of the element {a} = "x"7 + "x"6 + "x"3 + "x" = {11001010} in big-endian binary notation = {CA} in big-endian
hexadecimal notation, is calculated as follows:::::::::
Thus, {"a"′} = "x"7 + "x"6 + "x"5 + "x"3 + "x"2 + 1 = {11101101} = {ED}
See also
*the transformation matrix for an affine transformation
*matrix representation of a translation
*affine geometry
*homothetic transformation
*similarity transformation
*linear (the second meaning is affine transformation in 1D)
*3D projection
*flat (geometry) External links
* [http://homepages.inf.ed.ac.uk/rbf/HIPR2/affine.htm Geometric Operations: Affine Transform] , R. Fisher, S. Perkins, A. Walker and E. Wolfart.
*
* " [http://demonstrations.wolfram.com/AffineTransform/ Affine Transform] " by Bernard Vuilleumier,The Wolfram Demonstrations Project .
* [http://planetmath.org/encyclopedia/AffineTransformation.html Affine Transform on PlanetMath]
Wikimedia Foundation. 2010.