fundamentos de eliminacion de superficies ocultas

Reviews
Shared by: Manuel Arce Garcia
Stats
views:
596
rating:
not rated
reviews:
0
posted:
12/12/2007
language:
Spanish
pages:
0
FUNDAMENTOS DE ELIMINACIÓN DE SUPERFICIES OCULTAS Graficación FCC HS/HL Removal 1 Taxonomy of Algorithms HL / HS Algorithms Image Space Hybrid Object Space Hidden Surface HS/HL Removal Hidden Line 2 ALGORITMOS DE ESTUDIO El método de la normal al plano El Algoritmo del Pintor El algoritmo de Z-Buffer El algoritmo Árboles de Partición del Espacio Binario (BSP Trees) (Tarea 5: investigar) HS/HL Removal 3 1. Introducción ¿Por qué eliminar HL/HS ? ¿Cuál ? HS/HL Removal 4 Introducción Para producir una visión realista de un cuerpo hemos de determinar qué curvas y superficies pueden ser observadas desde un punto de vista dado y cuáles no. El problema general que consiste en hacer que los objetos se vuelvan opacos en el mundo de los gráficos tridimensionales se denomina eliminación de las superficies ocultas o eliminación de líneas ocultas, puesto que implica eliminar aquellas superficies o líneas del dibujo que habitualmente permanecerían ocultas. A continuación ser verán algunos algoritmos que se dedican al tratamiento de dicho problema. HS/HL Removal 5 El Método de la normal al plano (Back-Face Culling) back-face normal pointing inside (a, b, c) ax  by  cz  d  0 ax  by  cz  d  0 a   b x, y, z,1   0 c   d    HS/HL Removal 6 Back-Face Culling (Cont’) ˆ ˆ ˆ Assuming ( x, y, z )  Int(V ), ˆ ˆ ˆ ax  by  cz  d  0 , i.e., (a, b, c) Inside a polygon V a   b ˆ ˆ ˆ x, y, z,1   0 c   d    Furthermore, ax  by  cz  d  0 0 0 boundary outside 7 HS/HL Removal Back-Face Culling (Cont’) Summary Calculate a surface normal, N = (A,B,C). N = ( P2 - P1 ) x ( P3 - P2 ) Compute D in plane equation by substituting any polygon vertex into the plane equation. Plane(P) = Ax + By + Cz + D = 0 Calculate Plane(eyept) to determine if eye is above or below. This corresponds to checking the sign of D. HS/HL Removal 8 Back-face culling (Another way) The back-face culling can be determined easily with dot product. Take a vector V from the eye to any point within the polygon (for example, from the eye to a vertex) Let A be the normal of the polygon Then, compute V*A. If it is positive then do not display. If it is negative, the face is facing the camera and might be seen. HS/HL Removal 9 In other words. 1. V=(x1-ex, y1-ey, z1-ez) 2. A= ( P2 - P1 ) x ( P3 - P2 ) 3. Calculate V · A If V · A > 0 then display If V · A < 0 then not display HS/HL Removal 10 ALGORITMO DEL PINTOR Se procede a dibujar todos los polígonos que aparecen en la escena de atrás hacia adelante, de manera que los polígonos situados en primer plano se dibujan sobre los polígonos situados en el fondo. De esta manera, los polígonos más cercanos obstaculizan la visión de los polígonos más lejanos. Los objetos que aparecen en primer plano (en este caso, las personas, pintados sobre los objetos del fondo) HS/HL Removal 11 ALGORITMO DEL PINTOR: Problema del solapamiento mutuo La clasificación se realiza sobre la coordenada z máxima de cada polígono. Existe una situación en la cual el algoritmo del pintor no es capaz de realizar una clasificación correcta de los polígonos que se pretenden dibujar. Se trata del denominado solapamiento mutuo que tiene lugar cuando tres o más polígonos se solapan entre sí de manera circular. Si dichos polígonos fuesen clasificados mediante el algoritmo del pintor, no habría un orden correcto en el cual clasificarlos. La única solución totalmente satisfactoria consistiría en dividir cada uno de los polígonos en dos. HS/HL Removal 12 6. Depth Sorting Algorithm (List Priority Algorithms) y x sorting A B C x painting (A,B,C) z A B C z Painter’s Algorithm !!! HS/HL Removal 13 Depth comparison min(z-coord of A)> max(z-coord of B)  A behind B min(z-coord of B)> max(z-coord of A)  B behind A Z A minz maxz B XY-plane HS/HL Removal 14 Establishing Depth Order List: lists those triangles that are in front of it Counter: how many triangle are behind it Triangle: list of object triangles triangle 1 2 3 4 5 6 counter 0 3 2 0 4 1 list 352 256 35 2 5 HS/HL Removal 15 EL ALGORITMO Z-BUFFER I El único sistema realmente exhaustivo para llevar a cabo una clasificación de profundidades implicaría determinar la profundidad de cada punto sobre la superficie de cada polígono en la pantalla y proceder a dibujar sólo los puntos que estén más cercanos con respecto al espectador. Afortunadamente, sólo es preciso clasificar aquellos puntos que van a ser dibujados, es decir, aquellos que corresponden a los pixels situados en el puerto de visualización. El algoritmo Z-buffer determina qué puntos situados sobre determinados polígonos están más cerca del espectador para cada píxel en el puerto de visualización. En cada posición del píxel x,y sobre el plano de visión, la superficie con la menor coordenada z en esa posición es visible. HS/HL Removal 16 EL ALGORITMO Z-BUFFER II Cada vez que un punto de la superficie de un polígono se dibuje, la coordenada z del punto es comparada con el valor actual de dicha posición en el buffer. 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, en caso contrario el nuevo píxel se dibuja sobre la anterior y la coordenada z del nuevo píxel se coloca, reemplazando al anterior. HS/HL Removal 17 5. Depth-Buffer Algorithms (z-buffer algorithms) y ( x, y ) Frame buffer intensity x z Depth buffer depth HS/HL Removal 18 HS/HL Removal 19 Summary of Z-buffer algorithm: for all i,j { Depth[i,j] = MAX_DEPTH Image[i,j] = BACKGROUND_COLOUR } for all polygons P { for all pixels in P { if (Z_pixel < Depth[i,j]) { Image[i,j] = C_pixel Depth[i,j] = Z_pixel } } } HS/HL Removal 20

Shared by: Manuel Arce Garcia
Other docs by Manuel Arce G...
FPGA Tutorial with SPARTAN 3
Views: 2980  |  Downloads: 126
JMF guide
Views: 1183  |  Downloads: 49
biblia de los trucos para windows e internet
Views: 5987  |  Downloads: 406
Apuntes de analisis numerico
Views: 5694  |  Downloads: 360
manual de matlab 7 0 español
Views: 37753  |  Downloads: 1824
criptografia y seguridad
Views: 4429  |  Downloads: 232
criptografia-matematicas
Views: 2334  |  Downloads: 163
norma rs232
Views: 4191  |  Downloads: 117
cienematica de un robot
Views: 2174  |  Downloads: 90
topologia
Views: 428  |  Downloads: 7
Teoria y praxis - EMMANUEL KANT
Views: 3165  |  Downloads: 22
Romero y julieta - Willian Shakespeare
Views: 2595  |  Downloads: 14
Procesos Elementales En Una Computadora Cuantica
Views: 1556  |  Downloads: 18
Politica - Aristoteles
Views: 841  |  Downloads: 13
Related docs
FUNDAMENTOS DE LA MOTIVACION
Views: 864  |  Downloads: 16
fundamentos
Views: 131  |  Downloads: 2
Fundamentos
Views: 59  |  Downloads: 1
fundamentos de ECO 3D
Views: 55  |  Downloads: 2
FUNDAMENTOS DE BASES ORACLE
Views: 74  |  Downloads: 1
DAEE_fundamentos
Views: 47  |  Downloads: 0
fundamentos tenis
Views: 1601  |  Downloads: 11