Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Affine transformation

From Wikipedia, the free encyclopedia
Geometric transformation that preserves lines but not angles nor the origin
An image of a fern-likefractal (Barnsley's fern) that exhibits affineself-similarity. Each of the leaves of the fern is related to each other leaf by an affine transformation. For instance, the red leaf can be transformed into both the dark blue leaf and any of the light blue leaves by a combination of reflection, rotation, scaling, and translation.

InEuclidean geometry, anaffine transformation oraffinity (from the Latin,affinis, "connected with") is ageometric transformation that preserveslines andparallelism, but not necessarilyEuclidean distances andangles.

More generally, an affine transformation is anautomorphism of anaffine space (Euclidean spaces are specific affine spaces), that is, afunction whichmaps an affine space onto itself while preserving both thedimension of anyaffine subspaces (meaning that it sends points to points, lines to lines, planes to planes, and so on) and the ratios of the lengths ofparallel line segments. Consequently, sets of parallel affine subspaces remain parallel after an affine transformation. An affine transformation does not necessarily preserve angles between lines or distances between points, though it does preserve ratios of distances between points lying on a straight line.

IfX is the point set of an affine space, then every affine transformation onX can be represented as thecomposition of alinear transformation onX and atranslation ofX. Unlike a purely linear transformation, an affine transformation need not preserve the origin of the affine space. Thus, every linear transformation is affine, but not every affine transformation is linear.

Examples of affine transformations include translation,scaling,homothety,similarity,reflection,rotation,hyperbolic rotation,shear mapping, and compositions of them in any combination and sequence.

Viewing an affine space as the complement of ahyperplane at infinity of aprojective space, the affine transformations are theprojective transformations of that projective space that leave the hyperplane at infinityinvariant, restricted to the complement of that hyperplane.

Ageneralization of an affine transformation is anaffine map[1] (oraffine homomorphism oraffine mapping) between two (potentially different) affine spaces over the samefieldk. Let(X,V,k) and(Z,W,k) be two affine spaces withX andZ the point sets andV andW the respective associatedvector spaces over the fieldk. A mapf :XZ is an affine map if there exists alinear mapmf :VW such thatmf (xy) =f (x) −f (y) for allx, y inX.[2]

Definition

[edit]

LetX be an affine space over afieldk, andV be its associated vector space. Anaffine transformation is abijectionf fromX onto itself that is anaffine map; this means that alinear mapg fromV toV is well defined by the equationg(yx)=f(y)f(x);{\displaystyle g(y-x)=f(y)-f(x);} here, as usual, the subtraction of two points denotes thefree vector from the second point to the first one, and "well-defined" means thatyx=yx{\displaystyle y-x=y'-x'} implies thatf(y)f(x)=f(y)f(x).{\displaystyle f(y)-f(x)=f(y')-f(x').}

If the dimension ofX is at least two, asemiaffine transformationf ofX is abijection fromX onto itself satisfying:[3]

  1. For everyd-dimensionalaffine subspaceS ofX, thenf (S) is also ad-dimensional affine subspace ofX.
  2. IfS andT are parallel affine subspaces ofX, thenf (S) andf (T) are parallel.

These two conditions are satisfied by affine transformations, and express what is precisely meant by the expression that "f preserves parallelism".

These conditions are not independent as the second follows from the first.[4] Furthermore, if the fieldk has at least three elements, the first condition can be simplified to:f is acollineation, that is, it maps lines to lines.[5]

Structure

[edit]

By the definition of an affine space,V acts onX, so that, for every pair(x,v){\displaystyle (x,\mathbf {v} )} inX ×V there is associated a pointy inX. We can denote this action byv(x)=y{\displaystyle {\vec {v}}(x)=y}. Here we use the convention thatv=v{\displaystyle {\vec {v}}={\textbf {v}}} are two interchangeable notations for an element ofV. By fixing a pointc inX one can define a functionmc :XV bymc(x) =cx. For anyc, this function is one-to-one, and so, has an inverse functionmc−1 :VX given bymc1(v)=v(c){\displaystyle m_{c}^{-1}({\textbf {v}})={\vec {v}}(c)}. These functions can be used to turnX into a vector space (with respect to the pointc) by defining:[6]

This vector space has originc and formally needs to be distinguished from the affine spaceX, but common practice is to denote it by the same symbol and mention that it is a vector spaceafter an origin has been specified. This identification permits points to be viewed as vectors and vice versa.

For anylinear transformationλ ofV, we can define the functionL(c,λ) :XX byL(c,λ)(x)=mc1(λ(mc(x)))=c+λ(cx).{\displaystyle L(c,\lambda )(x)=m_{c}^{-1}\left(\lambda (m_{c}(x))\right)=c+\lambda ({\vec {cx}}).}

ThenL(c,λ) is an affine transformation ofX which leaves the pointc fixed.[7] It is a linear transformation ofX, viewed as a vector space with originc.

Letσ be any affine transformation ofX. Pick a pointc inX and consider the translation ofX by the vectorw=cσ(c){\displaystyle {\mathbf {w}}={\overrightarrow {c\sigma (c)}}}, denoted byTw. Translations are affine transformations and the composition of affine transformations is an affine transformation. For this choice ofc, there exists a unique linear transformationλ ofV such that[8]σ(x)=Tw(L(c,λ)(x)).{\displaystyle \sigma (x)=T_{\mathbf {w}}\left(L(c,\lambda )(x)\right).}That is, an arbitrary affine transformation ofX is the composition of a linear transformation ofX (viewed as a vector space) and a translation ofX.

This representation of affine transformations is often taken as the definition of an affine transformation (with the choice of origin being implicit).[9][10][11]

Representation

[edit]

As shown above, an affine map is the composition of two functions: a translation and a linear map. Ordinary vector algebra usesmatrix multiplication to represent linear maps, andvector addition to represent translations. Formally, in the finite-dimensional case, if the linear map is represented as a multiplication by an invertible matrixA{\displaystyle A} and the translation as the addition of a vectorb{\displaystyle \mathbf {b} }, an affine mapf{\displaystyle f} acting on a vectorx{\displaystyle \mathbf {x} } can be represented as

y=f(x)=Ax+b.{\displaystyle \mathbf {y} =f(\mathbf {x} )=A\mathbf {x} +\mathbf {b} .}

Augmented matrix

[edit]
Affine transformations on the 2D plane can be performed by linear transformations in three dimensions. Translation is done by shearing along over the z axis, and rotation is performed around the z axis.

Using anaugmented matrix and an augmented vector, it is possible to represent both the translation and the linear map using a singlematrix multiplication. The technique requires that all vectors be augmented with a "1" at the end, and all matrices be 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. IfA{\displaystyle A} is a matrix,

[y1]=[Ab001][x1]{\displaystyle {\begin{bmatrix}\mathbf {y} \\1\end{bmatrix}}=\left[{\begin{array}{ccc|c}&A&&\mathbf {b} \\0&\cdots &0&1\end{array}}\right]{\begin{bmatrix}\mathbf {x} \\1\end{bmatrix}}}

is equivalent to the following

y=Ax+b.{\displaystyle \mathbf {y} =A\mathbf {x} +\mathbf {b} .}

The above-mentioned augmented matrix is called anaffine transformation matrix. In the general case, when the last row vector is not restricted to be[001]{\displaystyle \left[{\begin{array}{ccc|c}0&\cdots &0&1\end{array}}\right]}, the matrix becomes aprojective transformation matrix (as it can also be used to performprojective transformations).

This representation exhibits theset of allinvertible affine transformations as thesemidirect product ofKn{\displaystyle K^{n}} andGL(n,K){\displaystyle \operatorname {GL} (n,K)}. This is agroup under the operation of composition of functions, called theaffine group.

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 the additional coordinate "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 additional coordinate is 1. Thus the origin of the original space can be found at(0,0,,0,1){\displaystyle (0,0,\dotsc ,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). The coordinates in the higher-dimensional space are an example ofhomogeneous coordinates. If the original space isEuclidean, the higher dimensional space is areal projective space.

The advantage of using homogeneous coordinates is that one cancombine any number of affine transformations into one by multiplying the respective matrices. This property is used extensively incomputer graphics,computer vision androbotics.

Example augmented matrix

[edit]

Suppose you have three points that define a non-degenerate triangle in a plane, or four points that define a non-degenerate tetrahedron in 3-dimensional space, or generallyn + 1 pointsx1, ...,xn+1 that define a non-degeneratesimplex inn-dimensional space. Suppose you have corresponding destination pointsy1, ...,yn+1, where these new points can lie in a space with any number of dimensions. (Furthermore, the new points need not form a non-degenerate simplex, nor even be distinct from each other.) The unique augmented matrixM that achieves the affine transformation[yi1]=M[xi1]{\displaystyle {\begin{bmatrix}\mathbf {y} _{i}\\1\end{bmatrix}}=M{\begin{bmatrix}\mathbf {x} _{i}\\1\end{bmatrix}}}for everyi isM=[y1yn+111][x1xn+111]1.{\displaystyle M={\begin{bmatrix}\mathbf {y} _{1}&\cdots &\mathbf {y} _{n+1}\\1&\cdots &1\end{bmatrix}}{\begin{bmatrix}\mathbf {x} _{1}&\cdots &\mathbf {x} _{n+1}\\1&\cdots &1\end{bmatrix}}^{-1}.}

Properties

[edit]
Theone-parameter group ofsqueeze mappings preserves areas, here illustrated withhyperbolic sectors.

Properties preserved

[edit]

An affine transformation preserves:

  1. collinearity between points: three or more points which lie on the same line (called collinear points) continue to be collinear after the transformation.
  2. parallelism: two or more lines which are parallel, continue to be parallel after the transformation.
  3. convexity of sets: a convex set continues to be convex after the transformation. Moreover, theextreme points of the original set are mapped to the extreme points of the transformed set.[12]
  4. ratios of lengths of parallel line segments: for distinct parallel segments defined by pointsp1{\displaystyle p_{1}} andp2{\displaystyle p_{2}},p3{\displaystyle p_{3}} andp4{\displaystyle p_{4}}, the ratio ofp1p2{\displaystyle {\overrightarrow {p_{1}p_{2}}}} andp3p4{\displaystyle {\overrightarrow {p_{3}p_{4}}}} is the same as that off(p1)f(p2){\displaystyle {\overrightarrow {f(p_{1})f(p_{2})}}} andf(p3)f(p4){\displaystyle {\overrightarrow {f(p_{3})f(p_{4})}}}.
  5. barycenters of weighted collections of points.

Groups

[edit]

As an affine transformation isinvertible, thesquare matrixA{\displaystyle A} appearing in itsmatrix representation isinvertible. The matrix representation of the inverse transformation is thus[A1A1b 001].{\displaystyle \left[{\begin{array}{ccc|c}&A^{-1}&&-A^{-1}{\vec {b}}\ \\0&\ldots &0&1\end{array}}\right].}

The invertible affine transformations (of an affine space onto itself) form theaffine group, which has thegeneral linear group of degreen{\displaystyle n} as subgroup and is itself a subgroup of the general linear group of degreen+1{\displaystyle n+1}.

Thesimilarity transformations form the subgroup whereA{\displaystyle A} is a scalar times anorthogonal matrix. For example, if the affine transformation acts on the plane and if thedeterminant ofA{\displaystyle A} is 1 or −1 then the transformation is anequiareal mapping. Such transformations form a subgroup called theequi-affine group.[13] A transformation that is both equi-affine and a similarity is anisometry of the plane taken withEuclidean distance.

Each of these groups has a subgroup oforientation-preserving orpositive affine transformations: those where the determinant ofA{\displaystyle A} is positive. In the last case this is in 3D the group ofrigid transformations (proper rotations and pure translations).

If 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 may give a clearer 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.

Affine maps

[edit]

An affine mapf:AB{\displaystyle f\colon {\mathcal {A}}\to {\mathcal {B}}} between twoaffine spaces is a map on the points that actslinearly on the vectors (that is, the vectors between points of the space). In symbols,f{\displaystyle f} determines a linear transformationφ{\displaystyle \varphi } such that, for any pair of pointsP,QA{\displaystyle P,Q\in {\mathcal {A}}}:

f(P) f(Q)=φ(PQ){\displaystyle {\overrightarrow {f(P)~f(Q)}}=\varphi ({\overrightarrow {PQ}})}orf(Q)f(P)=φ(QP).{\displaystyle f(Q)-f(P)=\varphi (Q-P).}

We can interpret this definition in a few other ways, as follows.

If an originOA{\displaystyle O\in {\mathcal {A}}} is chosen, andB{\displaystyle B} denotes its imagef(O)B{\displaystyle f(O)\in {\mathcal {B}}}, then this means that for any vectorx{\displaystyle {\vec {x}}}:

f:(O+x)(B+φ(x)).{\displaystyle f\colon (O+{\vec {x}})\mapsto (B+\varphi ({\vec {x}})).}

If an originOB{\displaystyle O'\in {\mathcal {B}}} is also chosen, this can be decomposed as an affine transformationg:AB{\displaystyle g\colon {\mathcal {A}}\to {\mathcal {B}}} that sendsOO{\displaystyle O\mapsto O'}, namely

g:(O+x)(O+φ(x)),{\displaystyle g\colon (O+{\vec {x}})\mapsto (O'+\varphi ({\vec {x}})),}followed by the translation by a vectorb=OB{\displaystyle {\vec {b}}={\overrightarrow {O'B}}}.

The conclusion is that, intuitively,f{\displaystyle f} consists of a translation and a linear map.

Alternative definition

[edit]

Given twoaffine spacesA{\displaystyle {\mathcal {A}}} andB{\displaystyle {\mathcal {B}}}, over the same field, a functionf:AB{\displaystyle f\colon {\mathcal {A}}\to {\mathcal {B}}} is an affine mapif and only if for every family{(Pi,λi)}iI{\displaystyle \{(P_{i},\lambda _{i})\}_{i\in I}} of weighted points inA{\displaystyle {\mathcal {A}}} such thatiIλi=1,{\displaystyle \sum _{i\in I}\lambda _{i}=1,}we have[14]f(iIλiPi)=iIλif(Pi).{\displaystyle f\left(\sum _{i\in I}\lambda _{i}P_{i}\right)=\sum _{i\in I}\lambda _{i}f(P_{i}).}In other words,f{\displaystyle f} preservesbarycenters.

Example

[edit]

LetA{\displaystyle {\mathcal {A}}} be thethree-dimensional Euclidean space,BA{\displaystyle {\mathcal {B}}\subseteq {\mathcal {A}}} aplane, and both be equipped with aCartesian coordinate system. Iff:AB{\displaystyle f\colon \,{\mathcal {A}}\to {\mathcal {B}}} is aparallel projection or, more generally, is generated by anaxonometry, thenf{\displaystyle f} is affine andsurjective. Hence it can be represented by[xyz][xy]=A[xyz]+b{\displaystyle {\begin{bmatrix}x\\y\\z\end{bmatrix}}\longmapsto {\begin{bmatrix}x'\\y'\end{bmatrix}}=A{\begin{bmatrix}x\\y\\z\end{bmatrix}}+\,b}with amatrixAR2×3{\displaystyle A\in \mathbb {R} ^{2\times 3}} of rank 2 and acolumn vectorbR2.{\displaystyle b\in \mathbb {R} ^{2}.} In caseb=(0,0)T,{\displaystyle b=(0,0)^{\mathsf {T}},} this is treated in more detail in thesection Coordinate calculation at Axonometry.

History

[edit]

The word "affine" as a mathematical term is defined in connection with tangents to curves inEuler's 1748Introductio in analysin infinitorum.[15]Felix Klein attributes the term "affine transformation" toMöbius andGauss.[10]

Image transformation

[edit]

In their applications todigital image processing, the affine transformations are analogous to printing on a sheet of rubber and stretching the sheet's edges parallel to the plane. This transform relocates pixels requiring intensity interpolation to approximate the value of moved pixels, bicubicinterpolation is the standard for image transformations in image processing applications. Affine transformations scale, rotate, translate, mirror and shear images as shown in the following examples:[16]

Transformation nameAffine matrixExample
Identity (transform to original image)[100010001]{\displaystyle {\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix}}}
Translation[10vx>001vy=0001]{\displaystyle {\begin{bmatrix}1&0&v_{x}>0\\0&1&v_{y}=0\\0&0&1\end{bmatrix}}}
Reflection[100010001]{\displaystyle {\begin{bmatrix}-1&0&0\\0&1&0\\0&0&1\end{bmatrix}}}
Scale[cx=2000cy=10001]{\displaystyle {\begin{bmatrix}c_{x}=2&0&0\\0&c_{y}=1&0\\0&0&1\end{bmatrix}}}
Rotate[cos(θ)sin(θ)0sin(θ)cos(θ)0001]{\displaystyle {\begin{bmatrix}\cos(\theta )&-\sin(\theta )&0\\\sin(\theta )&\cos(\theta )&0\\0&0&1\end{bmatrix}}}
whereθ =π/6 =30°
Shear[1cx=0.50cy=010001]{\displaystyle {\begin{bmatrix}1&c_{x}=0.5&0\\c_{y}=0&1&0\\0&0&1\end{bmatrix}}}

The affine transforms are applicable to the registration process where two or more images are aligned (registered). An example ofimage registration is the generation of panoramic images that are the product of multiple imagesstitched together.

Affine warping

[edit]

The affine transform preserves parallel lines. However, the stretching and shearing transformations warp shapes, as the following example shows:

This is an example of image warping. However, the affine transformations do not facilitate projection onto a curved surface orradial distortions.

In the plane

[edit]
Ahomothety. The triangles A1B1Z, B1C1Z, and A1C1Z get mapped to A2B2Z, B2C2Z, and A2C2Z, respectively.

Every affine transformations in aEuclidean plane is the composition of atranslation and an affine transformation that fixes a point; the latter may be

Given two non-degeneratetrianglesABC andA′B′C′ in a Euclidean plane, there is a unique affine transformationT that mapsA toA′,B toB′ andC toC′. Each ofABC andA′B′C′ defines anaffine coordinate system and abarycentric coordinate system. Given a pointP, the pointT(P) is the point that has the same coordinates on the second system as the coordinates ofP on the first system.

Affine transformations do not respect lengths or angles; they multiply areas by the constant factor

area ofA′B′C′ / area ofABC.

A givenT may either bedirect (respect orientation), orindirect (reverse orientation), and this may be determined by comparing the orientations of the triangles.

Examples

[edit]

Over the real numbers

[edit]

The functionsf:RR,f(x)=mx+c{\displaystyle f\colon \mathbb {R} \to \mathbb {R} ,\;f(x)=mx+c} withm{\displaystyle m} andc{\displaystyle c} inR{\displaystyle \mathbb {R} } andm0{\displaystyle m\neq 0}, are precisely the affine transformations of thereal line.

In plane geometry

[edit]
A simple affine transformation on the real plane
Effect of applying various 2D affine transformation matrices on a unit square. Note that the reflection matrices are special cases of the scaling matrix.

InR2{\displaystyle \mathbb {R} ^{2}}, the transformation shown at left is accomplished using the map given by:

[xy][0121][xy]+[100100]{\displaystyle {\begin{bmatrix}x\\y\end{bmatrix}}\mapsto {\begin{bmatrix}0&1\\2&1\end{bmatrix}}{\begin{bmatrix}x\\y\end{bmatrix}}+{\begin{bmatrix}-100\\-100\end{bmatrix}}}

Transforming the three corner points of the original triangle (in red) gives three new points which form the new triangle (in blue). This transformation skews and translates the original triangle.

In fact, all triangles are related to one another by affine transformations. This is also true for all parallelograms, but not for all quadrilaterals.

See also

[edit]

Notes

[edit]
  1. ^Berger 1987, p. 38.
  2. ^Samuel 1988, p. 11.
  3. ^Snapper & Troyer 1989, p. 65.
  4. ^Snapper & Troyer 1989, p. 66.
  5. ^Snapper & Troyer 1989, p. 69.
  6. ^Snapper & Troyer 1989, p. 59.
  7. ^Snapper & Troyer 1989, p. 76,87.
  8. ^Snapper & Troyer 1989, p. 86.
  9. ^Wan 1993, pp. 19–20.
  10. ^abKlein 1948, p. 70.
  11. ^Brannan, Esplen & Gray 1999, p. 53.
  12. ^Reinhard Schultz."Affine transformations and convexity"(PDF). Retrieved27 February 2017.
  13. ^Oswald Veblen (1918)Projective Geometry, volume 2, pp. 105–7.
  14. ^Schneider, Philip K.; Eberly, David H. (2003).Geometric Tools for Computer Graphics. Morgan Kaufmann. p. 98.ISBN 978-1-55860-594-7.
  15. ^Euler, Leonhard (1748).Introductio in analysin infinitorum (in Latin). Vol. II. Book II, sect. XVIII, art. 442
  16. ^Gonzalez, Rafael (2008).'Digital Image Processing, 3rd'. Pearson Hall.ISBN 9780131687288.

References

[edit]

External links

[edit]
Vector graphics
2D graphics
2.5D
3D graphics
Concepts
Graphics software
Algorithms
Authority control databasesEdit this at Wikidata
Retrieved from "https://en.wikipedia.org/w/index.php?title=Affine_transformation&oldid=1314091859"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp