Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Affine transformation
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Geometric transformation that preserves lines but not angles nor the origin}} [[File:Fractal fern explained.png|thumb|right|200px|An image of a fern-like [[fractal]] ([[Barnsley fern|Barnsley's fern]]) that exhibits affine [[self-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.]] In [[Euclidean geometry]], an '''affine transformation''' or '''affinity''' (from the Latin, ''[[wikt:affine|affinis]]'', "connected with") is a [[geometric transformation]] that preserves [[line (geometry)|lines]] and [[parallel (geometry)|parallelism]], but not necessarily [[Euclidean distance]]s and [[angle]]s. More generally, an affine transformation is an [[automorphism]] of an [[affine space]] (Euclidean spaces are specific affine spaces), that is, a [[Function (mathematics)|function]] which [[Map (mathematics)|maps]] an affine space onto itself while preserving both the [[dimension]] of any [[affine subspace]]s (meaning that it sends points to points, lines to lines, planes to planes, and so on) and the ratios of the lengths of [[Parallel (geometry)|parallel]] 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. If {{mvar|X}} is the point set of an affine space, then every affine transformation on {{mvar|X}} can be represented as the [[function composition|composition]] of a [[linear transformation]] on {{mvar|X}} and a [[Translation (geometry)|translation]] of {{mvar|X}}. 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 (geometry)|scaling]], [[homothety]], [[Similarity (geometry)|similarity]], [[Reflection (mathematics)|reflection]], [[Rotation (mathematics)|rotation]], [[hyperbolic rotation]], [[shear mapping]], and compositions of them in any combination and sequence. Viewing an affine space as the complement of a [[hyperplane at infinity]] of a [[projective space]], the affine transformations are the [[projective transformation]]s of that projective space that leave the hyperplane at infinity [[Invariant (mathematics)|invariant]], restricted to the complement of that hyperplane. A [[generalization]] of an affine transformation is an '''affine map'''{{sfn|Berger|1987|p=38}} (or '''affine homomorphism''' or '''affine mapping''') between two (potentially different) affine spaces over the same [[Field (mathematics)|field]] {{mvar|k}}. Let {{math|(''X'', ''V'', ''k'')}} and {{math|(''Z'', ''W'', ''k'')}} be two affine spaces with {{mvar|X}} and {{mvar|Z}} the point sets and {{mvar|V}} and {{mvar|W}} the respective associated [[vector space]]s over the field {{mvar|k}}. A map {{math|''f'' : ''X'' → ''Z''}} is an affine map if there exists a [[linear map]] {{math|''m''<sub>''f''</sub> : ''V'' → ''W''}} such that {{math|1=''m''<sub>''f''</sub> (''x'' − ''y'') = ''f'' (''x'') − ''f'' (''y'')}} for all {{mvar|x, y}} in {{mvar|X}}.{{sfn|Samuel|1988|p=11}} ==Definition== Let {{mvar|X}} be an affine space over a [[field (mathematics)|field]] {{mvar|k}}, and {{mvar|V}} be its associated vector space. An '''affine transformation''' is a [[bijection]] {{mvar|f}} from {{mvar|X}} onto itself that is an [[affine space#Affine map|affine map]]; this means that a [[linear map]] {{mvar|g}} from {{mvar|V}} to {{mvar|V}} is well defined by the equation <math>g(y-x) =f(y)-f(x);</math> here, as usual, the subtraction of two points denotes the [[free vector]] from the second point to the first one, and "[[well-defined]]" means that <math>y-x= y'-x'</math> implies that <math>f(y)-f(x)=f(y')-f(x').</math> If the dimension of {{mvar|X}} is at least two, a ''semiaffine transformation'' {{mvar|f}} of {{mvar|X}} is a [[bijection]] from {{mvar|X}} onto itself satisfying:{{sfn|Snapper|Troyer|1989|p=65}} #For every {{math|''d''}}-dimensional [[affine subspace]] {{mvar|S}} of {{mvar|X}}, then {{math|''f'' (''S'')}} is also a {{math|''d''}}-dimensional affine subspace of {{mvar|X}}. #If {{mvar|S}} and {{mvar|T}} are parallel affine subspaces of {{mvar|X}}, then {{math|''f'' (''S'')}} and {{math|''f'' (''T'')}} are parallel. These two conditions are satisfied by affine transformations, and express what is precisely meant by the expression that "{{mvar|f}} preserves parallelism". These conditions are not independent as the second follows from the first.{{sfn|Snapper|Troyer|1989|p=66}} Furthermore, if the field {{mvar|k}} has at least three elements, the first condition can be simplified to: {{mvar|f}} is a [[collineation]], that is, it maps lines to lines.{{sfn|Snapper|Troyer|1989|p=69}} ==Structure== By the definition of an affine space, {{mvar|V}} acts on {{mvar|X}}, so that, for every pair <math>(x, \mathbf{v})</math> in {{math|''X'' × ''V''}} there is associated a point {{mvar|y}} in {{mvar|X}}. We can denote this action by <math>\vec{v}(x) = y</math>. Here we use the convention that <math>\vec{v} = \textbf{v}</math> are two interchangeable notations for an element of {{mvar|V}}. By fixing a point {{mvar|c}} in {{mvar|X}} one can define a function {{math|''m''<sub>''c''</sub> : ''X'' → ''V''}} by {{math|1=''m''<sub>''c''</sub>(''x'') = {{vec|''cx''}}}}. For any {{mvar|c}}, this function is one-to-one, and so, has an inverse function {{math|''m''<sub>''c''</sub><sup>−1</sup> : ''V'' → ''X''}} given by <math>m_c^{-1}(\textbf{v})=\vec{v}(c)</math>. These functions can be used to turn {{mvar|X}} into a vector space (with respect to the point {{mvar|c}}) by defining:{{sfn|Snapper|Troyer|1989|p=59}} :* <math>x + y = m_c^{-1}\left(m_c(x) + m_c(y)\right),\text{ for all } x,y \text{ in } X,</math> and :* <math>rx = m_c^{-1}\left(r m_c(x)\right), \text{ for all } r \text{ in } k \text{ and } x \text{ in } X.</math> This vector space has origin {{mvar|c}} and formally needs to be distinguished from the affine space {{mvar|X}}, but common practice is to denote it by the same symbol and mention that it is a vector space ''after'' an origin has been specified. This identification permits points to be viewed as vectors and vice versa. For any [[linear transformation]] {{mvar|λ}} of {{mvar|V}}, we can define the function {{math|''L''(''c'', ''λ'') : ''X'' → ''X''}} by :<math>L(c, \lambda)(x) = m_c^{-1}\left(\lambda (m_c (x))\right) = c + \lambda (\vec{cx}).</math> Then {{math|''L''(''c'', ''λ'')}} is an affine transformation of {{mvar|X}} which leaves the point {{mvar|c}} fixed.{{sfn|Snapper|Troyer|1989|p=76,87}} It is a linear transformation of {{mvar|X}}, viewed as a vector space with origin {{mvar|c}}. Let {{mvar|σ}} be any affine transformation of {{mvar|X}}. Pick a point {{mvar|c}} in {{mvar|X}} and consider the translation of {{mvar|X}} by the vector <math>\bold{w} = \overrightarrow{c \sigma (c)}</math>, denoted by {{math|''T''<sub>'''w'''</sub>}}. Translations are affine transformations and the composition of affine transformations is an affine transformation. For this choice of {{mvar|c}}, there exists a unique linear transformation {{mvar|λ}} of {{mvar|V}} such that{{sfn|Snapper|Troyer|1989|p=86}} :<math>\sigma (x) = T_{\bold{w}} \left( L(c, \lambda)(x) \right).</math> That is, an arbitrary affine transformation of {{mvar|X}} is the composition of a linear transformation of {{mvar|X}} (viewed as a vector space) and a translation of {{mvar|X}}. This representation of affine transformations is often taken as the definition of an affine transformation (with the choice of origin being implicit).{{sfn|Wan|1993|pp=19-20}}{{sfn|Klein|1948|p=70}}{{sfn|Brannan|Esplen|Gray|1999|p=53}} ==Representation== As shown above, an affine map is the composition of two functions: a translation and a linear map. Ordinary vector algebra uses [[matrix multiplication]] to represent linear maps, and [[vector addition]] to represent translations. Formally, in the finite-dimensional case, if the linear map is represented as a multiplication by an invertible matrix <math>A</math> and the translation as the addition of a vector <math>\mathbf{b}</math>, an affine map <math>f</math> acting on a vector <math>\mathbf{x}</math> can be represented as :<math> \mathbf{y} = f(\mathbf{x}) = A \mathbf{x} + \mathbf{b}. </math> ===Augmented matrix=== [[File:Affine transformations.ogv|thumb|250px|right|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 an [[augmented matrix]] and an augmented vector, it is possible to represent both the translation and the linear map using a single [[matrix 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. If <math>A</math> is a matrix, :<math> \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} </math> is equivalent to the following :<math> \mathbf{y} = A \mathbf{x} + \mathbf{b}. </math> The above-mentioned augmented matrix is called an ''[[Transformation matrix#Affine transformations|affine transformation matrix]]''. In the general case, when the last row vector is not restricted to be <math>\left[ \begin{array}{ccc|c} 0 & \cdots & 0 & 1 \end{array} \right]</math>, the matrix becomes a ''projective transformation matrix'' (as it can also be used to perform [[projective transformation]]s). This representation exhibits the [[Set (mathematics)|set]] of all [[Inverse function|invertible]] affine transformations as the [[semidirect product]] of <math>K^n</math> and <math>\operatorname{GL}(n, K)</math>. This is a [[Group (mathematics)|group]] under the operation of composition of functions, called the [[affine 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 <math>(0,0, \dotsc, 0, 1)</math>. 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 of [[homogeneous coordinates]]. If the original space is [[Euclidean space|Euclidean]], the higher dimensional space is a [[real projective space]]. The advantage of using homogeneous coordinates is that one can [[Function composition|combine]] any number of affine transformations into one by multiplying the respective matrices. This property is used extensively in [[computer graphics]], [[computer vision]] and [[robotics]]. ====Example augmented matrix==== 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 generally {{math|''n'' + 1}} points {{math|'''x'''{{sub|1}}}}, ..., {{math|'''x'''{{sub|''n''+1}}}} that define a non-degenerate [[simplex]] in {{mvar|n}}-dimensional space. Suppose you have corresponding destination points {{math|'''y'''{{sub|1}}}}, ..., {{math|'''y'''{{sub|''n''+1}}}}, where these new points can lie in a space with any number of dimensions. (Furthermore, the new points need not be distinct from each other and need not form a non-degenerate simplex.) The unique augmented matrix {{mvar|M}} that achieves the affine transformation <math display=block>\begin{bmatrix}\mathbf{y}_i\\1\end{bmatrix} = M \begin{bmatrix}\mathbf{x}_i\\1\end{bmatrix}</math> for every {{mvar|i}} is <math display=block>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}.</math> ==Properties== === Properties preserved === An affine transformation preserves: # [[collinearity]] between points: three or more points which lie on the same line (called collinear points) continue to be collinear after the transformation. # [[Parallel (geometry)|parallelism]]: two or more lines which are parallel, continue to be parallel after the transformation. # [[Convex set|convexity]] of sets: a convex set continues to be convex after the transformation. Moreover, the [[extreme point]]s of the original set are mapped to the extreme points of the transformed set.<ref name=res>{{cite web|last1=Reinhard Schultz|title=Affine transformations and convexity|url=http://math.ucr.edu/~res/math145A-2014/affine+convex.pdf|access-date=27 February 2017}}</ref> # ratios of lengths of parallel line segments: for distinct parallel segments defined by points <math>p_1</math> and <math>p_2</math>, <math>p_3</math> and <math>p_4</math>, the ratio of <math>\overrightarrow{p_1p_2}</math> and <math>\overrightarrow{p_3p_4}</math> is the same as that of <math>\overrightarrow{f(p_1)f(p_2)}</math> and <math>\overrightarrow{f(p_3)f(p_4)}</math>. # [[Barycentric_coordinate_system|barycenters]] of weighted collections of points. === Groups === As an affine transformation is [[invertible function|invertible]], the [[square matrix]] <math>A</math> appearing in its [[#Representation|matrix representation]] is [[invertible matrix|invertible]]. The matrix representation of the inverse transformation is thus :<math> \left[ \begin{array}{ccc|c} & A^{-1} & & -A^{-1}\vec{b} \ \\ 0 & \ldots & 0 & 1 \end{array} \right]. </math> The invertible affine transformations (of an affine space onto itself) form the [[affine group]], which has the [[general linear group]] of degree <math>n</math> as subgroup and is itself a subgroup of the general linear group of degree <math>n + 1</math>. The [[Similarity transformation (geometry)|similarity transformations]] form the subgroup where <math>A</math> is a scalar times an [[orthogonal matrix]]. For example, if the affine transformation acts on the plane and if the [[determinant]] of <math>A</math> is 1 or −1 then the transformation is an [[equiareal map]]ping. Such transformations form a subgroup called the ''equi-affine group''.<ref>[[Oswald Veblen]] (1918) ''Projective Geometry'', volume 2, pp. 105–7.</ref> A transformation that is both equi-affine and a similarity is an [[isometry]] of the plane taken with [[Euclidean distance]]. Each of these groups has a subgroup of ''[[orientability|orientation]]-preserving'' or ''positive'' affine transformations: those where the determinant of <math>A</math> is positive. In the last case this is in 3D the group of [[rigid transformation]]s ([[Improper rotation|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== An affine map <math>f\colon\mathcal{A} \to \mathcal{B}</math> between two [[affine space]]s is a map on the points that acts [[Linear transformation|linearly]] on the vectors (that is, the vectors between points of the space). In symbols, ''<math>f</math>'' determines a linear transformation ''<math>\varphi</math>'' such that, for any pair of points <math>P, Q \in \mathcal{A}</math>: :<math>\overrightarrow{f(P)~f(Q)} = \varphi(\overrightarrow{PQ})</math> or :<math>f(Q)-f(P) = \varphi(Q-P)</math>. We can interpret this definition in a few other ways, as follows. If an origin <math>O \in \mathcal{A}</math> is chosen, and <math>B</math> denotes its image <math>f(O) \in \mathcal{B}</math>, then this means that for any vector <math>\vec{x}</math>: :<math>f\colon (O+\vec{x}) \mapsto (B+\varphi(\vec{x}))</math>. If an origin <math>O' \in \mathcal{B}</math> is also chosen, this can be decomposed as an affine transformation <math>g\colon \mathcal{A} \to \mathcal{B}</math> that sends <math>O \mapsto O'</math>, namely :<math>g\colon (O+\vec{x}) \mapsto (O'+\varphi(\vec{x}))</math>, followed by the translation by a vector <math>\vec{b} = \overrightarrow{O'B}</math>. The conclusion is that, intuitively, <math>f</math> consists of a translation and a linear map. ===Alternative definition=== Given two [[affine space]]s <math>\mathcal{A}</math> and <math>\mathcal{B}</math>, over the same field, a function <math>f\colon \mathcal{A} \to \mathcal{B}</math> is an affine map [[if and only if]] for every family <math>\{(a_i, \lambda_i)\}_{i\in I}</math> of weighted points in <math>\mathcal{A}</math> such that : <math>\sum_{i\in I}\lambda_i = 1</math>, we have<ref> {{cite book|author1=Schneider, Philip K. |author2=Eberly, David H.|title=Geometric Tools for Computer Graphics|publisher=Morgan Kaufmann|year=2003|isbn=978-1-55860-594-7|page=98|url=https://books.google.com/books?id=3Q7HGBx1uLIC&pg=PA98}}</ref> : <math>f\left(\sum_{i\in I}\lambda_i a_i\right)=\sum_{i\in I}\lambda_i f(a_i)</math>. In other words, <math>f</math> preserves [[Barycentric_coordinate_system|barycenters]]. ==History== The word "affine" as a mathematical term is defined in connection with tangents to curves in [[Leonhard Euler|Euler]]'s 1748 [[Introductio in analysin infinitorum]].<ref name="Euler">{{cite book|last=Euler|first=Leonhard|title=Introductio in analysin infinitorum|year=1748 |volume=II|number=XVII|language=la|url=https://gallica.bnf.fr/ark:/12148/bpt6k33529/f240.image}} Book II, sect. XVIII, art. 442</ref> [[Felix Klein]] attributes the term "affine transformation" to [[August Ferdinand Möbius|Möbius]] and [[Carl Friedrich Gauss|Gauss]].{{sfn|Klein|1948|p=70}} == Image transformation == In their applications to [[digital 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, bicubic [[interpolation]] 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:<ref>{{cite book |last = Gonzalez |first = Rafael |title = 'Digital Image Processing, 3rd' |publisher = Pearson Hall |date = 2008 |isbn = 9780131687288 }}</ref> {| class="wikitable" |- ! Transformation name ! Affine matrix ! Example |- | '''[[Identity operation|Identity]]''' (transform to original image) | align="center" | <math> \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} </math> | align="center" | [[File:Checkerboard identity.svg]] <!-- align="center", because the images depict the coordinate origin (concerning the matrices) in the center. --> |- | '''[[Translation (geometry)|Translation]]''' | align="center" | <math> \begin{bmatrix} 1 & 0 & v_x > 0\\ 0 & 1 & v_y = 0\\ 0 & 0 & 1 \end{bmatrix} </math> | align="right" | [[File:Checkerboard identity.svg]] <!-- There is no image for translation. align="right" works, because the image for scaling makes the column wide enough. --> |- | '''[[Reflection (mathematics)|Reflection]]''' | align="center" | <math> \begin{bmatrix} -1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} </math> | align="center" | [[File:Checkerboard reflection.svg]] |- | '''[[Scaling (geometry)|Scale]]''' | align="center" | <math> \begin{bmatrix} c_x=2 & 0 & 0 \\ 0 & c_y=1 & 0 \\ 0 & 0 & 1 \end{bmatrix} </math> | [[File:Checkerboard scale.svg]] |- | '''[[Rotate]]''' | align="center" |<math> \begin{bmatrix} \cos(\theta) & -\sin(\theta) & 0 \\ \sin(\theta) & \cos(\theta) & 0 \\ 0 & 0 & 1 \end{bmatrix} </math> | align="center" | [[File:Checkerboard rotate.svg]] <br/> where {{math|''θ'' {{=}} {{sfrac|π|6}} {{=}}30°}} |- | '''[[Shear matrix|Shear]]''' | align="center" | <math> \begin{bmatrix} 1 & c_x=0.5 & 0 \\ c_y=0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} </math> | align="center" | [[File:Checkerboard shear.svg]] |- |} The affine transforms are applicable to the registration process where two or more images are aligned (registered). An example of [[image registration]] is the generation of panoramic images that are the product of multiple images [[Image stitching|stitched]] together. === Affine warping === The affine transform preserves parallel lines. However, the stretching and shearing transformations warp shapes, as the following example shows: {| class="wikitable" |- | [[File:White_on_black_circle_image_256_by_256.png]] | [[File:Affine_transform_sheared_circle.png]] |} This is an example of image warping. However, the affine transformations do not facilitate projection onto a curved surface or [[Distortion (optics)|radial distortions]]. ==In the plane== [[File:Central dilation.svg|thumb|right|300px|A [[homothety]]. The triangles A{{sub|1}}B{{sub|1}}Z, B{{sub|1}}C{{sub|1}}Z, and A{{sub|1}}C{{sub|1}}Z get mapped to A{{sub|2}}B{{sub|2}}Z, B{{sub|2}}C{{sub|2}}Z, and A{{sub|2}}C{{sub|2}}Z, respectively.]] Every affine transformations in a [[Euclidean plane]] is the composition of a [[translation]] and an affine transformation that fixes a point; the latter may be * a [[homothety]], * [[rotation]]s around the fixed point, * a [[scaling (geometry)|scaling]], with possibly negative scaling factors, in two directions (not necessarily perpendicular); this includes [[Reflection (mathematics)|reflections]], * a [[shear mapping]] * a [[squeeze mapping]]. Given two non-degenerate [[triangle]]s ''ABC'' and ''A′B′C′'' in a Euclidean plane, there is a unique affine transformation ''T'' that maps ''A'' to ''A′'', ''B'' to ''B′'' and ''C'' to ''C′''. Each of ''ABC'' and ''A′B′C′'' defines an [[affine coordinate system]] and a [[barycentric coordinate system]]. Given a point ''P'', the point ''T''(P) is the point that has the same coordinates on the second system as the coordinates of ''P'' on the first system. Affine transformations do not respect lengths or angles; they multiply areas by the constant factor :area of ''A′B′C′'' / area of ''ABC''. A given ''T'' may either be ''direct'' (respect orientation), or ''indirect'' (reverse orientation), and this may be determined by comparing the orientations of the triangles. ==Examples== ===Over the real numbers=== The functions <math>f\colon \R \to \R,\; f(x) = mx + c</math> with <math>m</math> and <math>c</math> in <math>\R</math> and <math>m\ne 0</math>, are precisely the affine transformations of the [[real line]]. ===In plane geometry=== [[File:Geometric affine transformation example.png|thumb|left|A simple affine transformation on the real plane]] [[File:2D affine transformation matrix.svg|thumb|250px|Effect of applying various 2D affine transformation matrices on a unit square. Note that the reflection matrices are special cases of the scaling matrix.]] In <math>\mathbb{R}^2</math>, the transformation shown at left is accomplished using the map given by: :<math>\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}</math> 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. {{clear|left}} ==See also== *[[Anamorphosis]] – artistic applications of affine transformations *[[Affine geometry]] *[[3D projection]] *[[Homography]] *[[Flat (geometry)]] *[[Bent function]] *[[Multilinear polynomial]] ==Notes== {{Reflist|30em}} == References == *{{Citation | last1=Berger | first1=Marcel | author1-link=Marcel Berger | title=Geometry I | publisher=Springer | location=Berlin | isbn= 3-540-11658-3 | year=1987}} * {{citation|first1=David A.|last1=Brannan|first2=Matthew F.|last2=Esplen|first3=Jeremy J.|last3=Gray|title=Geometry|year=1999|publisher=Cambridge University Press|isbn=978-0-521-59787-6}} * {{citation|last1=Nomizu|first1=Katsumi|last2=Sasaki|first2=S.|author-link=Katsumi Nomizu|title=Affine Differential Geometry|publisher=Cambridge University Press|year=1994|edition=New|isbn=978-0-521-44177-3|url-access=registration|url=https://archive.org/details/affinedifferenti0000nomi}} *{{citation|first=Felix|last=Klein|title=Elementary Mathematics from an Advanced Standpoint: Geometry|year=1948|orig-year=1939|publisher=Dover}} * {{citation|first=Pierre|last=Samuel|title=Projective Geometry|year=1988|publisher=Springer-Verlag|isbn=0-387-96752-4|url-access=registration|url=https://archive.org/details/projectivegeomet0000samu}} *{{cite book | last = Sharpe | first = R. W. | title = Differential Geometry: Cartan's Generalization of Klein's Erlangen Program | publisher = Springer | location = New York | year=1997 | isbn=0-387-94732-9}} * {{citation|first1=Ernst|last1=Snapper|first2=Robert J.|last2=Troyer|title=Metric Affine Geometry|year=1989|orig-year=1971|publisher=Dover|isbn=978-0-486-66108-7}} * {{citation|first=Zhe-xian|last=Wan|title=Geometry of Classical Groups over Finite Fields|year=1993|publisher=Chartwell-Bratt|isbn=0-86238-326-9}} ==External links== *{{Commons category-inline}} * {{springer|title=Affine transformation|id=p/a011140}} * [http://homepages.inf.ed.ac.uk/rbf/HIPR2/affine.htm Geometric Operations: Affine Transform], R. Fisher, S. Perkins, A. Walker and E. Wolfart. * {{MathWorld | urlname=AffineTransformation | title=Affine Transformation}} * ''[http://demonstrations.wolfram.com/AffineTransform/ Affine Transform]'' by Bernard Vuilleumier, [[Wolfram Demonstrations Project]]. * [http://www.mathworks.com/discovery/affine-transformation.html Affine Transformation with MATLAB] {{Computer graphics}} {{Authority control}} [[Category:Affine geometry]] [[Category:Transformation (function)]] [[Category:Articles containing video clips]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Authority control
(
edit
)
Template:Citation
(
edit
)
Template:Cite book
(
edit
)
Template:Cite web
(
edit
)
Template:Clear
(
edit
)
Template:Commons category-inline
(
edit
)
Template:Computer graphics
(
edit
)
Template:Math
(
edit
)
Template:MathWorld
(
edit
)
Template:Mvar
(
edit
)
Template:Reflist
(
edit
)
Template:Sfn
(
edit
)
Template:SfnRef
(
edit
)
Template:Short description
(
edit
)
Template:Springer
(
edit
)
Template:Sub
(
edit
)