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:
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)
|
![]() |
ángulo
de abertura
|
(aperture
angle)
|
No hay comentarios:
Publicar un comentario