El producto punto y el efecto de volumen 3D

En esta entrada veremos cómo esta simple operación vectorial se convierte en una muy útil herramienta a la hora de crear el efecto de volumen en objetos 3D.

Primero veamos unos conceptos básicos acerca de los gráficos generados por computador.

Un modelo 3D, también conocido como modelo poligonal, es un conjunto de puntos o vértices, aristas y caras en el espacio euclideo.

El producto punto y el efecto de volumen 3D2

De esta manera, los vértices son puntos con coordenadas x,y,z. La unión entre dos vértices es una arista y las caras son las superficies internas definidas por un camino cerrado de 3 aristas.

A su vez, cada cara tiene asignado un vector orto-normal al plano interno de la cara, que por el momento, solo llamaremos la Normal.

El producto punto y el efecto de volumen 3D2

 

Recordemos que todo lo que vemos en los monitores son pixeles, en este caso el programa 3D le asigna a todos los pixeles la normal de la cara en la que ellos se encuentren. Adicional a esto cada pixel puede representar un color, el cual utiliza un formato llamado RGB (Red, Green, Blue); bajo este formato podemos representar una amplia gama de colores, donde cada entrada puede pertenecer a [0, 1]. Es decir que el negro en RGB es R=0, G=0, B=0, el blanco es R=1, G=1, B=1 y cualquier otra combinación genera todos los colores que conocemos.

Por el momento, estas son todas las estructuras necesarias para hacer modelos 3D por computadora tan increíbles como este.

El producto punto y el efecto de volumen 3D3

Imagen 3.

Veamos ahora cómo con estas estructuras, y con la ayuda del producto punto, podemos engañar al ojo humano y darle la ilusión de que algo visto en la superficie plana de un monitor, aparente tener volumen.

Para este ejercicio usaremos una simple esfera.  A continuación podemos observar su representación poligonal más básica.

El producto punto y el efecto de volumen 3D4

Imagen 4.

Sí, aunque en este momento no parezca, esta es una esfera con coordenadas x = y = z = 0, a la cual solo le hemos dicho que sea de color rojo es decir R=1, G=0, B=0.

Ahora debemos crear una luz en el escenario y para ello solo nos interesa definir en qué posición del espacio se encuentra, así que digamos que sus coordenadas son x=10, y=10, z=0.

Pero, ¿cómo podemos hacer que nuestra esfera “reaccione” a la nueva luz? Aquí es donde comienza a entrar en acción la Normal. Ya que cada punto en la esfera tiene asociado una normal fijémonos en los siguientes puntos y sus respectivas normales.

El producto punto y el efecto de volumen 3D5

Imagen 5.

Pues bien, recordemos que el producto punto entre dos vectores normalizados también nos indica qué tan “paralelos” son en un rango de [-1, 1] en donde:

 

 

El producto punto y el efecto de volumen 3D6

Imagen 6.

-1 son paralelos pero su dirección es opuesta

El producto punto y el efecto de volumen 3D7

Imagen 7.

0 son ortogonales

El producto punto y el efecto de volumen 3D8

Imagen 8.

 

1 son paralelos y su dirección es la misma

En ese orden de ideas si definimos una posición para nuestra luz, la podemos usar para tener un vector dirección que nos indique desde dónde viene la luz y así hacer el producto punto entre la Normal y la dirección.

El producto punto y el efecto de volumen 3D9

Imagen 9.

De esta manera, podemos tener una función para el color de la superficie:

El producto punto y el efecto de volumen 3Da

Aplicando esta sencilla función a cada punto de la superficie obtenemos la iluminación deseada.

El producto punto y el efecto de volumen 3D10

Imagen 10.

Veamos ahora la misma función aplicada sobre un objeto 3D un poco más complejo.

El producto punto y el efecto de volumen 3D11

Imagen 11.

Evidentemente, esta es solo la punta del iceberg en cuanto a la creación de los efectos sobre la superficie de modelos 3D. Actualmente es un campo de investigación cuyo objetivo es crear efectos tan realistas que el ojo humano no sepa distinguir entre realidad y 3D, todo esto usando álgebra lineal, cálculo vectorial, ecuaciones diferenciales y física de la luz solo por nombrar algunos campos de conocimiento. Para una muestra, a continuación se puede ver un video sobre el futuro de los gráficos para juegos.

https://www.youtube.com/watch?v=fBR4cT-0sKY

[Imagen 1] URL: http://what-when-how.com/digital-sculpting-with-mudbox/a-3d-primer-introduction-to-mudbox-digital-sculpting-with-mudbox/

[Imagen 2] URL: http://help.autodesk.com/cloudhelp/2015/ENU/AutoCAD-Core/images/GUID-D3063913-D3CC-43CD-B8FC-C8750B4A4144.png

[Imagen 3] URL: https://www.thegnomonworkshop.com/tutorials/creating-hyper-realistic-characters-in-zbrush

 

Autor:

Juan Camilo Acosta

Estudiante de Matemáticas

Fundación Universitaria Konrad Lorenz

 

 

 

Carácter Académico: Institución Universitaria. Personería Jurídica por Resolución 18537 del 4 de noviembre de 1981 del Ministerio de Educación Nacional. Institución de Educación Superior sujeta a inspección y vigilancia por el Ministerio de Educación Nacional (Art. 2.5.3.2.10.2, Decreto 1075 de 2015). Vigilada Mineducación.
  • imagen
  • imagen
  • imagen
  • imagen
  • imagen