Sie sind auf Seite 1von 11

UNIVERSIDAD NACIONAL DEL ALTIPLANO PUNO

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS

COMPUTACION GRÀFICA

Informe Nº2

INTEGRANTES:

CÓDIGO APELLIDOS Y NOMBRES

151644 MACHACA PAMPAMALLCO, Mireya Yarumi

153984 MAMANI MONTES, Juliana

Computación Gráfica 1
INTRODUCCION

El cómputo de la viabilidad es crucial para gráficos de computadora de su


comienzo. Los primeros algoritmos de visibilidad en gráficos de computadora
apuntaban a determinar superficies visibles en una imagen sintetizada de una
escena 3D. Hoy en día hay muchos algoritmos de visibilidad diferentes para
varios problemas de visibilidad. Proponemos una nueva taxonomía de los
problemas de visibilidad que se basa en una clasificación según el dominio del
problema. Proporcionamos una amplia visión general de los problemas de
visibilidad y algoritmos en gráficos por computadora agrupados por la
taxonomía propuesta. El documento estudia los algoritmos de superficie visible,
los algoritmos de eliminación de visibilidad, los algoritmos de visibilidad para el
cálculo de sombreado, la iluminación global, la representación basada en
puntos y en imágenes, y los cómputos de visibilidad global. Finalmente,
discutimos conceptos comunes de diseño de algoritmos de visibilidad y varios
criterios para el algoritmo de clasificación de visibilidad. La visibilidad se estudia
en gráficos de computadora, arquitectura, geometría computacional, visión
artificial, robótica, telecomunicaciones y otras áreas de investigación. Los
gráficos de ordenador intentan sintetizar imágenes de escenas virtuales
simulando la propagación de la luz.

Computación Gráfica 2
INDICE

1. Visibilidad en gráficos por computadora .............................................................................. 4


2. Taxonomía de problemas de visibilidad ................................................................................ 4
3. Dominio del problema........................................................................................................... 4
3.1 Visibilidad a lo largo de una línea.................................................................................. 5
3.2 Visibilidad desde un punto ............................................................................................ 6
3.3 Visibilidad de un segmento de línea ................................................................................. 6
4. Algoritmos con precisión de imagen ..................................................................................... 7
4.1 Algoritmo del Pintor ...................................................................................................... 7
4.1.1 ¿Qué es el algoritmo del pintor? ...................................................................... 8
4.1.2 ¿Cómo funciona el algoritmo del pintor? ........................................................ 8
4.2 El algoritmo no produce un ordenamiento correcto en todos los casos ...................... 8
4.3 Z-buffer (coherencia de profundidad)........................................................................... 8
4.3.1 Método de Buffer con Profundidad .................................................................. 9
5. Conclusión ........................................................................................................................... 11
6. Bibliografía .......................................................................................................................... 11

Computación Gráfica 3
1. Visibilidad en gráficos por computadora

Visibilidad es un fenómeno crucial que es una parte integral de la interacción de


la luz con el medio ambiente. Los primeros algoritmos de visibilidad apuntaban
a determinar qué líneas se basaban en el dominio del problema.

La taxonomía debe ayudar a comprender la naturaleza de un problema de


visibilidad particular y proporciona una herramienta para agrupar problemas de
complejidad similar independientemente de su aplicación objetivo.

La descripción del dominio es independiente de la dimensión de la escena, es


decir, el problema de la visibilidad desde un punto puede establecerse para
escenas 2D y 3D. Sin embargo, los dominios reales difieren según la dimensión
escenográfica. Por ejemplo, como veremos más adelante, la visibilidad desde
un polígono es equivalente a la visibilidad desde una región en 2D, pero no en
3D.

Los dominios problemáticos se pueden categorizar como: discretos o


continuos.
 Un dominio discreto consiste en un conjunto finito de líneas (rayos), que
es una situación común cuando el problema tiene como objetivo calcular
la visibilidad con respecto a una imagen ráster.

2. Taxonomía de problemas de visibilidad

La visibilidad es un fenómeno que se puede definir por medio de puntos


mutuamente no ocluidos: dos puntos son mutuamente visibles si el segmento
de línea que los conecta no está ocluido. A partir de esta definición podemos
hacer dos observaciones:

(1) las líneas tienen visibilidad,


(2) dos puntos pueden ser visibles independientemente de su distancia.

La primera observación dice que el dominio de un problema de visibilidad está


formado por el conjunto de líneas a través del cual las entidades de la escena
pueden ser visibles. Llamamos a este conjunto el conjunto de líneas relevantes
para el problema.

La segunda observación dice que la visibilidad de las entidades de escena es


independiente de su proximidad espacial

3. Dominio del problema

El dominio del problema está dado por el conjunto de líneas relevantes para el
problema, es decir, por el conjunto de líneas involucradas en la solución del
problema. Las gráficas por computadora se relacionan con los siguientes
dominios:

Computación Gráfica 4
1) visibilidad a lo largo de una línea
2) visibilidad desde un punto
3) visibilidad desde un segmento de línea
4) visibilidad desde un polígono
5) visibilidad desde una región
6) visibilidad global

Figura 1: Conjuntos de líneas relevantes para el problema en 2D

3.1 Visibilidad a lo largo de una línea

Los problemas de visibilidad más simples se relacionan con la visibilidad en


una sola línea. El conjunto de líneas relevantes para el problema es cero-
dimensional, es decir, está completamente especificado por la línea dada. La
visibilidad a lo largo de los problemas de una línea se puede resolver
calculando las intersecciones de la línea dada con los objetos del espacio. La
visibilidad más común a lo largo de un problema de línea es disparar el rayo
(Arvo y Kirk, 1989). Dado un rayo, la detección de rayos determina la primera
intersección del rayo con un objeto de escena. Un problema similar al disparo
de rayos es la visibilidad punto a punto.

La visibilidad de punto a punto determina si el segmento de línea entre dos


puntos no está desconectado, es decir, el segmento de línea no tiene
intersección con un objeto opaco en la escena. Otra visibilidad entre un
problema de línea es determinar los segmentos máximos de la línea de frenado
en una línea determinada.

Computación Gráfica 5
Vea la Figura 2 para una ilustración de la visibilidad típica a lo largo de una
línea de problemas.

Figura 2: Visibilidad a lo largo de una línea. (izquierda) Ray disparando. (centro) Visibilidad
punto a punto. (derecha) Alineamientos libres máximos entre dos puntos

3.2 Visibilidad desde un punto

Las líneas que intersectan un punto en 3D pueden describirse por dos


parámetros. Por ejemplo, las líneas se pueden expresar mediante una
intersección con una esfera unidad centrada en el punto dado. La
parametrización más común describe la alineación por un punto de intersección
con un plano (de observación) (vea la Figura 3).

Figura 3: Visibilidad desde un punto. Las líneas que se cruzan con un punto pueden describirse
por un punto de intersección con un plano.

Debido a su importancia para la síntesis de imágenes, la determinación de


superficie visible cubre la mayoría de los algoritmos de visibilidad existentes en
gráficos por computadora.

3.3 Visibilidad de un segmento de línea

Las líneas que intersectan un segmento de línea en 3D pueden describirse por


tres parámetros. Un parámetro fija la intersección de la línea con el segmento;
los otros dos expresan la dirección de la línea. Por lo tanto, podemos crear una
imagen

Computación Gráfica 6
La línea relevante para el problema establece L3sis tridimensional y L2sis
bidimensional. Una observación interesante es que en 2D, la visibilidad desde
un segmento de línea ya alcanza la dimensión de todo el espacio de línea

Figura 4: Visibilidad de un segmento de línea. Líneas que intersectan un segmento de línea de L3

4. Algoritmos con precisión de imagen

4.1 Algoritmo del Pintor


 Ideado por M.E. Newel, R.G.Newel y T.L. Sancha, en 1972

 Tiene precisión de imagen: asigna a cada pixel su polígono o color.


 Está basado en una ordenación previa de los polígonos, de forma que
se dibujan todos según ese orden (algoritmos de listas de prioridad)
 La idea es que los más cercanos al observador se dibujen después y así
tapen a los más lejanos

La lista de polígonos se debe ordenador por profundidad, con algún criterio

Figura 5: Polígonos por profundidad

En principio, la ordenación se puede hacer según la coordenada Z más lejana


al observador (más pequeña) de cada polígono (llamaremos Zmin(P) a dicho
valor para el polígono P)

Computación Gráfica 7
4.1.1 ¿Qué es el algoritmo del pintor?
Es una de las soluciones más simples para el problema de visibilidad en los
gráficos 3D por computadora, cuando se proyecta una escena de tres
dimensiones en un plano de dos es necesario determinar que polígono son
visibles y cuales no

4.1.2 ¿Cómo funciona el algoritmo del pintor?


El algoritmo del pintor o método de ordenamiento en profundidad lleva acabo
las siguientes funciones básicas:

1) Se ordena las superficies en orden decreciente de profundidades


2) Se digitalizan las superficies por orden, comenzando por la superficie de
mayor profundidad

El algoritmo de pintor o el nombre de algoritmo de pintor se refiere a un pintor


que primero dibuja los elementos lejanos de una escena y después los cubre
con los demá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 orden, pintando encima de las partes
que no son visibles y solucionando así el problema de visibilidad

4.2 El algoritmo no produce un ordenamiento correcto en todos los casos

Figura 6. El algoritmo no produce un ordenamiento correcto en todos los casos

(izq.) El ordenamiento obtenido, (A, B), es inverso al correcto, (B, A), ya que: Zmin(A) < Zmin(B)

(der.) Se producen ciclos, y por tanto no existe ninguna ordenación valida de los polígonos.

4.3 Z-buffer (coherencia de profundidad)

 Ideado por E.Catmull en 1974, necesita un array bidimensional (Z-


buffer), con una entrada por cada pixel

Es el más popular, y es el que viene implementado en la mayoría de las


tarjetas gráficas.

Usa dos memorias:

Computación Gráfica 8
 Memoria profundidad
 Memoria color

Pre proceso

 Inicialización memorias

Proceso

 Conversión desordenada de polígonos


 Comprobación de cercanía y actualización

Características destacables

 No precisa ordenación
 Maneja todo tipo de escenas
 Dimensión de la memoria

Ventajas del método:

 El tiempo de ejecución no depende de la complejidad de la escena, sino


sólo de su parte visible.
 Puede utilizarse cualquier tipo de objeto
 No se necesitan algoritmos de intersección o Óptimo para ser
implementado en hardware

4.3.1 Método de Buffer con Profundidad


Uno de los planteamientos de imagen-espacio que se utiliza para detectar
superficies visibles es el método de buffer con profundidad, que compara
las profundidades de las superficies en cada posición de pixel en el plano
de proyección. Este procedimiento se conoce también como método de
buffer z, ya que, por lo regular, la profundidad del objeto se mide desde el
plano de visión a lo largo del eje de las z de un sistema de vista. Cada
superficie de una escena se procesa por separado, un punto a la vez a lo
largo de la superficie. Por lo general, el método se aplica en escenas que
sólo contienen superficies de polígono porque los valores de profundidad se
pueden calcular con gran rapidez y es fácil implementar el método. No
obstante, el método se puede aplicar a superficies no planas.

Yv

Figura 10
S3 (x,y)
S2 Xv En la posición del plano de visión (x,y) la superficie S1,
tiene la profundidad menor desde el plano de visión y de
S1
este modo es visible en esta posición
Zv

Computación Gráfica 9
Cuando se convierten las descripciones de los objetos a coordenadas de
proyección, cada posición (x, y, z) en una superficie de polígono corresponde al
punto de proyección ortogonal (x, y) en el plano de visión. Por tanto, para cada
posición de pixel (x, y) en el plano de visión, se pueden comparar las
profundidades del objeto al comparar los valores de z. La figura 10 ilustra tres
superficies a diferentes distancias a lo largo de la línea de proyección ortogonal
desde la posición (x, y) en un plano de visión que se considera como el plano
xo, yo. La superficie S1 esta más próxima a esta posición, de modo que se
guarda su valor de intensidad de superficie en (x, y).

Podemos implementar el algoritmo de buffer con profundidad en


coordenadas normalizadas, de manera que los valores de z van de 0 en el
plano de recorte posterior a zmax, en el plano de recorte frontal. Se puede
establecer el valor de zmax, sea como 1 (para un cubo unitario) o como el valor
más alto que sea posible almacenar en el sistema.

ALGORITMO

Eje de

las y Figura 11

A partir de la posición (x,y) en una línea de rastreo, la posición


siguiente a lo largo de la línea tiene las coordenadas (x+1, y) y la
posición inferior inmediata en la siguiente línea tiene las
Eje de las x coordenadas (x, y-1)
x x+1

En la posición (x,y) de la superficie, la profundidad z se calcula como:

( Ax  By  D)
z
C

La siguiente posición z' se calcula como:

( Ax  1  By  D)
z' 
C

A
z'  z 
C

A/C es una constante en cada superficie

Computación Gráfica 10
5. Conclusión

Para el Método de Clasificación de Profundidad (Algoritmo del Pintor) cada


capa de pintura cubre la capa anterior alternando de ser necesario, pero es
posible que el algoritmo se establezca en un ciclo infinito si dos o más
superficies que se oscurecen (superponen) en forma alterativa entre sí. En este
caso la superficie se marca para no ser alternada nuevamente, pero incluso así
puede darse el caso, por lo que análogamente las superficies se subdividen
para eliminar las superposiciones y tratar cada división como una superficie
más.

Para el Método de Buffer con Profundidad (Z-buffer) puede darse al caso de


pintar varias veces un pixel lo que implica altos costos para determinar su color
e incluso para superficies de polígono, es muy sencillo implementar el método y
no requiere clasificar las superficies en una escena. Pero requiere la
disponibilidad de un segundo buffer además del buffer de enfriamiento (similar
a Scan Line).

6. Bibliografía

Urena Almagro, C. (2011, 11 noviembre). Visualizaci´on y Realismo: Cap´ıtulo 2. Eliminaci´on


de Partes Ocultas. Recuperado 3 julio, 2018, de https://lsi.ugr.es/curena/doce/vr/transpa/11-
12/vr-c02-impr.pdf

Algoritmos de Visibilidad. (2016, 13 junio). Recuperado 3 julio, 2018, de


https://grafica2016a.files.wordpress.com/2016/03/algoritmos-de-visibilidad.pdf

Chover, M. (2014, 1 mayo). Visibilidad. Recuperado 3 julio, 2018, de


http://repositori.uji.es/xmlui/bitstream/handle/10234/5984/4_Visibilidad.pdf?sequence=1

Shreiner, D., The Khronos OpenGL ARB Working Group, OpenGL Programming Guide: The
Official Guide to Learning OpenGL, Versions 3.0 and 3.1 7th Edition, 2009.

Computación Gráfica 11

Das könnte Ihnen auch gefallen