jueves, 1 de marzo de 2012

Proyección perspectiva



La proyección ortogonal no da sensación de profundidad porque el tamaño de los objetos 
no depende de su distancia al observador.
Para conseguir este efecto necesitamos definir una proyección perspectiva. 
Esta proyección define un volumen de la vista que es una prisma 
truncado de base rectangular, como el de la siguiente figura:
 

la función OpenGL que establece este tipo de perspectiva es:
void glFrustum(izquierda, derecha, abajo, arriba, cerca, lejos);
este modo de definir la proyección perspectiva no es demasiado intuitivo.


Coordenadas oculares 
Las coordenadas oculares se sitúan en el punto de vista del observador, sin importar las transformaciones que tengan lugar. Por tanto, estas coordenadas representan un sistema virtual de coordenadas fijo usado como marco de referencia común. En la ilustración 4.1 se pueden apreciar dos perspectivas de este sistema de coordenadas. 


Las transformaciones son las que hacen posible la proyección de coordenadas 3D sobre superficies 2D. También son las encargadas de mover, rotar y escalar objetos. 

El modelador.- En esta sección se recogen las transformaciones del observador y del modelado puesto que, como se verá en el apartado 4.2.1.3, constituyen, al fin y al cabo, la misma transformación.
Transformaciones del observador.- La transformación del observador permite colocar y apuntar la cámara donde y hacia donde se quiera. Todas las transformaciones posteriores tienen lugar basadas en el nuevo sistema de coordenadas modificado.
Transformaciones del modelo.- Estas transformaciones se usan para situar, rotar y escalar los objetos de la escena. La apariencia final de los objetos depende en gran medida del orden con el que se hayan aplicado las transformaciones.
La matriz del modelador.- La matriz del modelador es una matriz 4x4 que representa el sistema de coordenadas transformado que se está usando para colocar y orientar los objetos. Si se multiplica la matriz del vértice (de tamaño 1x4) por ésta se obtiene otra matriz 1x4 con los vértices transformados sobre ese sistema de coordenadas.
La matriz de proyección.- La matriz de proyección especifica el tamaño y la forma del volumen de visualización. El volumen de visualización es aquel cuyo contenido es el que se representa en pantalla. Está delimitado por una serie de planos de trabajo. De estos planos, los más importantes son los planos de corte, que son los que nos acotan el volumen de visualización por delante y por detrás.


Para especificar una cámara virtual con perspectiva se necesita los siguientes parámetros:
cam
p
posición
(position)
d
dirección de mirada
(direction)
l
centro de enfoque
(look-at point)
u
dirección hacia arriba
(up-vector)
n
distancia al plano anterior
(near distance)
f
distancia al plano posterior
(far distance)
a=w/h
aspecto
(aspect)
Descripción: $ \alpha$
ángulo de abertura
(aperture angle)

No hay comentarios:

Publicar un comentario