Documente Academic
Documente Profesional
Documente Cultură
DE LOS
GRÁFICOS EN 3D
Informática Gráfica
5º Ingeniería Informática
Universidad de Salamanca
ÍNDICE
ÍNDICE............................................................................................................................. 2
1. INTRODUCCIÓN: LOS GRAFICOS POR ORDENADOR ...................................... 3
2. LA MIRADA TRIDIMENSIONAL ............................................................................ 6
3. LOS ORÍGENES DE LA REPRESENTACIÓN TRIDIMENSIONAL EN EL
RENACIMIENTO............................................................................................................ 7
4. LA IMITACIÓN DE LA PERSPECTIVA NATURAL ............................................ 10
5. LAS COORDENADAS CARTESIANAS................................................................. 12
5.1. La Profundidad, añadiendo la tercera dimensión ................................................ 15
6. PROYECCIONES ESPECIALES.............................................................................. 18
6.1. PERSPECTIVA TRADICIONAL ...................................................................... 21
6.2. PERSPECTIVA CON UN PUNTO DE FUGA O CÓNICA.............................. 22
6.3. PERSPECTIVA CON DOS PUNTOS DE FUGA O CABALLERA................. 23
6.4. PERSPECTIVA CON TRES PUNTOS DE FUGA O ISOMÉTRICA .............. 24
7. EL PROCESO DE CREACIÓN DE UNA IMAGEN TRIDIMENSIONAL POR
ORDENADOR ............................................................................................................... 25
7.1. EL PROCESO DE MODELADO ....................................................................... 26
7.2. EL PROCESO DE LA EXTRUSIÓN PARA GENERAR FORMAS
TRIDIMENSIONALES ............................................................................................. 26
7.3. EL MODELADO DE SECCIONES CRUZADAS............................................. 27
7.4. LA INCORPORACIÓN DE SUPERFICIES A LOS OBJETOS ....................... 27
7.5. EL MAPEO DE IMÁGENES ............................................................................. 27
7.6. EL SOMBREADO DE OBJETOS...................................................................... 28
7.6.1. Sombreado de punto de alambre .................................................................. 29
7.6.2. El sombreado plano ...................................................................................... 29
7.6.3. El sombreado de Gouraud ............................................................................ 29
7.6.4. El sombreado Phong..................................................................................... 29
7.7. PROFUNDIDAD EN IMÁGENES 3D............................................................... 31
7.7.1. EL SOMBREADO ....................................................................................... 32
7.7.2. LA ELEVACIÓN Y LA ALTURA RELATIVA ........................................ 32
7.7.3. SOLAPAMIENTO ....................................................................................... 34
7.7.4. EL BRILLO Y EL COLOR ......................................................................... 36
7.7.5. LAS SOMBRAS .......................................................................................... 37
7.7.6. EL DETALLE .............................................................................................. 38
7.7.7. LA VISIÓN BINOCULAR: ESTEREOSCOPÍA ........................................ 40
7.7.7.1. Método por Anaglífo ............................................................................. 42
7.7.7.2. Sistema de lentes polarizados ................................................................ 43
7.7.7.3. Imagen entrelazada ................................................................................ 44
7.7.7.4. Efecto Pulfritch...................................................................................... 46
7.8. ELIMINACIÓN DE SUPERFICIES OCULTAS ............................................... 46
7.8.1. EL PROBLEMA .......................................................................................... 47
7.8.2. MÉTODO DEL VECTOR NORMAL AL PLANO .................................... 48
7.8.3 EL ALGORITMO DEL PINTOR ................................................................. 50
7.8.3.1. Problema del solapamiento mutuo ........................................................ 51
7.8.4. EL ALGORITMO Z-BUFFER .................................................................... 52
7.9. EJEMPLO DE MODELADO DE UNA IMAGEN TRIDIMENSIONAL ......... 55
8. CONCLUSIONES...................................................................................................... 62
9. BIBLIOGRAFÍA ........................................................................................................ 63
2
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
Ilustración 1. Osciloscopio
3
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
4
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
nivel desde la CPU, como trazar rectas, círculos, mover SPRITES automáticamente,
actualizar la paleta de colores, etc. De este modo, la CPU se comunica a través de
puertos. Este sistema tiene la gran ventaja de descargar casi por completo a la CPU
principal del trabajo de la gestión de la pantalla. A esto se le añade que la cantidad de
memoria asignada a la pantalla puede ser superior a la que es capaz de direccionar
directamente el microprocesador principal, sin que surjan problemas de velocidad o de
transferencia de información por necesitar usar técnicas de paginación de memoria.
El otro método consiste en una circuitería que simplemente lee la imagen de la
memoria de video y la plasma en pantalla. La diferencia con el otro es que la CPU
accede directamente a esa memoria y escribe en ella los datos necesarios. Esto significa
que tiene que estar situada dentro del espacio direccionable por la CPU, como una parte
más de la memoria principal. Tiene la ventaja de que es un sistema mucho más barato y
simple que el anterior, y es perfectamente válido, pues es la circuitería extra la que
mantiene el refresco; sin embargo, es la CPU la que tiene que hacer los cálculos
matemáticos para trazar rectas, círculos, etc. Sin embargo, estos inconvenientes se
convierten en ventajas en cuanto se comprende que, de este modo, se dispone de un
control total sobre la imagen presentada, pudiendo realizar sobre ésta todas las
modificaciones que se deseen sin ninguna clase de limitación. Este sistema, por tanto, se
usa por razones de bajo precio o bien por la necesidad de altas prestaciones en pantalla.
5
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
2. LA MIRADA TRIDIMENSIONAL
6
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
Si se intenta dibujar una figura tridimensional, es fácil darse cuenta lo difícil que
es crear la ilusión de profundidad en una superficie plana. En efecto, el concepto de
espacio tridimensional resulta tan abstracto que un niño no tiene una comprensión
innata de conceptos tales como profundidad o volumen. Incluso después de haber
aprendido a pensar en tres dimensiones, resulta necesario aprender a aplicar dicho
conocimiento. Aprender a modelar objetos en el espacio tridimensional constituye un
aspecto básico del aprendizaje artístico, hasta tal punto que a menudo olvidamos que los
principios que subyacen en dicha clase de representaciones no siempre fue algo
conocido. Tenemos dos ilustraciones, la primera de ellas fue creada por el artista
florentino Cimabue hacia el año 1280. La segunda corresponde a una pintura realizada
unos 30 años más tarde por el artista Giotto. Como cabe observar, Cimabue estaba
interesado en las representaciones tridimensionales, pero Cimabue no lograba una
representación realista. Giotto nos da una solución más clara, proporcionando al
espectador un punto de vista privilegiado.
7
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
La Madonna de Giorgione (en la siguiente página) parece ser más pequeña que
las figuras que están delante del trono. Se trata de un principio totalmente contrario al
canon que regía en la Edad Media, cuando la figura más importante del cuadro aparecía
representada con el menor tamaño. El espectador contemporáneo comprende que la
Madonna sólo parece ser más pequeña precisamente porque está muy lejos del
observador.
8
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
9
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
Contemplada desde el punto de vista del ojo, una escena con perspectiva natural
presenta el aspecto Todas las líneas que aparecen en la imagen convergen en un punto
de fuga situado en la distancia. De esta manera el ojo resulta “engañado”, creando una
situación de profundidad en donde no la hay.
Giorgione conoce la fórmula para organizar la figura ante el ojo del espectador.
Imaginemos que tenemos el trabajo de Giorgione ante nosotros y que el espectador
sigue con la vista las líneas verticales del suelo. Así, nuestro hombre continúa
recorriendo el trazado de las líneas hasta llegar a la figura de la Madonna. La línea del
horizonte está situada en un punto bastante elevado, de forma tal que las líneas deberían
dirigirse hacia un punto de fuga situado detrás del trono, en las colinas que aparecen en
el fondo. Al colocar la Madonna justo sobre la trayectoria del punto de fuga, Giorgione
está utilizando la perspectiva para alinear el mundo natural con el mundo espiritual
representado con la Madonna.
10
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
11
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
La leyenda dice que el filósofo y matemático francés del siglo XVII, René
Descartes, yacía en su lecho cuando una mosca entró en su habitación y empezó a
revolotear en el techo. Entonces, el matemático concibió el sistema de coordenadas que
actualmente lleva su nombre, si bien ha sido modificado con las formas latinas.
Descartes pensó que la posición de la mosca en cualquier punto del espacio podía
describirse utilizando tres números, cada uno de los cuales serviría para representar la
posición del insecto relativa a un punto preestablecido. Más adelante, desarrolló la
misma idea incluyendo la noción de punto bidimensional en una superficie plana, cuya
posición sólo tendría que ser descrita por dos números. Dicha idea fue publicada en el
extenso apéndice de un volumen publicado por Descartes en 1637. A pesar de que este
importante concepto no despertó interés en aquel momento, el método cartesiano para
representar los puntos en un plano y en el espacio mediante la utilización de
coordenadas numéricas dio lugar a la aparición de una nueva rama de las matemáticas,
en donde se combinan la geometría y el álgebra. Esta fusión se conoce como geometría
analítica.
En geometría, una línea (concepto teórico que no necesariamente tiene que tener
una correspondencia con el mundo “real”) consiste en una serie infinita de puntos.
Además entre dos puntos hay un número infinito de puntos, por lo que cabe concluir
que la línea es infinitamente divisible. No importa cuántas veces la haya cortado, lo
cierto es que siempre podrá cortarla en trozos cada vez más pequeños. Los números
reales en términos generales son números que incluyen valores fraccionados, o en otras
palabras, números con punto decimal. Existe un número infinito de números reales,
tanto positivos como negativos, y entre dos de ellos, un número infinito de números
reales. El sistema de números reales es, al igual que la línea, infinitamente divisible. Por
esta razón, si tenemos una línea infinitamente larga (esto es posible de acuerdo con las
reglas de la geometría), cabe encontrar un punto correspondiente a cada uno de los
números reales. Aunque en la práctica no resulta posible obtener una línea
infinitivamente larga o infinitamente divisible, por ello se realiza una aproximación con
divisiones de longitudes iguales. Tradicionalmente, el valor de los números de dichas
líneas se incrementa hacia la derecha y disminuye hacia la izquierda. Sólo cabe en la
imaginación una línea numérica capaz de extenderse teóricamente a una distancia
12
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
infinita en los sentidos positivo y negativo, ya que todo el papel resulta insuficiente para
representarla. En todo caso, no tendría por qué haber problemas para localizar los
puntos correspondientes. En una línea perfecta y teórica, existe un punto para cada
número real.
El ingenio de Descartes sirvió para establecer una correspondencia entre los
puntos de una línea y los números utilizados por los matemáticos para traducir
conceptos geométricos; en otras palabras, aquellos relacionados con puntos, líneas,
planos, espacio tridimensional, etc. en términos geométricos. En una línea numérica
vertical, los valores aumentan a medida que se asciende y disminuyen a medida que se
desciende La intersección de las líneas se produce en el punto 0 de cada una y el
conjunto que estas forman es lo que se conoce como plano cartesiano. Como se puede
observar, a cada número real le corresponde un punto en ambas líneas y, de la misma
manera, a cada par de números reales le corresponde un punto en el plano rectangular
sobre el cual se encuentran trazadas las líneas.
Un par numérico correspondiente a un punto en un plano cartesiano es
denominado par de coordenadas, o simplemente, coordenadas. La utilización de pares
de coordenadas permitió a Descartes realizar una descripción numérica precisa de todos
aquellos conceptos geométricos que hasta el momento resultaban vagos y confusos. No
sólo cabe describir un punto con un par de coordenadas, sino que, además resulta
posible describir una línea utilizando dos pares de coordenadas que servirán para
representar los extremos de la línea. Asimismo, se pueden describir numéricamente otro
tipo de formas.
Las dos líneas numéricas utilizadas para establecer la posición de los puntos en
un plano se denominan ejes. Por razones históricas, los pares de coordenadas suelen
representarse mediante las variables x e y. Por este motivo, las coordenadas se conocen
como coordenadas x e y.
La similitud entre la pantalla del ordenador y el plano cartesiano reside en el
hecho de que cabe especificar la posición de cualquier punto de la pantalla mediante la
utilización de un par de coordenadas. De hecho, se trata del método más habitual para
especificar las localizaciones de los pixels.
Existen multitud de dispositivos: monitores, impresoras, plotters, etc, cada uno
con sus propias características y capacidades. Por si fuera poco, nos encontramos con
que también existen diferencias entre ellos mismos; así, nos encontramos con tarjetas
13
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
gráficas VGA, SVGA..., con impresoras de distinta resolución, plotters con más o
menos puntos por pulgada, etc. Todo esto hace que, en principio, el software tenga que
estar adaptado a las resoluciones de cada uno. Esto es debido a que trabajamos con las
COORDENADAS ESPECIFICAS del aparato. Por ejemplo, si trabajamos con un
sistema antiguo CGA, las coordenadas tendrán que darse referidas a un origen situado
en la esquina superior izquierda, y con unas dimensiones máximas de 320 x 200 puntos.
Si corriésemos ese programa con una SVGA en el modo 1024 x 768 puntos, el dibujo
saldría más pequeño, pues el programa piensa que tiene simplemente 320 x 200.
Además, al ser distinta la relación entre coordenadas X e Y, las figuras saldrían
deformadas.
El problema se resuelve usando un sistema de COORDENADAS
UNIVERSALES y VISUALES, de modo que el programa trabaja siempre en un modo
fijo, y luego estas coordenadas son traducidas a las específicas del dispositivo justo
antes de ser enviadas.
Las coordenadas universales se usan para definir cada uno de los objetos en la
base de datos. Cada uno se define con el origen de coordenadas en su centro. No existe
un límite máximo en ningún eje, sino que los objetos pueden ser tan grandes como
necesitemos.
A continuación se realiza la conversión a coordenadas visuales. En ellas, el
origen se encuentra, bien en el ojo del observador, bien en el centro del dispositivo de
representación. Aquí lo que se hace es modificar las coordenadas de cada objeto
mediante fórmulas de rotación y traslación para situarlos en el sitio y en la posición del
espacio que le corresponde a cada uno. Al igual que antes, no existe límite en el valor de
estas coordenadas. No olvidemos que trabajamos con todo el espacio.
Por último, llega el momento de convertir las coordenadas visuales en
coordenadas específicas. Para ello, necesitaremos tomar un par de dimensiones
proporcionales al dispositivo. Para hacer esto, hay que tener en cuenta la relación de
aspecto. Veámoslo con detalle:
Cuando trabajamos con cualquier ordenador, la relación de dimensiones X e Y
del tubo catódico es la misma, 3/4 (igual que los televisores normales). Esto hay que
tenerlo en cuenta a la hora de definir la relación de coordenadas universales.
Aunque resulta posible orientar los ejes cartesianos de cualquier manera en la
pantalla (o incluso fuera de la misma), lo más común es considerar la línea de pixels
14
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
situada en la parte superior de la pantalla como el eje de las x, mientras que la línea de
pixels que baja por el extremo izquierdo corresponde al eje de las y. De esta manera, el
píxel situado en la esquina superior izquierda correspondería a las coordenadas (0,0) y
constituiría el origen del sistema. Como se puede observar, en programación se ha
establecido que el eje de las y de la pantalla del ordenador debe crecer en sentido
inverso al del eje y estándar del sistema cartesiano. Probablemente, se debe a que
corresponde al sentido en que las direcciones de los pixels aumentan de valor en la
RAM de video. Esta orientación de los ejes contribuye a simplificar la tarea de calcular
las direcciones de la RAM de video de un píxel en un determinado par de coordenadas.
En los gráficos tridimensionales hace falta introducir una tercera coordenada que
represente la tercera dimensión. Para ajustarse a las convenciones empleadas en los
gráficos cartesianos tridimensionales, se llamará a esta tercera coordenada la
coordenada z.
El eje de las z será perpendicular al eje de las x (correspondiente a la anchura),
así como al eje de las y (correspondiente a la altura), transcurriendo del interior al
exterior de la pantalla.
15
Ilustración 8. Ojo respecto a pantalla con coordenadas
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
16
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
17
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
6. PROYECCIONES ESPECIALES
18
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
19
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
Supongamos que estamos observando un objeto cuyos lados son paralelos a los
ejes de coordenadas. El plano de visualización será paralelo a la cara frontal (paralelo al
plano xy). Para la perspectiva caballera, la dirección de proyección está inclinada de tal
forma que los puntos con coordenadas z positivas son proyectados abajo y a la izquierda
en el plano de visualización. Los puntos con coordenadas z negativas serán proyectados
arriba a la derecha. El ángulo del eje z proyectado puede ser el que queramos, pero la
distancia a la que el punto está situado en la dirección z proyectada debe ser igual a la
distancia real del punto al plano de visualización. Sin embargo, el resultado es un objeto
que parece alargarse a lo largo del eje z.
Una alternativa, que sigue siendo fácil de construir, es llevar sólo la mitad de la
distancia real sobre el eje z proyectado. Esta es la llamada proyección de gabinete.
20
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
21
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
El horizonte es importante porque todas las líneas horizontales (líneas que están
sobre planos paralelos al de tierra) visualmente convergen en puntos de fuga situados en
él. Líneas situadas en planos por debajo del punto de vista convergen hacia arriba hasta
la línea del horizonte, mientras que líneas sobre el punto de vista convergen hacia abajo.
Líneas que están directamente a nivel del punto vista coinciden con el horizonte y se
visualizan como una sola línea.
Cuando observamos el cubo de forma paralela a una de sus caras, sólo las líneas
perpendiculares a nosotros convergen en el horizonte. El punto de fuga reposa en esta
línea y coincide con el centro de visión. Las otras aristas del cubo tienen puntos de fuga
a una distancia infinita a cada lado (es decir, no existe punto de fuga). Estas líneas no
convergen y son paralelas al observador y a su horizonte.
22
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
23
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
24
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
25
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
26
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
27
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
28
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
29
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
tiempo de renderización para crear dicha escena. En este sentido, corresponde al usuario
escoger qué clase de sombreado resulta más apropiado en cada caso.
30
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
Los pintores renacentistas eran capaces de realizar imágenes con la perspectiva correcta,
esto es, la perspectiva real, aunque a veces la exageraban un poco para cumplir a ciertos
intereses estéticos. Aquí tenemos un ejemplo de Caravaggio, en el que se aplica la
técnica del escorzo.
Las principales técnicas utilizadas, además de los puntos de fuga, para simular la
profundidad en imágenes en 3D son la elevación, el brillo y el color, el detalle en primer
plano y en el fondo de la escena, el tamaño relativo de los objetos conocidos, el
contorno y la visión binocular. De todos ellos hablaremos a continuación, haciendo
énfasis en sus características y poniendo ejemplos.
31
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
7.7.1. EL SOMBREADO
La técnica de sombreado consiste en definir la forma en que los colores de los objetos
interactúan con la luz existente en la escena. La zona del objeto más brillante representa
la zona donde la luz incide directamente. Si el objeto se distancia de la luz o la
superficie no está directamente expuesta a la luz, entonces se vuelve más oscuro. Un
ejemplo de esto lo podemos encontrar en la siguiente imagen.
El sombreado nos aporta una sensación del volumen y del tacto de los objetos de la
escena, aportando realismo.
Esta técnica se basa en la sensación que nos aporta el que un objeto sea observado desde
un punto de vista superior al objeto o no. En caso de que estemos mirando el objeto
desde arriba, este nos parecerá más pequeño que si lo miramos desde su misma
horizontal, o desde abajo. No hay que confundir esto con otra técnica utilizada que es la
altura relativa, la cual consiste en que cuanto más alto estén situados los objetos en el
32
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
plano horizontal (cuanto más cerca estén de la línea del horizonte), más lejanos parecen.
Ejemplo:
33
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
7.7.3. SOLAPAMIENTO
Esta técnica consiste en la superposición de unos objetos sobre otros. Los objetos más
cercanos al observador ocultarán aquellos que se situan en su misma línea de visión y
que están más lejanos que estos. Para el ejemplo hemos utilizado dos figuras
bidimensionales, un cuadrado y un círculo. En la primera imagen podemos ver que
ambas figuras se situan a la misma profundidad sobre el plano, no ofreciendo ninguna
información tridimensional de profundidad.
34
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
35
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
En la simulación 3D, se utiliza el brillo y el color para, de alguna manera, ubicar los
objetos unos respecto a otros, y todos respecto a la luz de la escena (bien sea uno o
varios focos). De esta forma se puede considerar que los objetos más brillantes son los
que más cerca se encuentran de los focos de luz, así mismo, el color también es más
vivo cuando la luz incide más sobre el objeto. Por lo tanto los objetos menos brillantes,
y con menos intensidad de color se situarán en un plano más lejano de los focos de luz.
Muchas veces la luz suele coincidir con el observador o un punto cercano a él. De esta
forma, los objetos más brillantes y con colores más intensos serán los más cercanos al
observador. A continuación veremos un ejemplo de los efectos del brillo y el color en
las imágenes 3D.
36
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
Las sombras es una de las técnicas más utilizadas para dar sensación de profundidad en
imágenes 3D. Muchas de las aplicaciones utilizadas para el tratamiento de la luz dan al
usuario la posibilidad de modelar estas sombras, permitiendo modificar su forma,
intensidad, color, granularidad, ... A continuación se muestran algunos ejemplos de
trabajos con sombras. También se puede apreciar en la anterior Ilustración 29 el uso de
las sombras.
37
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
Las sombras van a proporcionar realismo a las escenas, haciendo de nuestras imágenes
3D algo más verdadero y palpable.
7.7.6. EL DETALLE
A medida que nos acercamos a los objetos, el nivel de detalle de los mismos se va
incrementando, hasta el punto de alcanzar su mayor nivel en los objetos que el
observador puede alcanzar. Esta es una técnica que enfatiza la profundidad en las
38
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
escenas 3D, y junto a otras técnicas vistas anteriormente, hacen que las imágenes cobren
un mayor realismo.
Un ejemplo del uso del detalle en imágenes 3D puede ser el siguiente, en el que vemos
cómo a medida que nos vamos alejando del observador, los objetos van perdiendo
detalle en sus contornos, formas y colores. Así pues, el coche azul tiene un gran nivel de
detalle, el coche amarillo, algo menos, aunque todavía bastante, puesto que se trata de
un objeto cercano y que además forma parte significativa de la escena. Sin embargo,
podemos ver cómo los edificios y las montañas han perdido mucho nivel de detalle (así
como color y brillo) puesto que se encuentran en planos muy alejados del observador.
Para optimizar el uso de esta técnica, conviene desdibujar el contorno de los objetos
distantes desde el primer momento, reduciendo mucho el tiempo empleado en construir
y renderizar toda la escena.
Para conseguir esta falta de detalle, muchas aplicaciones de diseño gráfico proporcionan
filtros capaces de desdibujar contornos y reducir el nivel de detalle.
39
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
Este principio ha sido utilizado con mucha frecuencia para la generación de efectos
tridimensionales. El método más común consiste en crear dos imágenes que están
ligeramente desviadas entre sí, asignándoles diversos colores, habitualmente, rojo y
verde. Cuando se contempla la escena a través de unas gafas provistas de una lente de
color rojo y otra de color verde, cada ojo contempla una escena ligeramente diferente y
el cerebro interpreta la imagen como si fuera tridimensional.
El cerebro tiene una forma específica de crear una imágen en 3D. Para ello requiere de
datos sobre la distancia de los objetos, dicha información se obtiene gracias a que
tenemos dos ojos capaces de obtener una vista del mismo objeto desde ángulos
distintos, dando como resultado una triangulación de la cual el cerebro obtiene la
distancia al objeto.
40
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
Para poder ver 2 imágenes como una sóla capaz de darnos la sensación de profundidad
y tridimensionalidad, necesitaríamos el estereoscopio. Sin embargo también es posible
ver estas imágenes a simple vista, fijando la vista en la línea entre las dos imágenes y
bizqueando de forma que lleguemos a ver 3 imágenes. La imagen que se ve en el centro,
es la mezcla de la otras dos imágenes y tiene un efecto tridimensional.
A continuación se proporcionará una breve descripción de cada técnica relacionada con
este principio de la estereoscopía y que se han utilizado para generar este efecto de
tridimensionalidad.
41
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
Con este nombre tan aparatoso, se denomina a la técnica que utiliza filtros de colores
para separar las dos imágenes. Si vemos a través de un filtro rojo, los colores verde o
azul se ven como negro y si utilizamos un filtro verde, azul o cian, el rojo parece negro.
Este principio nos permite mezclar dos imágenes y observarlas a través de las lentes
anaglifo, que son las que utilizan 2 filtros de color, uno verde y otro rojo, uno para cada
ojo, obteniendo un efecto estereoscópico.
Un filtro utiliza el color rojo, y el otro depende del medio utilizado. Así pues, para
impresión se acostumbra a utilizar el azul. Para proyección o para video el filtro es
verde, que es mas brillante.
Hay que añadir un inconveniente a esta técnica, con estos filtros, la imagen parece estar
en blanco y negro. Existe otra variante que utiliza un filtro rojo y otro cian, si la imagen
no esta muy saturada, se puede hacer una separación de color de la imagen, conservando
el componente rojo de la imagen izquierda y los componente verde y azul de la imagen
42
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
43
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
La técnica de imagen entrelazada utiliza una propiedad del video que se conoce como
barrido o entrelazado. Cuando se inventó la televisión, se encontró que al proyectar a 30
cuadros por segundo (o 25 en pal), se percibía un parpadeo en la imagen que podía ser
molesto, una alternativa hubiera sido aumentar la velocidad de los cuadros (como en las
computadoras actuales), pero la cantidad de información hubiera sido excesiva para la
tecnología de la época, por lo que se recurrió a otra solución, cada cuadro de video se
dividió en dos imágenes, una de ellas consiste en las líneas pares y la otra en las líneas
44
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
impares y a cada una de estas partes se le llamó campo. El resultado es que la imagen se
transmite a 60 campos por segundo, lo cual logra que el parpadeo se reduzca.
Esta propiedad se puede utilizar de manera que un campo tenga la imagen del ojo
izquierdo y el otro campo la imagen del ojo derecho. Para esto se utilizan unos lentes
especiales elaborados con cristal líquido, los cuales se cierran y se abren 60 veces por
segundo, lo que hace posible bloquear un ojo si y el otro no para que cada uno vea la
imagen correspondiente.
Aquí vemos un ejemplo de una imagen entrelazada:
45
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
separa las imágenes para entrelazarlas, pero a una frecuencia mayor que la de video, con
esto se elimina en mucho la vibración, pero tiene el inconveniente de que no se pueden
utilizar monitores o proyectores convencionales de video.
Este sistema está basado en un dato fisiológico respecto al cerebro y es que este tarda un
poco en procesar las imágenes. El llamado Efecto Pulfrich fue descubierto por el
médico alemán Carl Pulfrich en 1922. El fenómeno es la percepción de un efecto
estereoscópico cuando se observa una imagen en movimiento horizontal sobre un plano
y con un filtro oscuro situado delante de uno de los ojos. Debido a la menor
luminosidad que percibe el ojo con el filtro, la imagen llega al cerebro con un retardo de
unas centésimas de segundo. Por tanto, en la estereopsis el cerebro percibe la misma
imagen pero con una pequeña diferencia de posición horizontal, lo que genera el efecto
estereoscópico.
Al observar una escena desde un determinado punto de vista, se supone que hay zonas
de los objetos presentes en esta que no se deberían mostrar, siendo ocultados por otros
objetos o por otras partes de los mismos. Para conseguir, por tanto, un mayor realismo
en la escena habría que tener en cuenta qué superficies de los objetos deben permanecer
ocultas al observador desde su punto de vista y cuales no. De esta forma también
evitaremos ambigüedades en la escena.
Para conseguir ocultar estas superficies en cada momento, existen una serie de
algoritmos de líneas y superficies ocultas, que se clasifican bien en función a
definiciones de objetos en forma directa o bien en función a sus imágenes proyectadas.
De esta forma podemos establecer una primera clasificación con 2 grupos bien
diferenciados: Un primer grupo que recoge aquellos métodos que comparan objetos y
partes de los mismos para determinar qué superficies y líneas deben ser ocultas. El
46
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
7.8.1. EL PROBLEMA
47
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
Para conseguir ocultar zonas que no deberían verse en la escena, este método está
basado en que las caras que miran hacia atrás del objeto no se pintan. Para definir la
parte delantera del plano, los vértices de éste deben definirse en sentido antihorario por
los motivos que veremos a continuación:
Para empezar necesitamos hallar un vector perpendicular o normal al plano que defina
la cara que estamos tratando. Para ello, cogemos dos segmentos consecutivos, y los
multiplicamos vectorialmente, tomando sus coordenadas como coordenadas de vectores.
Esto nos dará las coordenadas de un vector que cumple la condición de
perpendicularidad a los dos iniciales. Debido a que el producto vectorial no es
conmutativo, para que este vector apunte hacia el exterior de la figura, es necesario que
los vértices de cada plano estén definidos en sentido antihorario.
Por lo tanto, para definir cada plano, debemos imaginarnos la figura de tal modo que el
plano que vamos a traducir a datos esté mirando hacia nosotros, y escribir entonces las
coordenadas de los vértices en sentido antihorario.
Una vez que tenemos las coordenadas de esos vectores normales al plano, llega el
momento de aplicar el algoritmo de visibilidad. Para ello, hallaremos las coordenadas
del vector que une el ojo del observador con un vértice cualquiera de la cara a testear.
Una vez hecho esto, aplicamos el producto escalar de este vector y el normal a la
superficie, y obtendremos un valor dependiente del ángulo que forman. A partir de este
valor, si es uno, entonces el vector apunta hacia el observador, y si es cero, será normal
al vector que une el vértice con el ojo del observador. De aquí deducimos que, si el
valor resultante es positivo, la cara está mirando hacia la parte delantera del objeto, o
sea, hacia nosotros, y entonces la pintaremos.
Si el valor es negativo, la cara está mirando hacia atrás del objeto, así que no la
pintaremos. Si el valor es cero, la cara es normal a nosotros, luego podríamos dejarla sin
pintar, pues quedaría reducida a una simple línea.
48
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
Ventajas e inconvenientes:
Este método tiene la clara ventaja de su rapidez y su relativa simplicidad de aplicación.
Es útil para usar con figuras no excesivamente complicadas, y cuando solo hay una en
pantalla.
Entre sus inconvenientes, el primero es que no funciona bien con figuras convexas, ya
que en éstas, las superficies pueden quedar parcialmente cubiertas por otras, dejando a
la vista sólo una parte de estas. Y aquí llegamos al inconveniente. Este algoritmo es
imcapaz de determinar si las superficies quedan parcialmente ocultas. Sólo puede
decidir si es oculta o no, esto es, si se va a ver o no. De este modo, estas superficies
siempre se pintarían completas, restando credibilidad a la imagen y otorgando cierto
grado de ambigüedad en muchos casos. Otro inconveniente surge cuando se tienen
varios objetos en pantalla. Entonces, aunque en cada objeto se eliminen correctamente
las superficies ocultas, puede ocurrir que uno se superponga sobre otro. Cuando esto
ocurre, se verán los dos, uno a través del otro, como si fuesen transparentes, aunque
cada uno solo tendrá las caras visibles.
49
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
El nombre "algoritmo del pintor" se refiere a un pintor que primero dibuja los elementos
lejanos de una escena y después los cubre con los más cercanos. El algoritmo del pintor
ordena todos los polígonos de una escena en función de su profundidad y después los
pinta en ese orden, pintando encima de las partes que no son visibles y solucionando así
el problema de la visibilidad.
Ilustración 38. Primero las montañas, luego el prado y luego los árboles, en función a la distancia
Este sistema parecería resolver nuestro problema, pero hay una trampa. Si dibujamos
polígonos de atrás hacia adelante, ciertamente contribuiríamos a la eliminación de
superficies ocultas, pero ¿cómo se da este orden de atrás hacia adelante? Se trata de un
problema que resulta más difícil de lo que cabría suponer en un primer momento. La
respuesta obvia consiste en clasificar los polígonos en un orden inverso al de sus
coordenadas z, utilizando un algoritmo de clasificación estándar. Esta operación se
denomina clasificación de profundidades y constituye el primer paso en la
implementación del algoritmo del pintor. Pero cuando se procede a clasificar los
polígonos por las coordenadas z, ¿qué coordenada z hay que utilizar? Es preciso
recordar que cada polígono tiene al menos tres vértices, y que cada uno de estos vértices
posee su coordenada z. En la mayor parte de los casos las tres coordenadas z resultan
diferentes entre sí. ¿Se debería utilizar aquella que corresponde al primer vértice del
listado de vértices? O, ¿quizás resulta necesario buscar la coordenada z máxima entre
todas las coordenadas z de los vértices y luego efectuar la clasificación?.
En realidad, no importa qué coordenada se esté utilizando, siempre y cuando se emplee
la misma para cada polígono, es decir, la elección de la coordenada no afectará al
resultado final siempre que se actúe de forma consistente.
50
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
Ventajas:
La primera ventaja que tiene este método es que elimina todas las caras que no se ven,
mientras que el método anterior, bajo ciertas condiciones, podía dejar caras que
realmente no se verían.
La segunda ventaja es que también elimina trozos de caras parcialmente ocultas por
otras, con lo que arreglamos de un plumazo el principal problema del otro sistema. Por
si fuera poco, el algoritmo también funciona razonablemente bien cuando hay varias
figuras en pantalla solapándose.
La única precaución que hay que tomar en este caso es que, al ordenar los planos del
más alejado al más cercano, no debe hacerse con los de cada objeto por separado, sino
que debe hacerse con todas las caras de todos los objetos en conjunto.
Inconvenientes:
En las implementaciones más básicas, el algoritmo del pintor puede ser poco eficiente,
ya que fuerza al sistema a renderizar cada punto de todos los polígonos visibles, incluso
si estos polígonos están ocultos en la escena final. Esto implica que, en las escenas
detalladas, el algoritmo del pintor puede consumir demasiados recursos.
51
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
52
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
posición del píxel en la cual se ha dibujado el punto. La siguiente vez que un píxel se ha
dibujado en la misma posición, la coordenada z del punto representada por el nuevo
píxel es comparada con el valor actual en la serie correspondiente en dicha posición. Si
la coordenada z en el buffer es menor que la del nuevo punto, el nuevo píxel no se
dibuja, ya que dicho punto estaría más lejos que el punto anterior y formaría parte de
una superficie oculta. Si la coordenada z en el buffer es mayor que la del nuevo punto,
entonces el nuevo píxel se dibuja sobre la anterior y la coordenada z del nuevo píxel se
coloca, reemplazando al anterior.
53
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
Las profundidades vienen representadas por números de tal forma que el cero representa
el punto más alejado del espectador. En el ejemplo se observa que inicialmente el z-
buffer se encuentra vacío. A continuación se añade un polígono con profundidad
constante 5 al z-buffer vacío. En la parte inferior se muestra el resultado de añadir un
nuevo polígono con profundidades distintas en sus puntos sobre el z-buffer obtenido
con anterioridad.
Otro ejemplo donde se cruzan 2 objetos triangulares es el siguiente:
Las profundidades de cada pixel se superponen y se pintarán los píxeles con menor
valor de profundidad, como indica la figura de la parte superior derecha.
54
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
55
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
56
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
57
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
58
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
59
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
60
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
61
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
8. CONCLUSIONES
El estudio de este tema nos ha revelado mucho sobre las bases de los gráficos en 3D,
desde sus orígenes, en el Renacimiento, hasta las técnicas utilizadas en la actualidad
como por ejemplo el z-buffering.
Un personaje que hizo huella en la generación de imágenes tridimensionales es
Descartes, mediante su propuesta del sistema de coordenadas (que es el actual).
La formación de imágenes 3D parte de imágenes bidimensionales. El problema de
representar en un superficie bidimensional una vista de un objeto tridimensional ya
existía mucho tiempo antes de la aparición de los ordenadores. A la hora de crear
imágenes tridimensionales en el ordenador hay que tener muy clara la diferencia entre
coordenadas universales, visuales y especificas. Lo primero que necesitamos para
realizar gráficos 3D es saber proyectar puntos tridimensionales (los del gráfico) sobre
un plano (la pantalla o monitor). El proceso de modelado de imágenes tridimensionales
trata, fundamentalmente, de la creación de la estructura geométrica de los objetos en la
memoria del ordenador y la subsiguiente construcción de superficies.
Las principales técnicas para simular imágenes tridimensionales y dotarlas de realismo
son, por ejemplo, el sombreado, el mapeado de texturas, el coloreado, el uso del brillo,
la elevación, el detalle, ..., y algoritmos como el del pintor, el z-buffering ..., que
permiten dar una sensación de profundidad y realismo a las imágenes.
El ordenador, en la actualidad, es ampliamente utilizado para la generación de imágenes
en 3D, llegando a su máximo exponente en el cine y los videojuegos.
62
Informática Gráfica Alberto Pastor Nieto
Israel García Sánchez
9. BIBLIOGRAFÍA
Foley, Van Dam, Feiner, Hughes (1997) Computer Graphics. Principles and practice.
pp. 616, 669 y 670. Shaddock, Philip (1994)
Estereoscopía,
http://www.paralax.com.mx/09_video3d.html
Imágenes en 3 dimensiones,
http://216.12.215.150/datos_web/hemeroteca/r_9/nr_133/a_1641/1641.htm
StereoWEB 3D,
http://www.users.inycom.es/~agonzalez/
63