Visualización y Realismo: Problemas Cap´ıtulo 5.

Anuncio
Visualización y Realismo:
Problemas Capı́tulo 5.
Carlos Ureña Almagro
Curso 2010-11
1
C.Ureña
Visualización y Realismo
2010-11
Problema 5.1
Supongamos que se usa la técnica del mapa de perturbación de la normal para darle la apariencia rugosa
a una superficie lisa:
• Indica si es necesario modificar algo en el algoritmo de evaluación del MIL sencillo visto en teorı́a
• Indica si es necesario modificar algo en el algoritmo de ray-tracing, en el caso en que la superficie
rugosa sea especular perfecta
(los cambios se refieren a cambios adicionales a sustituir la normal original por la normal modificada)
Problema 5.2
Imagina una escena con 4 fuentes de luz puntuales y 6 esferas visibles, que se sintetiza por ray-tracing. La
evaluación del modelo de iluminación local, para cada fuente de luz lleva el mismo tiempo que un test de
intersección rayo-esfera.
Calcula que fracción de tiempo se emplea en cálculo de intersecciones y que fracción se emplea en evaluación
del modelo de iluminación local.
Suponer que las esferas son totalmente difusas y ocupan el 50% de los pixels de la pantalla.
Problema 5.3
En el algoritmo de ray-tracing existe un nivel de recursión máximo a partir del cual se devuelve el color
negro, y que previene el problema que supondrı́a (en cuanto a tiempo de calculo y memoria) un excesivo
número de niveles de recursión.
Existe una técnica mejor que consiste en acabar la recursión cuando la contribución (del sub-árbol de rayos
que queda por evaluar) al color del pixel está afectada de un factor de reflectividad muy bajo (inferior a un
umbral prestablecido). Esto permite acabar con la recursión antes si las reflectividades son muy bajas.
Indica que modificaciones concretas harı́as en el algoritmo de ray-tracing para implementar esto.
Problema 5.4
Escribe el algoritmo que permite obtener las coordenadas (número de fila y columna) de un pixel de una de
las seis imágenes de un mapa de entorno rectangular
El algoritmo tiene como dato de entrada el vector reflejado r = (r x , ry , rz ) (que suponemos de longitud
unidad) que expresa la dirección reflejada o simétrica respecto del vector hacia el observador v
Es necesario suponer que las texturas se asocian a las caras de un cubo cuyos lados tienen 2 unidades de
longitud, y cuyo centro es el origen de coordenadas, (0, 0, 0). El tamaño de las texturas es n x × ny pixels
(todas el mismo). Cada textura es una matriz de ternas RGB.
Creado April 12, 2011
página 2 / 4
C.Ureña
Visualización y Realismo
2010-11
Problema 5.5
Suponamos una proyección perspectiva, en la cual el observador está situado en el origen de coordenadas,
mirando hacia la parte positiva del eje Z. El plano de proyección es perpendicular al eje Z, y está a la
distancia 1 del observador (es el plano Z = 1).
Supongamos que se proyecta un segmento cuyos dos extremos tienen de coordenadas ( x, z) (−1, 2) y (3, 6)
(las coordenadas Y son nulas). Verifica si el punto central al segmento se proyecta en el punto central del
segmento entre las proyecciones de los dos vértices originales.
A la vista del resultado razona si es exacta, o no lo es, la interpolación lineas de valores de Z, de color o de
coordenadas de textura que se usa en Z-buffer.
Problema 5.6
En el problema anterior describe como podemos solucionar el problema asociado a la no exactitud de la
interpolación lineal de los valores en Z.
Problema 5.7
Supón que se quiere implementar el algoritmo de sombras arrojadas por Z-buffer. Supón que conocemos la
posición p del punto en el cual se quieren calcular las sombras, la posicion l del punto donde está la fuente
de luz, ası́ como el origen o y los vectores u (horizontal) y v (en vertical) que definen la posición del plano
de visión asociado al Z-buffer de sombras. Suponemos que el número de pixels de ese Z-buffer es n x × ny .
Escribe el pseudocódigo del algoritmo que sirve para saber si el punto p está en sombra o iluminado por
la fuente de luz. (suponer que el Z-buffer es una matriz de valores reales que expresan distancias en
coordenadas del mundo)
Problema 5.8
Describe los problemas que pueden surgir cuando se usa el Z-buffer para sombras arrojadas, y describe como
podemos modificar el pseudocódigo del problema anterior o los parámetros del mismo para aliviar o eliminar
dichos problemas.
Problema 5.9
Supón que queremos evaluar el MIL en un punto p de una superficie con normal n. Conocemos también el
vector u, tangente a la superficie en p en la dirección en las que crece la coordenada u de textura, ası́ como
el vector v, tangente en la dirección en la que crece la coordenada v de textura. Tenemos una textura (de
valores reales entre 0 y 1, con n x × ny pixels que queremos usar para hacer perturbación de la normal.
Escribe el pseudocódigo de cálculo de la normal modificada n0 (tener en cuenta que los módulos de u y v no
tienen que ser la unidad, sino que son proporcionales al ritmo de variacion de las coordenadas de textura,
en concreto son derivadas vectoriales).
Creado April 12, 2011
página 3 / 4
C.Ureña
Visualización y Realismo
2010-11
fin de problemas del capı́tulo 5.
Creado April 12, 2011
página 4 / 4
Descargar