Ir al contenido principal

3.3 Transformaciones tridimensionales

Muchos de nuestros objetos del universo 3D serán estáticos, como paredes, terrenos y objetos de decoración, pero otros objetos requerirán movimiento. En 3D existen tres tipos de movimientos básicos que combinados conforman todas las alternativas necesarias. Estos movimientos se denominan transformaciones, dado que consisten en transformaciones lineales de coordenadas y son los siguientes:

• Traslación (translation): consiste en mover cada punto por una distancia constante, en una dirección específica.

•  Rotación (rotation): movimiento de un objeto siguiendo una ruta circular.


•  Escalado (scaling): incrementa o disminuye el tamaño de un objeto, por un factor de escalar.


Transformation Matrix

Para aplicar cada uno de los tres movimientos a una malla compuesta por triángulos, sería necesario desplazar cada uno de los vértices de la misma al lugar correspondiente. Esta operación es engorrosa para objetos de mucha complejidad y se torna aún más complicado cuando se quieren acumular movimientos, por ejemplo: trasladarse, luego rotar y luego volver a trasladarse.

Es por ello que las APIs gráficas cuentan con una herramienta destinada a facilitar el movimiento de objeto denominada Transformation Matrix. Esta matriz tiene una estructura de 4x4:



La matriz es utilizada para representar todas las transformaciones necesarias para mover un objeto 3D en el universo. Los valores contenidos en la matriz son utilizados para mover, rotar y escalar objetos. Cada fila de la matriz representa la coordenada en el universo de cada eje. La primer fila contiene la posición del eje X, la segunda del eje Y y la tercera del eje Z. Cada elemento de la matriz representa una porción de la transformación. La matriz es inicialmente cargada con la matriz identidad.

La ventaja de almacenar los movimientos de los objetos 3D con esta matriz y no con vectores sueltos es que todos los movimientos, rotaciones y escalados a hacer a un objeto en un cuadro de animación pueden almacenarse en una sola matriz. Esto es gracias a la multiplicación de matrices.

Si queremos mover un objeto, después rotarlo y luego volverlo a mover podemos crear las matrices necesarias para cada movimiento y luego multiplicarlas todas, y así obtener una sola matriz resultante que engloba todo el movimiento completo.


De esta forma, la API gráfica solo recibe una única matriz que representa el movimiento total de un objeto 3D en un momento determinado, y se reduce el almacenamiento de memoria requerido.

Comentarios

Entradas más populares de este blog

3.1 Representación de objetos de tres dimensiones

El diseño ayudado por ordenador representa un gran ahorro de esfuerzo y tiempo. Además se consiguen resultados extraordinarios con respecto a los procedimientos clásicos de diseño. Los programas de diseño industrial o arquitectónico admiten tres maneras de representación de objetos. Modelos bidimensionales del objeto o parte de él. Se reproducen separadamente las diferentes caras, planos o cortes para ser estudiados y modificados. Normalmente se utiliza una representación formal del objeto, obteniendo sus vistas desde diferentes puntos de visualización. Se denominan vistas principales de un objeto, a las proyecciones ortogonales del mismo sobre 6 planos, dispuestos en forma de cubo. También se podría definir las vistas como, las proyecciones ortogonales de un objeto, según las distintas direcciones desde donde se mire. Si situamos un observador según las seis direcciones indicadas por las flechas, obtendríamos las seis vistas posibles de un objeto.  Modelos tridimensi...

4.1 Rellenos de polígonos

   Polígono es una figura básica  dentro de las representaciones y tratamiento de imágenes bidimencionales y su utilización es muy interesante para modelar objetos del mundo real.      En un sentido amplio, se define como una región del espacio delimitada por  un conjunto de lineas (aristas) y cuyo interior puede estar rellenado por un color o patrón dado.      Casos de relleno segun su complejidad   El caso mas sencillo de relleno es el triangulo.   Luego sigue el relleno de polígonos convexos de N-lados.   Relleno de polígonos cóncavos. Métodos  de relleno de polígonos con color  SCAN-LINE LINEA DE BARRIDO INUNDACIÓN FUERZA BRUTA PATRÓN SCAN-LINE   Fila a fila van trazando lineas de color entre aristas. para scan-line que cruce el polígono se busca en...