En aquest tema, explorarem tres transformacions lineals fonamentals en l'àmbit de la manipulació de gràfics en 3D: rotacions, translacions i escalats. Aquestes transformacions són essencials per a la creació i manipulació d'objectes en espais tridimensionals.
- Rotacions
Definició
La rotació és una transformació que gira un objecte al voltant d'un punt fix, conegut com a centre de rotació. En 3D, les rotacions es poden fer al voltant dels eixos x, y i z.
Matrius de Rotació
Les matrius de rotació per als eixos x, y i z són les següents:
-
Rotació al voltant de l'eix x (angle θ): \[ R_x(\theta) = \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos(\theta) & -\sin(\theta) \\ 0 & \sin(\theta) & \cos(\theta) \end{bmatrix} \]
-
Rotació al voltant de l'eix y (angle θ): \[ R_y(\theta) = \begin{bmatrix} \cos(\theta) & 0 & \sin(\theta) \\ 0 & 1 & 0 \\ -\sin(\theta) & 0 & \cos(\theta) \end{bmatrix} \]
-
Rotació al voltant de l'eix z (angle θ): \[ R_z(\theta) = \begin{bmatrix} \cos(\theta) & -\cos(\theta) & 0 \\ \sin(\theta) & \cos(\theta) & 0 \\ 0 & 0 & 1 \end{bmatrix} \]
Exemple Pràctic
Suposem que volem rotar un punt \( P = (1, 0, 0) \) al voltant de l'eix z per un angle de 90 graus (π/2 radians):
\[ R_z\left(\frac{\pi}{2}\right) = \begin{bmatrix} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1 \end{bmatrix} \]
Multiplicant la matriu de rotació pel vector \( P \):
\[ R_z\left(\frac{\pi}{2}\right) \cdot \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix} = \begin{bmatrix} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1 \end{bmatrix} \cdot \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix} = \begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix} \]
El punt rotat és \( P' = (0, 1, 0) \).
- Translacions
Definició
La translació és una transformació que desplaça un objecte d'un lloc a un altre en l'espai. Es defineix per un vector de translació \( T = (t_x, t_y, t_z) \).
Matriu de Translació
La matriu de translació en 3D és:
\[ T = \begin{bmatrix} 1 & 0 & 0 & t_x \\ 0 & 1 & 0 & t_y \\ 0 & 0 & 1 & t_z \\ 0 & 0 & 0 & 1 \end{bmatrix} \]
Exemple Pràctic
Suposem que volem traslladar un punt \( P = (1, 2, 3) \) per un vector \( T = (4, -2, 1) \):
\[ T \cdot \begin{bmatrix} 1 \\ 2 \\ 3 \\ 1 \end{bmatrix} = \begin{bmatrix} 1 & 0 & 0 & 4 \\ 0 & 1 & 0 & -2 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 1 \end{bmatrix} \cdot \begin{bmatrix} 1 \\ 2 \\ 3 \\ 1 \end{bmatrix} = \begin{bmatrix} 5 \\ 0 \\ 4 \\ 1 \end{bmatrix} \]
El punt traslladat és \( P' = (5, 0, 4) \).
- Escalats
Definició
L'escalat és una transformació que canvia la mida d'un objecte. Es defineix per factors d'escalat \( S = (s_x, s_y, s_z) \) per cada eix.
Matriu d'Escalat
La matriu d'escalat en 3D és:
\[ S = \begin{bmatrix} s_x & 0 & 0 & 0 \\ 0 & s_y & 0 & 0 \\ 0 & 0 & s_z & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \]
Exemple Pràctic
Suposem que volem escalar un punt \( P = (1, 2, 3) \) amb factors d'escalat \( S = (2, 3, 0.5) \):
\[ S \cdot \begin{bmatrix} 1 \\ 2 \\ 3 \\ 1 \end{bmatrix} = \begin{bmatrix} 2 & 0 & 0 & 0 \\ 0 & 3 & 0 & 0 \\ 0 & 0 & 0.5 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \cdot \begin{bmatrix} 1 \\ 2 \\ 3 \\ 1 \end{bmatrix} = \begin{bmatrix} 2 \\ 6 \\ 1.5 \\ 1 \end{bmatrix} \]
El punt escalat és \( P' = (2, 6, 1.5) \).
Exercicis Pràctics
Exercici 1: Rotació
Rotar el punt \( P = (2, 1, 3) \) al voltant de l'eix y per un angle de 45 graus (π/4 radians).
Exercici 2: Translació
Traslladar el punt \( P = (3, -1, 2) \) pel vector \( T = (-2, 3, 5) \).
Exercici 3: Escalat
Escalar el punt \( P = (1, 4, -2) \) amb factors d'escalat \( S = (0.5, 2, 3) \).
Solucions
Solució 1: Rotació
\[ R_y\left(\frac{\pi}{4}\right) = \begin{bmatrix} \frac{\sqrt{2}}{2} & 0 & \frac{\sqrt{2}}{2} \\ 0 & 1 & 0 \\ -\frac{\sqrt{2}}{2} & 0 & \frac{\sqrt{2}}{2} \end{bmatrix} \]
Multiplicant la matriu de rotació pel vector \( P \):
\[ R_y\left(\frac{\pi}{4}\right) \cdot \begin{bmatrix} 2 \\ 1 \\ 3 \end{bmatrix} = \begin{bmatrix} \frac{\sqrt{2}}{2} & 0 & \frac{\sqrt{2}}{2} \\ 0 & 1 & 0 \\ -\frac{\sqrt{2}}{2} & 0 & \frac{\sqrt{2}}{2} \end{bmatrix} \cdot \begin{bmatrix} 2 \\ 1 \\ 3 \end{bmatrix} = \begin{bmatrix} 3.54 \\ 1 \\ 0.71 \end{bmatrix} \]
El punt rotat és aproximadament \( P' = (3.54, 1, 0.71) \).
Solució 2: Translació
\[ T \cdot \begin{bmatrix} 3 \\ -1 \\ 2 \\ 1 \end{bmatrix} = \begin{bmatrix} 1 & 0 & 0 & -2 \\ 0 & 1 & 0 & 3 \\ 0 & 0 & 1 & 5 \\ 0 & 0 & 0 & 1 \end{bmatrix} \cdot \begin{bmatrix} 3 \\ -1 \\ 2 \\ 1 \end{bmatrix} = \begin{bmatrix} 1 \\ 2 \\ 7 \\ 1 \end{bmatrix} \]
El punt traslladat és \( P' = (1, 2, 7) \).
Solució 3: Escalat
\[ S \cdot \begin{bmatrix} 1 \\ 4 \\ -2 \\ 1 \end{bmatrix} = \begin{bmatrix} 0.5 & 0 & 0 & 0 \\ 0 & 2 & 0 & 0 \\ 0 & 0 & 3 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \cdot \begin{bmatrix} 1 \\ 4 \\ -2 \\ 1 \end{bmatrix} = \begin{bmatrix} 0.5 \\ 8 \\ -6 \\ 1 \end{bmatrix} \]
El punt escalat és \( P' = (0.5, 8, -6) \).
Conclusió
En aquesta secció, hem après sobre tres transformacions lineals fonamentals: rotacions, translacions i escalats. Hem vist com es poden representar aquestes transformacions amb matrius i hem practicat la seva aplicació a punts en l'espai 3D. Aquestes habilitats són essencials per a la manipulació d'objectes en gràfics tridimensionals i seran la base per a temes més avançats en aquest curs.
Matemàtiques 3D
Mòdul 1: Fonaments d'Àlgebra Lineal
- Vectors i Espais Vectorials
- Matrius i Determinants
- Sistemes d'Equacions Lineals
- Autovalors i Autovectors
Mòdul 2: Transformacions Lineals
- Definició i Propietats
- Matrius de Transformació
- Rotacions, Translacions i Escalats
- Composició de Transformacions
