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