Este documento introduce conceptos básicos de gráficos 3D como vértices, texturas, luces, materiales y proyecciones. Explica que los vértices son puntos en 3D usados para formar geometrías como triángulos. Las texturas son imágenes aplicadas a las geometrías para darles apariencia realista. Las luces afectan el color de los objetos y las propiedades de materiales definen cómo son afectados por la luz. Finalmente, las proyecciones transforman las coordenadas 3D a 2D para visualización.
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Guia basica 3D
1. Universidad Francisco Jose de Caldas
Ingenieria de Sistemas Enla siguiente imagen
PyGroup se muestran
los puntos que definen
Jefferson Garzon Mahecha una geometria en
un espacio 3D:
jgarzon@gmail.com
CONCEPTOS BASICOS DE GRAFICOS EN
3D
Como mencionaba anteriormente los vertices son
I. Introducción usados para formar triangulos que juntos dan la
aparencia de un objeto en 3D, asi como lo muestra
El presente documento pretende ser una guia de la siguente imagen:
introduccion a los conceptos que se aparecen
cuando se incursiona en la programacion de
aplicaciones con graficos 3D y que son
fundamentales para el dominio de las distintas
API's de desarrollo que se encuentran hoy en dia.
Se presentan la definicion de los conceptos y una
representacion grafica de los mismos, cuando es
posible, para facilitar la comprension de los
mismos.
Palabras Claves: vertice, textura, luz, material, De forma similar es poscible definir muchos mas
puntos e interconectarlos de forma tal que formen
proyeccion.
las geometrias que deseemos.
II.Vertices
III. Texturas
A diferencia de las aplicaciones con graficos 2D, Aun que generar las geometrias que deseamos y
en las cuales se despligan imagenes para mostar el
mostrarlas en pantalla puede ser suficiente en
contenido de la misma, en las aplicaciones que algunos casos, la realidad es que en la mayoria de
hacen uso de graficos en 3D, el contenido que se
ocasiones estan geometrias simulan la apariencia de
desea presentar esta definido por un conjunto de objetos del mundo real podriamos querer que
puntos definidos en 3 dimensiones, los cuales se
nuestras geometrias tengan apariencias distintas y
usan para dibujar geometrias que definen, por mas vistosas, al igual que en los videojuegos donde
ejemplo, personajes en un juego, o escenarios,
todo simula la apariencia real de las cosas.
estos puntos son lo que llamamos vertices en el
ambito de graficos 3D.
Para esto se suelene usar muchas tecnicas, pero una
de ellas y la mas intuitiva y facil de usar son las
Siguiendo esta idea todo lo que deseemos colocar
texturas, las cuales simplemente son imagenes que
en pantalla ha de ser definido como un conjunto de
atraves de un proceso de asignacion son usadas pa
puntos en un espacio 3D, que son usados para
recubrir las caras de nuestras geometrias y darles
dibujar generalmente triangulos, cuadrados que
una apariencia mas realista.
forman geometrias en 3D cuando se usan juntos.
2. Para aplicar una textura a una geometria debemos 3D, gracias a las API's de desarrollo podemos
especificar que punto de la imagen se asigna a simular la iluminacion de nuestros modelos,
nuestro vertice, de esta forma las API's son capaces dandoles una apariencia mas real y para el uso de
de saber que porcion de la imagen usar para estas las API's ponen a nuestra disposicion
recubrir las caras de nuestra geometria. funciones que nos permiten modificar los atributos
de estas, tales como su posicion, su intensidad,
En la siguiente imagen se muestra la geometria de color de la luz, direccion en la que apuntan, entre
un cubo que ha sido desplegado sin usar texturas: otros.
Aun cuando cada API's define como se deben
especificar los atributos de las luces, es de resaltar
que todas manejan las mismas propiedades, las
cuales a groso modo son:
Color Difuso: Se refiere a el color en si que emite
la luz, es decir el color que tendria un objeto
totalmente blanco bajo esta luz.
Como podemos notar su apariencia no es muy Color Especular: Se refiere a el color de los
realista pero si usaramos una imagen para usarla brillos de los objetos que son influenciados por la
como textura y la aplicaramos a este cubo, luz.
obtendriamos un aspecto mas realista:
Color Ambiente: Hace referencia a las partes nos
iluminadas de los objetos que son influenciados por
la luz, es decir el color de las partes que estan a la
sombra.
V. Materiales
Pero que seria de las luces, si los objetos no son
capaces de reflejar la luz que proviene de ellas,
para ello existe algo llamado materiales, que no
son mas que las propiedades de un objeto con
A la izquierda se muesta la imagen utilizada como respecto a la forma en que la luz los afecta.
textura para nuestro cubo y a la derecha vemos
como la apariencia de nuestro cubo cambia en gran Los materiales nos permiten definir como un objeto
medida al aplicar la textura. es afectado por la luz que lo influencia, entre las
propiedades que nos permiten especificar los
No es objetivo de este documento detallar en el materiales encontramos:
proceso de texturizacion, pero cabe resaltar que
muchas herramientas de Modelado en 3D nos Color Difuso: Es el color que el objeto tendria bajo
facilitan esta tarea de muchas formas. una luz blanca, es decir, su color en si mismo.
IV. Luces Color Especular: Se refiere a el color de los
brillos que emite.
Al igual que en el mundo real en las aplicaciones
3. Brillo: Define que tanto brilla un objeto, se podria Proyeccion en Perspectiva
ver como que tan pulido es un objeto, con la cual
entre mas pulido sea mas brillara. Esta tipo de proyeccion es mas parecida a como
nosotros vemos el mundo, en esta el tamaño de un
Aun cuando existen algunos otros atributos, estos objeto cambia según que tan alejado esta de nuestro
son los mas importantes, pues en gran medida punto de vista, con lo cual un objeto grande que
definen la apariencia del objeto, cabe resaltar que este alejado parecera mas pequeño que uno de
el uso de materiales suele ir muy acompañado del menor tamaño que este cerca a el punto de vista
uso de texturas, con lo cual se pueden obtener nuestro.
efectos de iluminacion mas realistas.
VI. Proyecciones
Para terminar hablaremos de las proyecciones, las
cuales con la forma en que ese mundo 3D, es
visualizado en un plano 2D, como lo es nuestro
monitor.
Como hemos dicho los vertices que definen
nuestros modelos estan en un espacio 3D, pero lo
que nosotros vemos en el monitor es solo una Aun cuando la diferencia es muy pequeña, se ha de
proyeccion de ese espacio en nuestra pantalla, resaltar que si desplazaramos el cubo mas lejos de
para lograr esto se hace uso de proyecciones, que la de nuestro punto de vista, en una proyeccion en
son representadas como matrices que transforman perpectiva este se haria mas pequeño.
esas coordenadas 3D de nuestros vertices en puntos
2D de nuestra pantalla, aun cuando el proceso es VII. Conclusiones
mas complejo que eso, esa es la idea basica detras
de este proceso. El desarrollo de aplicaciones con graficos 3D es
uno de los mas complicados y laboriosos que
En las API's para graficos 3D se suelen usar 2 tipos existen, debido a que aparecen nuevos conceptos
de proyecciones, aun cuando podriamos definir las que debemos dominar para hacer uso de las
nuestras, la cuales son: herramientas y API's.
Proyeccion Ortogonal He de resaltar que los conceptos explicados en este
documento son apenas lo basico para adentrarse en
En este tipo de este gran mundo, que cada dia avanzada a pasos
proyeccion un objeto enormes.
tendra el mismo
tamaño sin importar
que tan alejado este
del punto desde donde
veamos el mundo.
4. IX. Referencias
• Un Sitio Web: Programacion de
VideoJuegos – http://www.unsitioweb.com
• Blender: Herramienta para generar modelos
3D – http://www.blender.org
• OpenGL: API multiplataforma para el
manejo de graficos en 3D
http://www.opengl.org
• Direct3D – Parte de DirectX, un API para el
desarrollo de aplicaciones bajo windows –
http://
es.wikipedia.org/wiki/Direct3D