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:

  1. Comprendre els fonaments dels gràfics per ordinador.
  2. Aplicar transformacions geomètriques per manipular objectes 3D.
  3. Utilitzar matrius de transformació per a la projecció i visualització d'objectes 3D.
  4. Implementar conceptes bàsics de renderització.

  1. 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.

  1. 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} \]

  1. 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} \]

  1. 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:

  1. Translació de \((2, 3, 4)\).
  2. Rotació de \(45^\circ\) al voltant de l'eix Z.
  3. Escalat per un factor de 2 en totes les direccions.

Solució:

  1. Translació: \[ T = \begin{bmatrix} 1 & 0 & 0 & 2
    0 & 1 & 0 & 3
    0 & 0 & 1 & 4
    0 & 0 & 0 & 1 \end{bmatrix} \]

  2. 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} \]

  3. 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.

© Copyright 2024. Tots els drets reservats