Affine Transformation

An affine transformation is any transformation that preserves collinearity (i.e., all points lying on a line initially still lie on a line after transformation) and ratios of distances (e.g., the midpoint of a line segment remains the midpoint after transformation). In this sense, affine indicates a special class of projective transformations that do not move any objects from the affine space R^3 to the plane at infinity or conversely. An affine transformation is also called an affinity.

Geometric contraction, expansion, dilation, reflection, rotation, shear, similarity transformations, spiral similarities, and translation are all affine transformations, as are their combinations. In general, an affine transformation is a composition of rotations, translations, dilations, and shears.

While an affine transformation preserves proportions on lines, it does not necessarily preserve angles or lengths. Any triangle can be transformed into any other by an affine transformation, so all triangles are affine and, in this sense, affine is a generalization of congruent and similar.

A particular example combining rotation and expansion is the rotation-enlargement transformation

[x^'; y^']=s[cosalpha sinalpha; -sinalpha cosalpha][x-x_0; y-y_0]
(1)
=s[cosalpha(x-x_0)+sinalpha(y-y_0); -sinalpha(x-x_0)+cosalpha(y-y_0)].
(2)

Separating the equations,

x^'=(scosalpha)x+(ssinalpha)y-s(x_0cosalpha+y_0sinalpha)
(3)
y^'=(-ssinalpha)x+(scosalpha)y+s(x_0sinalpha-y_0cosalpha).
(4)

This can be also written as

x^'=ax-by+c
(5)
y^'=bx+ay+d,
(6)

where

a=scosalpha
(7)
b=-ssinalpha.
(8)

The scale factor s is then defined by

 s=sqrt(a^2+b^2),
(9)

and the rotation angle by

 alpha=tan^(-1)(-b/a).
(10)

An affine transformation of R^n is a map F:R^n->R^n of the form

 F(p)=Ap+q
(11)

for all p in R^n, where A is a linear transformation of R^n. If det(A)>0, the transformation is orientation-preserving; if det(A)<0, it is orientation-reversing.

Wolfram Web Resources

Mathematica »

The #1 tool for creating Demonstrations and anything technical.

Wolfram|Alpha »

Explore anything with the first computational knowledge engine.

Wolfram Demonstrations Project »

Explore thousands of free applications across science, mathematics, engineering, technology, business, art, finance, social sciences, and more.

Computable Document Format »

The format that makes Demonstrations (and any information) easy to share and interact with.

STEM initiative »

Programs & resources for educators, schools & students.

Computerbasedmath.org »

Join the initiative for modernizing math education.