En aquesta secció, explorarem com els conceptes matemàtics que hem après fins ara s'apliquen en el camp dels gràfics per ordinador. Els gràfics per ordinador són una part fonamental de moltes aplicacions modernes, des de videojocs fins a simulacions científiques. A través d'aquest tema, entendrem com es representen, manipulen i renderitzen objectes 3D en un ordinador.
Objectius d'Aprenentatge
Al final d'aquesta secció, hauràs de ser capaç de:
- Comprendre els fonaments dels gràfics per ordinador.
- Aplicar transformacions geomètriques per manipular objectes 3D.
- Utilitzar matrius de transformació per a la projecció i visualització d'objectes 3D.
- Implementar conceptes bàsics de renderització.
- Introducció als Gràfics per Ordinador
Els gràfics per ordinador impliquen la creació i manipulació d'imatges visuals mitjançant ordinadors. Aquest procés inclou diverses etapes, des de la modelització d'objectes fins a la seva renderització final en una pantalla.
Components Principals
- Modelatge 3D: Creació de representacions matemàtiques d'objectes tridimensionals.
- Transformacions Geomètriques: Manipulació d'objectes mitjançant rotacions, translacions i escalats.
- Projecció: Conversió d'objectes 3D en imatges 2D.
- Renderització: Generació de la imatge final amb il·luminació, textures i ombres.
- Transformacions Geomètriques
Les transformacions geomètriques són fonamentals per manipular objectes en un espai tridimensional. Les transformacions més comunes són la translació, la rotació i l'escalat.
Translació
La translació desplaça un objecte d'una posició a una altra en l'espai 3D.
Matriu de Translació:
\[
T = \begin{bmatrix}
1 & 0 & 0 & t_x
0 & 1 & 0 & t_y
0 & 0 & 1 & t_z
0 & 0 & 0 & 1
\end{bmatrix}
\]
Rotació
La rotació gira un objecte al voltant d'un eix especificat.
Matriu de Rotació (al voltant de l'eix Z):
\[
R_z = \begin{bmatrix}
\cos \theta & -\sin \theta & 0 & 0
\sin \theta & \cos \theta & 0 & 0
0 & 0 & 1 & 0
0 & 0 & 0 & 1
\end{bmatrix}
\]
Escalat
L'escalat canvia la mida d'un objecte.
Matriu d'Escalat:
\[
S = \begin{bmatrix}
s_x & 0 & 0 & 0
0 & s_y & 0 & 0
0 & 0 & s_z & 0
0 & 0 & 0 & 1
\end{bmatrix}
\]
- Projecció d'Objectes 3D
La projecció és el procés de convertir coordenades 3D en coordenades 2D per a la visualització en una pantalla. Les dues projeccions més comunes són la projecció paral·lela i la projecció perspectiva.
Projecció Paral·lela
En la projecció paral·lela, les línies de projecció són paral·leles entre si.
Matriu de Projecció Paral·lela:
\[
P_{par} = \begin{bmatrix}
1 & 0 & 0 & 0
0 & 1 & 0 & 0
0 & 0 & 0 & 0
0 & 0 & 0 & 1
\end{bmatrix}
\]
Projecció Perspectiva
En la projecció perspectiva, les línies de projecció convergeixen en un punt, simulant la manera en què l'ull humà percep la profunditat.
Matriu de Projecció Perspectiva:
\[
P_{per} = \begin{bmatrix}
1 & 0 & 0 & 0
0 & 1 & 0 & 0
0 & 0 & 1 & 0
0 & 0 & \frac{1}{d} & 0
\end{bmatrix}
\]
- Renderització
La renderització és el procés de generar una imatge 2D a partir d'un model 3D. Aquest procés inclou càlculs d'il·luminació, aplicació de textures i generació d'ombres.
Il·luminació
L'il·luminació determina com la llum afecta la superfície dels objectes. Un model d'il·luminació comú és el model de Phong, que inclou components ambientals, difusos i especulars.
Textures
Les textures són imatges aplicades a la superfície dels objectes per donar-los detalls visuals.
Ombres
Les ombres afegeixen realisme a la imatge renderitzada, indicant la presència de fonts de llum i la seva interacció amb els objectes.
Exercici Pràctic
Exercici 1: Aplicació de Transformacions
Donat un cub amb els seus vèrtexs inicials, aplica les següents transformacions:
- Translació de \((2, 3, 4)\).
- Rotació de \(45^\circ\) al voltant de l'eix Z.
- Escalat per un factor de 2 en totes les direccions.
Solució:
-
Translació: \[ T = \begin{bmatrix} 1 & 0 & 0 & 2
0 & 1 & 0 & 3
0 & 0 & 1 & 4
0 & 0 & 0 & 1 \end{bmatrix} \] -
Rotació: \[ R_z = \begin{bmatrix} \cos 45^\circ & -\sin 45^\circ & 0 & 0
\sin 45^\circ & \cos 45^\circ & 0 & 0
0 & 0 & 1 & 0
0 & 0 & 0 & 1 \end{bmatrix} \] -
Escalat: \[ S = \begin{bmatrix} 2 & 0 & 0 & 0
0 & 2 & 0 & 0
0 & 0 & 2 & 0
0 & 0 & 0 & 1 \end{bmatrix} \]
Aplica aquestes matrius als vèrtexs del cub per obtenir les noves coordenades.
Resum
En aquesta secció, hem explorat els fonaments dels gràfics per ordinador, incloent les transformacions geomètriques, la projecció i la renderització. Hem après com aplicar matrius de transformació per manipular objectes 3D i com convertir aquests objectes en imatges 2D per a la seva visualització. A més, hem vist com la il·luminació, les textures i les ombres contribueixen a la generació d'imatges realistes. Amb aquests coneixements, estàs preparat per aprofundir en aplicacions més avançades dels gràfics per ordinador.
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