# Matriu de transformació

En àlgebra lineal, una aplicació lineal es pot representar mitjançant una matriu. Si $T$ és una transformació lineal que representa una aplicació de $\mathbb {R} ^{n}$ sobre $\mathbb {R} ^{m}$ i ${\vec {x}}$ és un vector columna amb $n$ components, llavors
    $T({\vec {x}})=\mathbf {A} {\vec {x}}$
per a una matriu $A$ de dimensió $m\times n$, denominada matriu de transformació de $T$. Ha de tenir-se en compte que $A$ té $m$ files i $n$ columnes, mentre que la transformació $T$ és $\mathbb {R} ^{n}$de $\mathbb {R} ^{m}$. Alguns autors emplean expressions alternatives de matrius de transformació que utilitzen vectors fila en lloc de vectors columna, però es tracta d'una circumstància merament formal.

## Utilització

Les matrius permeten mostrar aplicacions lineals arbitràries en un format coherent, molt adequat per al càlcul. A més, presenten l'avantatge de permetre concatenar fàcilment transformacions successives (multiplicant les matrius).
Les transformacions lineals no són les úniques que es poden representar mitjançant matrius. Algunes transformacions que no són lineals en un espai euclidià R$^n$ de n dimensions es poden representar com a transformacions lineals a l'espai n+1 dimensional R$^{n+1}$, on s'inclouen tant transformacions afins (com per exemple les translacions) com a homografies. Per aquesta raó, les matrius de transformació de 4×4 s'utilitzen àmpliament en gràfics 3D per computadora. Aquestes matrius de transformació n+1 dimensionals es denominen, segons la seva aplicació, matrius de transformació afins, matrius de transformació projectives o, més generalment, matrius de transformació no lineals. Pel que fa a una matriu n dimensional, una matriu n+1 dimensional es pot descriure com una matriu augmentada.
En les ciències físiques, una transformació activa és aquella que realment canvia la posició física d'un sistema, i té sentit fins i tot en absència d'un sistema de coordenades, mentre que una transformació passiva és un canvi en la descripció de coordenades del sistema físic (canvi de bases). La distinció entre transformacions actives i passives és important. Per defecte, quan en matemàtiques es parla de transformació, normalment es fa referència a transformacions actives, mentre que en física pot designar qualsevol dels dos tipus.
Dit d'una altra manera, una transformació passiva es refereix a la descripció del mateix objecte vist des de dos marcs de coordenades diferents.

## Determinació de la matriu d'una transformació

Si es disposa d'una transformació lineal $T(x)$ en la seva forma funcional, és fàcil determinar la matriu de transformació A transformant cadascun dels vectors de la seva base canònica per T, i després inserint el resultat en les columnes d'una matriu. En altres paraules,
    $\mathbf {A} ={\begin{bmatrix}T({\vec {e}}_{1})&T({\vec {e}}_{2})&\cdots &T({\vec {e}}_{n})\end{bmatrix}}$
Per exemple, la funció $T(x)=5x$ és una transformació lineal. L'aplicació del procés anterior (suposant que n=2 en aquest cas) revela que
    $T({\vec {x}})=5{\vec {x}}=5\mathbf {I} {\vec {x}}={\begin{bmatrix}5&&0\\0&&5\end{bmatrix}}{\vec {x}}$
La representació matricial de vectors i operadors depèn de la base triada; el resultat de prendre la base alternada (ordenada d'una altra manera) és una matriu semblant. No obstant això, el mètode per trobar els components segueix sent el mateix.
Per operar, el vector v es representa com una combinació lineal respecte als vectors de la base, $E=[{\vec {e}}_{1}{\vec {e}}_{2}\ldots {\vec {e}}_{n}]$ amb coordenades $[v]_{E}=[v_{1}v_{2}\ldots v_{n}]^{T}$:
    ${\vec {v}}=v_{1}{\vec {e}}_{1}+v_{2}{\vec {e}}_{2}+\ldots +v_{n}{\vec {e}}_{n}=\sum v_{i}{\vec {e}}_{i}=E[v]_{E}$
Ara, expressant el resultat de la matriu de transformació A sobre ${\vec {v}}$, a la base donada:
    ${\begin{aligned}A({\vec {v}})&=A\left(\sum v_{i}{\vec {e}}_{i}\right)=\sum {v_{i}A({\vec {e}}_{i})}=[A({\vec {e}}_{1})A({\vec {e}}_{2})\ldots A({\vec {e}}_{n})][v]_{E}\\&=A\cdot [v]_{E}=[{\vec {e}}_{1}{\vec {e}}_{2}\ldots {\vec {e}}_{n}]{\begin{bmatrix}a_{1,1}&a_{1,2}&\ldots &a_{1,n}\\a_{2,1}&a_{2,2}&\ldots &a_{2,n}\\\vdots &\vdots &\ddots &\vdots \\a_{n,1}&a_{n,2}&\ldots &a_{n,n}\\\end{bmatrix}}{\begin{bmatrix}v_{1}\\v_{2}\\\vdots \\v_{n}\end{bmatrix}}\end{aligned}}$
Els elements $a_{i,j}$ de la matriu A se determinen per a una base I donada aplicant A a cada ${\vec {e}}_{j}=[00\ldots (v_{j}=1)\ldots 0]^{T}$, sent el vector obtingut
    $A{\vec {e}}_{j}=a_{1,j}{\vec {e}}_{1}+a_{2,j}{\vec {e}}_{2}+\ldots +a_{n,j}{\vec {e}}_{n}=\sum a_{i,j}{\vec {e}}_{i}.$
Aquesta equació defineix els elements buscats $a_{i,j}$ de la j-èssima columna de la matriu A.

### Base de vectors propis i matriu diagonal

No obstant això, existeix una base especial per a una transformació, en la qual els seus components formen una matriu diagonal i, per tant, la complexitat de la multiplicació es redueix a n. Ser diagonal significa que tots els seus coeficients (excepte els) són zeros, deixant només un terme no nul en la suma anterior .$a_{i,j}$$a_{i,i}$$\sum a_{i,j}{\vec {e}}_{i}$ Els elements diagonals no nuls,, es coneixen com a valors propis i es designen amb en l'equació de definició, que es redueix a .$a_{i,i}$$\lambda _{i}$$A{\vec {e}}_{i}=\lambda _{i}{\vec {e}}_{i}$ L'equació resultant es coneix com a equació de valors propis. Els valors i vectors propis es calculen mitjançant el polinomi característic de la matriu.
Mitjançant la diagonalització d'una matriu és possible obtenir un canvi de bases cap a i des de bases de vectors propis.

## Exemples en 2 dimensions

Les transformacions geomètriques més comunes que mantenen l'origen fix són lineals, incloses la rotació, l'escalat, el cisallament, la reflexió i la projecció ortogonal. Si una transformació afí no és una translació pura, manté algun punt fix, i aquest punt pot triar-se com a origen per fer que la transformació sigui lineal. En dues dimensions, les transformacions lineals es poden representar utilitzant una matriu de transformació de 2×2.

### Estirament

Un estirament en el plànol xy és una transformació lineal que engrandeix totes les distàncies en una adreça particular per un factor constant però no afecta les distàncies en l'adreça perpendicular. Només es van a considerar allargaments respecte a l'eix x i a l'eix i. Un allargament en l'eix x té la forma x' = kx; i' = i per a alguna constant positiva k. S'ha de tenir en compte que si k és >1, llavors es produeix realment un estirament; i si k és <1, tècnicament és una compressió, encara que de forma genèrica també es denomina estirament. A més, si k = 1, llavors la transformació és una identitat, és a dir, no té cap efecte.
La matriu associada amb un estirament per un factor k en l'eix x ve donada per:
    ${\begin{bmatrix}k&0\\0&1\end{bmatrix}}$
De manera similar, un estirament per un factor k en l'eix i té la forma x' = x; i' = ky, per la qual cosa la matriu associada amb aquesta transformació és
    ${\begin{bmatrix}1&0\\0&k\end{bmatrix}}$

### Contracció

Si dos dels estiraments anteriors es combinen amb valors recíprocs, llavors la matriu de transformació representa una contracció:
    ${\begin{bmatrix}k&0\\0&1/k\end{bmatrix}}.$
Un quadrat amb costats paral·lels als eixos es transforma en un rectangle que té la mateixa àrea que el quadrat. L'estirament i la compressió recíprocs no alteren el valor de l'àrea de la figura sobre la qual s'apliquen.

### Rotació

Per generar una rotació amb un angle θ en el sentit de les agulles del rellotge respecte a l'origen de coordenades, la forma funcional és $x'=x\cos \theta +y\sin \theta$ i $y'=-x\sin \theta +y\cos \theta$. Escrit en forma de matriu, això es converteix en:
    ${\begin{bmatrix}x'\\y'\end{bmatrix}}={\begin{bmatrix}\cos \theta &\sin \theta \\-\sin \theta &\cos \theta \end{bmatrix}}{\begin{bmatrix}x\\y\end{bmatrix}}$
De manera similar, per a una rotació en sentit antihorario respecte a l'origen, la forma funcional és $x'=x\cos \theta -y\sin \theta$ i $y'=x\sin \theta +y\cos \theta$, i la seva forma matricial és:
    ${\begin{bmatrix}x'\\y'\end{bmatrix}}={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \end{bmatrix}}{\begin{bmatrix}x\\y\end{bmatrix}}$
Aquestes fórmules assumeixen que l'eix x apunta a la dreta i l'eix i apunta cap amunt.

### Cisallament

Per generar un cisallament (visualment similar a una inclinació), hi ha dues possibilitats.
Un cisallament paral·lel a l'eix x té l'expressió $x'=x+ky$ i $y'=y$. Escrit en forma de matriu, això es converteix en:
    ${\begin{bmatrix}x'\\y'\end{bmatrix}}={\begin{bmatrix}1&k\\0&1\end{bmatrix}}{\begin{bmatrix}x\\y\end{bmatrix}}$
Un cisallament paral·lel a l'eix i té l'expressió $x'=x$ i $y'=y+kx$, que té forma de matriu:
    ${\begin{bmatrix}x'\\y'\end{bmatrix}}={\begin{bmatrix}1&0\\k&1\end{bmatrix}}{\begin{bmatrix}x\\y\end{bmatrix}}$

### Reflexió

Per obtenir la reflexió respecte a una recta que passa per l'origen, sent $\scriptstyle {\vec {l}}=(l_{x},l_{y})$ un vector en l'adreça de la recta. Llavors, n'hi ha prou amb usar la matriu de transformació:
    $\mathbf {A} ={\frac {1}{\lVert {\vec {l}}\rVert ^{2}}}{\begin{bmatrix}l_{x}^{2}-l_{y}^{2}&2l_{x}l_{y}\\2l_{x}l_{y}&l_{y}^{2}-l_{x}^{2}\end{bmatrix}}$

### Projecció ortogonal

Per projectar un vector ortogonalment respecte a una recta que pansa per l'origen, es pren primer ${\vec {u}}=(u_{x},u_{y})$, un vector en l'adreça de la recta, i s'usa la matriu de transformació següent:
    $\mathbf {A} ={\frac {1}{\lVert {\vec {u}}\rVert ^{2}}}{\begin{bmatrix}u_{x}^{2}&u_{x}u_{y}\\u_{x}u_{y}&u_{y}^{2}\end{bmatrix}}$
Igual que amb les reflexions, la projecció ortogonal sobre una recta que no pansa per l'origen és una transformació afí, no lineal.
Les projeccions paral·leles també són transformacions lineals i es poden representar simplement mitjançant una matriu. No obstant això, les projeccions en perspectiva no ho són, i per representar-les amb una matriu, s'han d'utilitzar coordenades homogènies.

## Exemples en gràfics 3D per computadora
### Rotació

La matriu per rotar un angle θ al voltant de qualsevol eix definit per un vector unitari de components (l, m, n) és
    ${\begin{bmatrix}ll(1-\cos \theta )+\cos \theta &ml(1-\cos \theta )-n\sin \theta &nl(1-\cos \theta )+m\sin \theta \\lm(1-\cos \theta )+n\sin \theta &mm(1-\cos \theta )+\cos \theta &nm(1-\cos \theta )-l\sin \theta \\ln(1-\cos \theta )-m\sin \theta &mn(1-\cos \theta )+l\sin \theta &nn(1-\cos \theta )+\cos \theta \end{bmatrix}}.$

### Reflexió

Per reflectir un punt a través d'un plànol $ax+by+cz=0$ (que passa per l'origen), es pot usar l'expressió $\mathbf {A} =\mathbf {I} -2\mathbf {NN} ^{T}$, on $\mathbf {I}$ és la matriu identitat 3x3 i $\mathbf {N}$ és el vector unitari tridimensional per al vector normal del plànol. Si el mòdul d'$a,b,$ i $c$ és la unitat, la matriu de transformació es pot expressar com:
    $\mathbf {A} ={\begin{bmatrix}1-2a^{2}&-2ab&-2ac\\-2ab&1-2b^{2}&-2bc\\-2ac&-2bc&1-2c^{2}\end{bmatrix}}$
S'ha de tenir en compte que aquests són casos particulars d'una transformació de Householder en dues i tres dimensions. Una reflexió sobre una línia o plànol que no pansa per l'origen no és una transformació lineal, és un transformació afí. Una matriu de transformació afí de 4x4, es pot expressar de la següent manera (assumint que la normal és un vector unitari):
    ${\begin{bmatrix}x'\\y'\\z'\\1\end{bmatrix}}={\begin{bmatrix}1-2a^{2}&-2ab&-2ac&-2ad\\-2ab&1-2b^{2}&-2bc&-2bd\\-2ac&-2bc&1-2c^{2}&-2cd\\0&0&0&1\end{bmatrix}}{\begin{bmatrix}x\\y\\z\\1\end{bmatrix}}$
on $d=\mathbf {-p} \cdot \mathbf {N}$ per a algun punt $\mathbf {p}$ del plànol.
Si la quarta component del vector és 0 en lloc de 1, llavors només es reflecteix l'adreça del vector i la seva longitud roman sense canvis, com si es reflectís a través d'un plànol paral·lel que passa per l'origen. Aquesta és una propietat molt útil, ja que permet la transformació de vectors posicionals i vectors normals amb la mateixa matriu. Consulti's coordenades homogènies i transformacions afins a continuació per obtenir més informació sobre el tema.

## Compondre i invertir transformacions

Una de les principals motivacions per usar matrius per representar transformacions lineals és que les transformacions poden compondre's i invertir-se fàcilment.
La composició s'aconsegueix mitjançant la multiplicació de matrius. Els vectors (fila o columna) són operats per matrius, files a la dreta i columnes a l'esquerra. Atès que el text es llegeix d'esquerra a dreta, es prefereixen els vectors fila quan es componen les matrius de transformació:
Si A i B són les matrius de dues transformacions lineals, llavors l'efecte d'aplicar primer A i després B a un vector fila x ve dau per:
    $({\vec {x}}\mathbf {A} )\mathbf {B} ={\vec {x}}(\mathbf {AB} ).$
En altres paraules, la matriu de la transformació combinada A seguida de B és simplement el producte de les dues matrius.
Quan A és una matriu invertible, llavors existeix una matriu A$^{−1}$ que representa una transformació que desfà A, ja que la seva composició amb A és la matriu identitat. En algunes aplicacions pràctiques, la inversió es pot calcular utilitzant algorismes d'inversió generals o realitzant operacions inverses (que tenen una interpretació geomètrica òbvia, com rotar en adreça oposada) i després compondre-les en ordre invers.

## Altres tipus de transformacions
### Transformacions afins

Per representar una transformació afí amb matrius, es poden usar coordenades homogènies. Això significa representar un 2-vector (x, i) com un 3-vector (x, i, 1), i de manera similar per a dimensions més altes. Amb aquest sistema, la translació es pot expressar mitjançant una multiplicació de matrius. La forma funcional $x'=x+t_{x};y'=y+t_{y}$ es converteix en:
    ${\begin{bmatrix}x'\\y'\\1\end{bmatrix}}={\begin{bmatrix}1&0&t_{x}\\0&1&t_{y}\\0&0&1\end{bmatrix}}{\begin{bmatrix}x\\y\\1\end{bmatrix}}.$
Totes les transformacions lineals ordinàries s'inclouen en el conjunt de transformacions afins i es poden descriure com una forma simplificada de transformacions afins. Per tant, qualsevol transformació lineal també es pot representar mitjançant una matriu de transformació general. Aquesta última s'obté expandint la matriu de transformació lineal corresponent en una fila i en una columna, omplint l'espai extra amb zeros excepte la cantonada inferior dreta, el valor de la qual ha de ser 1. Per exemple, la matriu de rotació en sentit antihorari (vista la figura des de dalt) es converteix en:
    ${\begin{bmatrix}\cos \theta &-\sin \theta &0\\\sin \theta &\cos \theta &0\\0&0&1\end{bmatrix}}$
En utilitzar matrius de transformació que contenen coordenades homogènies, les translacions es converteixen en linealment independents i, per tant, poden ser similarment combinades amb tots els altres tipus de transformacions. La raó és que el plànol real es pot fer correspondre amb el pla w=1 a l'espai projectiu real, per la qual cosa una translació a l'espai euclidià real es pot representar com un cisallament a l'espai projectiu real. Encara que una translació no és una transformació lineal en un espai euclidià 2D o 3D descrit per coordenades cartesianes (és a dir, no es pot combinar amb altres transformacions conservant la commutivitat i altres propietats), quan s'utilitza un espai projectiu descrit per coordenades homogènies amb una component addicional, pot assimilar-se a una transformació lineal simple (un cisallament).
Poden obtenir-se més transformacions afins mitjançant composició de dues o més transformacions afins. Per exemple, donada una translació T' amb el vector $(t'_{x},t'_{y}),$ una rotació R en un angle θ en sentit antihorario, un escalat S amb factors $(s_{x},s_{y})$ i una translació T segons el vector $(t_{x},t_{y}),$ el resultat M de T'RST és:
    ${\begin{bmatrix}s_{x}\cos \theta &-s_{y}\sin \theta &t_{x}s_{x}\cos \theta -t_{y}s_{y}\sin \theta +t'_{x}\\s_{x}\sin \theta &s_{y}\cos \theta &t_{x}s_{x}\sin \theta +t_{y}s_{y}\cos \theta +t'_{y}\\0&0&1\end{bmatrix}}$
Quan s'utilitzen transformacions afins, la component homogènia d'un vector de coordenades (normalment denominada w) mai es modifica. Per tant, es pot assumir amb seguretat que sempre és 1 i ignorar-ho. No obstant això, això no és cert quan s'utilitzen projeccions en perspectiva.

### Projecció en perspectiva

Un altre tipus de transformació, d'importància en gràfics 3D per a computadora, és la perspectiva. Mentre que les projeccions paral·leles s'utilitzen per projectar punts en el plànol de la imatge mitjançant línies paral·leles, la projecció en perspectiva projecta punts en el plànol de la imatge en línies que irradien des d'un punt determinat, anomenat centre de projecció. Això significa que un objecte té una projecció més petita quan està lluny del centre de projecció i una projecció més gran quan està més a prop. Es pot també veure funció recíproca.
La projecció en perspectiva més simple utilitza l'origen com a centre de projecció i el plànol en $z=1$ com a plànol de la imatge. La forma funcional d'aquesta transformació és $x'=x/z$; .$y'=y/z$ Es pot expressar en coordenades homogènies com:
    ${\begin{bmatrix}x_{c}\\y_{c}\\z_{c}\\w_{c}\end{bmatrix}}={\begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&1&0\\0&0&1&0\end{bmatrix}}{\begin{bmatrix}x\\y\\z\\1\end{bmatrix}}$
Després de realitzar la multiplicació de matrius, la component homogènia $w_{c}$ serà igual al valor de $z$ i les altres tres no canviaran. Per tant, per tornar al plànol real s'ha de realitzar la divisió homogènia o la divisió en perspectiva, dividint cada component per $w_{c}$:
    ${\begin{bmatrix}x'\\y'\\z'\\1\end{bmatrix}}={\frac {1}{w_{c}}}{\begin{bmatrix}x_{c}\\y_{c}\\z_{c}\\w_{c}\end{bmatrix}}$
Es poden compondre projeccions en perspectiva més complicades combinant aquest tipus de matrius amb rotacions, escales, translacions i cisallaments, amb la finalitat de moure el plànol de la imatge i el centre de projecció on es desitgi, a gust del consumidor.

## Vegeu també

* Projecció 3D
* Canvi de base
* Transformada

## Referències

* ↑ Gentle, James E.. «Matrix Transformations and Factorizations». A: Matrix Algebra: Theory, Computations, and Applications in Statistics. Springer, 2007. ISBN 9780387708737.
* ↑ Nearing, James. «Chapter 7.3 Examples of Operators». A: Mathematical Tools for Physics, 2010. ISBN 978-0486482125. Arxivat 2008-07-26 a Wayback Machine.
* ↑ Nearing, James. «Chapter 7.9: Eigenvalues and Eigenvectors». A: Mathematical Tools for Physics, 2010. ISBN 978-0486482125. Arxivat 2008-07-26 a Wayback Machine.
* ↑ http://ocw.mit.edu/courses/aeronautics-and-astronautics/16-07-dynamics-fall-2009/lecture-notes/MIT16_07F09_Lec03.pdf
* ↑ Szymanski, John E. Basic Mathematics for Electronic Engineers:Models and Applications. Taylor & Francis, 1989, p. 154. ISBN 0278000681.
* ↑ «2D transformation matrices baking», 25-02-2015.

## Enllaços externs

* Pàgina de referència - Rotació d'eixos
* Calculadora de transformació lineal
* Transformation Applet - Genera matrius a partir de transformacions 2D i viceversa.
* Transformació de coordenades en rotació en 2D