La matriz . O más bien, muchas matemáticas de matriz.
Es algo aterrador para los no iniciados. Por lo general, hay tres matrices 4x4 involucradas en convertir un montón de coordenadas 3D en el espacio en coordenadas 2D en la pantalla (incluida la profundidad en la pantalla como Z).
Las matrices 3D son un conjunto de 16 valores de coma flotante dispuestos en una cuadrícula de 4x4. Los algoritmos se usan para generar los valores requeridos y luego, usando la multiplicación de matriz-vector, estos números transforman un vector tridimensional (X, Y, Z).
[ 1, 0, 0, 0 ]
[ 0, 1, 0, 0 ]
[ 0, 0, 1, 0 ]
[ 0, 0, 0, 1 ]
Esta es la matriz de identidad . Esencialmente no hace nada a las coordenadas de un vector.
Modelo
El primero es el mundo o la matriz modelo . Esta matriz toma los vértices en un modelo individual (como una caja) modelado alrededor del origen (0, 0, 0) y los transforma en coordenadas de vértice mundial. Esto podría incluir escalar el objeto, rotarlo alrededor de su origen y finalmente traducirlo a donde está ubicado en la escena.
Ver
La segunda matriz es la matriz de vista . Esto toma las coordenadas del mundo y las transforma para que estén dentro del contexto de la vista. El concepto de cámara se usa típicamente para generar esta matriz.
La cámara generalmente contiene un vector de posición , un vector de dirección u objetivo , y un vector hacia arriba . Esta hasta vectorial describe el 'giro' de la cámara.
Estos vectores se utilizan para generar lo que se llama un mirada a la matriz.
El efecto que esto tiene es similar al del mundo. matriz en el hecho de que esencialmente gira y traduce el mundo alrededor de la cámara para "posicionar" la cámara.
Una cámara que tenga 10 unidades a lo largo del eje X traducirá las coordenadas mundiales 10 unidades en la otra dirección.
Proyección
La pieza final del rompecabezas es la matriz de proyección . En una proyección en perspectiva similar a una cámara, la matriz transforma casi coordenadas de pantalla para dar la ilusión de una perspectiva con un campo de visión de X grados.
Si piensa en términos de esquinas de la pantalla (para un juego de 640x480), así es como la proyección "alinea" las coordenadas a lo largo del eje Z dentro de las coordenadas 2D de la pantalla. Para la proyección ortográfica, no se realiza escala a lo largo del eje Z en la pantalla. Para la perspectiva, cuanto más lejos esté el objeto, más pequeño se vuelve en relación con la extensión de la pantalla.