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.

Computerbasedmath.org »

Join the initiative for modernizing math education.

Online Integral Calculator »

Solve integrals with Wolfram|Alpha.

Step-by-step Solutions »

Walk through homework problems step-by-step from beginning to end. Hints help you try the next step on your own.

Wolfram Problem Generator »

Unlimited random practice problems and answers with built-in Step-by-step solutions. Practice online or make a printable study sheet.

Wolfram Education Portal »

Collection of teaching and learning tools built by Wolfram education experts: dynamic textbook, lesson plans, widgets, interactive Demonstrations, and more.

Wolfram Language »

Knowledge-based programming for everyone.