Vous êtes sur la page 1sur 18

79

Leccin 8

Vistas y Proyecciones




Trinit, Massacio.
80
Contenidos

Vistas y proyecciones
Vistas 3D clsicas
Especificacin del marco de referencia y las vistas de la cmara
Posicin y apuntamiento de la cmara
El volumen de visin
Proyecciones geomtricas planas
Proyecciones paralelas
Proyecciones perspectivas
Matrices de proyeccin


Il Tributo, Massacio.

8.1. Vistas y proyecciones
Generacin de vistas 3D a partir de modelos

Propsito: Paso de descripcin de un modelo 3D a proyeccin en 2D
Dificultades:
Mayor complejidad en los objetos 3D
Necesidad de realizar una proyeccin (siempre una visualizacin en
2D), y reducir la cantidad de dimensiones de una entidad.

Tipos de proyeccin
Paralela:
Ortogrfica:
o Paralela a la normal al plano de proyeccin (planta, perfil, alzado)
o Axonomtricas (planos de proyeccin no normales a un eje
principal)
Oblicua: Direccin de proyeccin no normal al plano de proyeccin
Perspectiva: Con 1, 2 3 puntos de fuga

81
8.2. Vistas 3D clsicas

Elevacin Frontal Elevacin oblicua Planta oblicua


Isomtrica Perspectiva desde un punto Perspectiva desde tres puntos

Vista clsica
La vista requiere tres elemento bsicos
Uno o ms objetos
Un observador con una superficie de proyeccin
Proyectores que van desde el(los) objeto(s) a la superficie de proyeccin
Las vistas clsicas se basan en las relaciones entre estos elementos
El observador toma el objeto y lo orienta cmo el/ella lo desea ver
Se asume que cada objeto es construido desde las principales caras
planas
Objetos de edificios, poliedros, manufacturados

Modelo de escena
Escena de sala con cmara de cine.
Proyecciones ortogrficas.


Frente

Perfil

Planta


82
Representacin

Proyeccin ortogrfica axonomtrica

Proyeccin perspectiva cnica
8.3. Especificacin del marco de referencia y las vistas de la
cmara
Metfora: Cmara sinttica

Sistemas de referencia y modelo de cmara sinttica
Sistema de referencia local: objetos de la base de datos.
Sistema cannico para cada objeto.
Sistema de referencia global o del mundo: escena.
Sistema de coordenadas de vista: cmara, plano de proyeccin y ventana
de recorte

La vista tridimensional comprende una proyeccin y un volumen de vista
(respecto del cual se recorta la escena)

Plano de vista
Plano de vista: plano de proyeccin (normalmente se sita entre los objetos
y el observador).
Se define por:
o punto de referencia de vista (VRP)
o vector normal al plano de vista (VPN)



83
Sistema de coordenadas de vista (VRC: View reference
coordinates)
Su origen es el VRP (view reference point)
VPN vector normal al plano de vista. Es uno de los ejes del sistema
VUP (view up vector) vector de vista arriba. Es otro de los ejes del sistema
Eje v se define como la proyeccin de VUP en el plano de vista
Eje u es v x n para formar sistema de mano derecha
VRP, VPN y VUP se especifican en el sistema de coordenadas del mundo

Position
Look vector
Up vector

Pipeline de vista tridimensional



Por lo tanto, pasar de coordenadas de mundo a coordenadas de proyeccin
supone:
1. Definir una ventana tridimensional, o volumen de vision.
2. Transformar a las coordenadas de vista.
3. Recortar objetos grficos con respecto al volumen de visin (e.g.,
versiones tridimensionales de Cohen-Sutherland, etc.)
4. Aplicar una transformacin de proyeccin para obtener las coordenadas
de proyeccin.

Sistemas de Coordenadas y Transformaciones
Pasos en la Formacin de una Imagen
especificar geometra (world coordinates)
84
especificar cmara (camera coordinates)
proyectar (window coordinates)
mapear al viewport (screen coordinates)
Cada paso usa transformaciones
Cada transformacin es equivalente a un cambio en los sistemas de
coordenadas (frames)
8.4. Posicin y apuntamiento de la cmara
Sistema de coordenadas de vista (VRC: View reference
coordinates) (cont.)

Plano de vista: definido por VRP y VPN


Ventana de recorte
Define el rea de vista que el usuario tiene de la escena completa. Sobre el
plano de vista.
Las partes del mundo tridimensional que una vez proyectadas queden fuera
de la ventana de vista no se representarn.
Determinada por las coordenadas mximas y mnimas de u y v.
No tiene por qu ser simtrica con respecto al VRP

Plano de Vista

CW: Centro de la ventana

Punto de referencia de proyeccin (PRP)
Se sita al observador mediante:
punto de referencia de proyeccin (PRP proyection reference point)
Tipo de proyeccin
VRP, VPN y VUP se especifican en el sistema de coordenadas del mundo
85
El PRP se especifica en el sistema VRC, no en el del mundo. La posicin de
PRP con respecto al VRP no cambia al mover el VRP o VUP
8.5. El volumen de visin
Porcin del mundo real que se recortar y proyectar sobre el plano de
vista.
Las posiciones detrs del PRP no se incluyen en el volumen de vista y por
tanto no se proyectan

Volumen de visin en proyeccin perspectiva
En proyeccin perspectiva, el volumen de visin es una pirmide infinita con
centro en PRP y aristas que pasan por los vrtices de la ventana de recorte


Volumen de visin en proyeccin paralela
En proyeccin paralela, es un paraleleppedo con los lados paralelos a la
direccin de proyeccin DOP (determinada por PRP y centro de la ventana)


86
Para que el volumen de visin sea finito (limitar la visin del usuario y el
nmero de objetos que se proyectan), se limita mediante los planos de
recorte anterior y posterior (o cercano y lejano).
Son planos paralelos al plano de vista, su normal es VPN

Planos de recorte en proyeccin perspectiva


Volumen de visin en proyeccin perspectiva


87
Planos de recorte en proyeccin paralela


Volumen de visin en proyeccin paralela


8.6. Proyecciones geomtricas planas
Una proyeccin geomtrica consiste en hacer pasar ejes proyectores por el
objeto a proyectar, encontrando su interseccin con una entidad de
proyeccin, normalmente una superficie.
Proyecciones estndares proyectan sobre un plano
Proyectores son lneas que
son paralelas, o
convergen al centro de proyeccion
Tales proyecciones preservan las lneas
aunque no necesariamente los ngulos
Proyecciones no planas son necesarias para aplicaciones como
construccin de mapas
88
Si los ejes proyectores son paralelos entre s, entonces la proyeccin se
denomina paralela (ortogonal u oblicua).
En cambio, si los proyectores convergen sobre un foco, la proyeccin se
denomina perspectiva.

Taxonoma de proyecciones geomtricas planeares


Vistas de Perspectiva vs. Vistas Paralelas
En la computacin grfica se tratan todas las proyecciones del mismo modo
y se las implementa con una nica pipeline
Las vistas clsicas desarrollaron tcnicas distintas para dibujar cada tipo de
proyeccin
La distincin fundamental es entre las vistas paralelas y de perspectiva,
aunque matemticamente hablando la vista paralela es el lmite de la vista
de perspectiva

89
8.7. Proyecciones paralelas


Proyeccin ortogrfica
Proyectores son ortogonales a la superficie de proyeccin


Proyeccin Ortogrfica Multivista
Plano de proyeccin paralelo a la cara principal
Generalmente formas vistas de frente, de arriba, de lado

Isomtrica (no es
vista ortogrfica
multivista)




frente
En CAD y en
arquitectura, a
menudo se
desplegan tres
multivistas ms la
isomtrica

arriba

lado

90
Ventajas y Desventajas
Preserva las distancias y los ngulos
Las formas son preservadas
o Pueden ser usadas para mediciones
Plantas de edificios
Manuales
No se puede ver qu objeto verdaderamente es en su apariencia porque
muchas superficies estn ocultas de la vista
A menudo se incorpora la isomtrica

Proyecciones axonomtricas
Las proyecciones axonomtricas (isomtrica, dimtrica y trimtrica), son
similares a las ortogrficas.
Permiten al plano de proyeccin un movimiento relativo al objeto, es decir,
posicionan el plano de proyeccin en modo no normal a los planos del
sistema de coordenadas.
Como los ejes proyectores son perpendiculares al plano de proyeccin,
entonces los ejes dejan de ser paralelos a los ejes del sistema de
coordenadas. clasificando por cuntos ngulos de una esquina de un cubo
proyectado sean los mismos.
De esa manera, ubicando un plano de proyeccin en un lugar adecuado, es
posible obtener en una nica proyeccin toda la informacin necesaria, algo
que con las proyecciones ortogrficas es difcil y requiere varias vistas.
ninguno: trimtrica
dos: dimtrica
tres: isomtrica



91
Tipos de proyecciones axonomtricas

Dimtrica Trimtrica Isomtrica

Ventajas y Desventajas
Lneas son escaladas (foreshortened) pero puede encontrar factores de
escalamiento
Lneas preservadas pero no los ngulos
Proyeccin de un crculo en un plano no paralelo al plano de proyeccin
es una elipse
Se pueden ver las tres caras principales de un objeto con forma de caja
Es posible que se presenten algunas ilusiones pticas
Lneas paralelas aparecen divergentes
No se ve real porque los objetos lejanos son escalados lo mismo que los
objetos lejanos
Usadas en aplicaciones CAD

Proyeccin Oblicua
Relacin arbitraria entre proyectores y el plano de proyeccin
Las proyecciones oblicuas hacen pasar ejes proyectores en forma oblicua
por el plano de proyeccin, el cual sigue siendo paralelo a los planos del
sistema de coordenadas.
Al igual que las proyeccin axonomtrica, se respeta la uniformidad de
distancias en los tres ejes, aunque cada uno de ellos tiene una escala
diferente.




92

Ventajas y Desventajas
Puede tomar ngulos para enfatizar una cara particular.
Arquitectura: planta oblicua, elevacin oblicua
ngulos en caras paralelos al plano de proyeccin son preservados
mientras todava podemos ver el lado de alrededor.
En el mundo fsico, no se pueden crear con una simple cmara; es posible
con camra desde abajo o lentes especiales (de arquitectura)
8.8. Proyecciones perspectivas

8.9. Matrices de proyeccin
Proyeccin Ortogrfica Multivista
Si el plano de proyeccin es paralelo a la cara principal, entonces, en la
prctica, viene ignorada la coordenada respectiva.
Por ejemplo, hacer pasar ejes paralelos al eje : por un plano paralelo al
plano xv, conserva las componentes en x e v de las entidades proyectadas,
pero descarta la componente :.
Es decir,
x
p
x
0
, v
p
v
0
,

y por lo tanto, la operacin de proyeccin se puede representar por medio
de una matriz (denominada matriz de proyeccin):



Normalmente se adopta la convencin de que la proyeccin se efecta
sobre el plano de la ventana (probablemente en NCS), por lo que es
necesario pasar de las coordenadas homogneas a las coordenadas de la
ventana:
x x
p
/h, v v
p
/h
93

y por ltimo al viewport por medio de la transformacin de ventanas
adecuada.

Proyeccin Perspectiva
Para la Computacin Grfica, la proyeccin perspectiva es ms til dado
que genera un efecto geomtrico parecido, aunque limitado, al efecto visual
en el ojo humano.
Supongamos que el plano de proyeccin es el plano xv, y que el observador
est en (0,0, -1) mirando hacia la direccin positiva del eje :,

Entonces, se establece la siguiente ecuacin a partir de la relacin de los
tringulos respectivos:



Lo mismo se efecta para la coordenada v:





Una forma de combinar la divisin en la perspectiva con el paso de
coordenadas homogneas a coordenadas comunes es usar la siguiente
matriz de perspectiva:


94
y, luego, pasando las coordenadas homogeneas a las coordenadas de la
ventana:


Para usar la perspectiva (dado que luego se deben ejecutar los algoritmos
de cara oculta), normalmente se realiza antes la transformacin perspectiva
sin proyeccin (es decir, sin eliminar la coordenada :) con la siguiente
matriz

Esta matriz puede premultiplicarse a todas las dems matrices de
transformacin, para pasar de las coordenadas de mundo (donde el rea
visible es un slido con forma de pirmide truncada denominado frustum")
a un espacio en el cual el rea visible tiene forma cbica.

El clipping es ms simple porque los planos de clipping del nuevo espacio
son paralelos a los ejes. Es necesario efectuar clipping con el plano z = 0
para eliminar las partes que se ubican antes" del plano de proyeccin, que
generaran un efecto no adecuado.
Al retener la coordenada z de los puntos transformados, es posible utilizar
esta informacin para los algoritmos de cara oculta. Por ejemplo, los
algoritmos basados en prioridades utilizan el valor de dicha coordenada
para ordenar las caras y de esa manera obtener el resultado deseado. Una
vez efectuadas las manipulaciones necesarias, en el momento en el que se
debe graficar una entidad, se efecta una proyeccin paralela (es decir, se
descarta la coordenada z).
La premultiplicacin de todas las matrices involucradas en la pipeline grfica
en 3D tiene la siguiente forma:

donde
95
s
x
, s
v
y s
:
son factores de escala para las respectivas coordenadas;
s
h
es un factor de escala global que altera la coordenada homognea;
Todos los r son factores que producen rotacin o inclinacin de algn
tipo;
t
x
, t
v
y t
:
son factores que producen traslacin segn las coordenadas
respectivas,
p
x
, p
v
y p
:
son factores que producen una perspectiva (sin proyeccin)
en que la escala es afectada inversamente por las coordenadas
respectivas. Dependiendo de cuntos de estos factores sean no nulos, es
el tipo de perspectiva (1 punto de fuga, o 2 puntos, o 3, segn la
taxonoma de las proyecciones geomtricas planeares).

Transformaciones de Vista en OpenGL

volumen de visin




cmara


trpode





modelo


Se puede plantear una analoga de una cmara y las transformaciones.
Transformaciones de proyeccin
ajustar los lentes de la cmara
Transformaciones de vista
trpode define posicin y orientacin del volumen de vista en el mundo
Transformaciones de modelo
mover el modelo
Transformaciones de Viewport
ampliar o reducir la fotografa fsica

Transformar coordenadas de mundo a coordenadas de
vista
El modo Modelview permite especificar la localizacin de la cmara y
orientacin usando
gluLookAt(GLdouble eyeX , GLdouble eyeT , GLdouble eyeZ,
GLdouble lookX , GLdouble lookY , GLdouble lookZ,
GLdouble upX , GLdouble upY , GLdouble upZ);

Este comando define dos puntos y un vector:
eye= (eyeX, eyeY, eyeZ) denota el VRP u ojo: el origen del sistema de
coordenadas de la vista.
look= (lookX, lookY, lookZ) denota un punto a lo largo del eje del lente
de la cmara.
96
up= (upX, upY, upZ) denota un vector que tendr una proyeccin vertical
en el viewport.

A partir de estos parmetros, se definen las coordenadas de la vista (cmara)
por u, v, y n, donde


Dominios de Transformacin en OpenGL
Transformacin de Modelview:
o Invocada por glMatrixMode(GL MODELVIEW),
o Stack de (al menos) 32 matrices, manipuladas por
glPushMatrix(void), glPopMatrix(void.

Vous aimerez peut-être aussi