Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Proyecciones
ITESM-CEM
Contenido
Distinguir entre proyecciones en paralelo y en perspectiva El concepto de Clipping Proyecciones en OpenGL
Visualizacin
La visualizacin requiere 3 elementos:
Uno o ms objetos Un plano sobre el que se proyecte la imagen Una cmara que proyecte objetos 3D sobre la superficie del plano
La Cmara
Se requiere un modelo de cmara virtual
Puede ser muy sofisticado
Campo de vista, profundidad de campo, distorsiones, aberracin cromtica
Hoyo de alfiler
Objecto en 3D
Proyeccin
Proyeccin la transformacin de puntos de un sistema coordenado de n dimensiones a un sistema coordenado en m dimensiones donde m<n Proyecciones de 3-D a 2-D.
El espacio 3-D representa el sistema de coordenadas del mundo. El espacio 2-D es una ventana proyectada a un viewport de la pantalla
Especificaciones
Hay que especificar:
Plano de proyeccin (VRP), un sistema coordenado 2D en donde proyectaremos el mundo 3D Centro de proyeccin (COP), un punto en el espacio que sirve como punto extremo para los proyectores.
Especificaciones
Projectors
Tipos de Proyecciones
Paralela (ortogrfica)
Perspectiva
Proyectores
Los proyectores son lneas que:
Convergen en el centro de la proyeccin (perspectiva) o que Nunca se tocan, vase son paralelas (ortogrfica)
Proyeccin en Perspectiva
Los proyectores convergen en el centro de proyeccin
Proyeccin en Perspectiva
Lneas paralelas que no son paralelas al plano de proyeccin no se vern paralelas, sino que se encuentran en algn sitio En el espacio 3-D ese punto estar al infinito y se llamar punto de fuga Lneas paralelas a uno de los ejes mayores van a un punto de fuga llamado punto de fuga de los ejes. Hay un mximo de 3 en tercera dimensin.
Propiedades de la Perspectiva
Disminucin Objetos lejanos del observador aparecen ms pequeos que objetos del mismo tamao cercanos al observador Acortamiento Distancias iguales a lo largo de una lnea no son proyectadas a distancias iguales en el plano Los ngulos se preservan slo en planos paralelos al plano de proyeccin Es realista
La Perspectiva En el Renacimiento
La Perspectiva En el Renacimiento
Proyeccin Ortogrfica
Los proyectores son paralelos entre s y ortogonales al plano de proyeccin
Vistas Ortogrficas
Los planos de proyeccin son colocados paralelos a cada uno de los planos formados por 2 ejes
Frente Plano X Y
Arriba Plano X Z
Lado Plano Z Y
Propiedades
Se preservan tanto las distancias como los ngulos Las formas se preservan Pueden utilizarse para medir (planos, edificios, etc) No se aprecia cmo es realmente el objeto porque muchas superficies quedan ocultas No es realista
Ms Vistas Ortogrficas
Las Proyecciones Axonomtricas son proyecciones ortogrficas que no son normales a un eje. Las Proyecciones Isomtricas son proyecciones axonomtricas donde la normal al plano de proyeccin hace ngulos idnticos con cada eje principal.
Proyeccines Oblcuas
La normal al plano de proyeccin y la direccin de proyeccin forman un ngulo entre si La proyeccin Cavalier
es una proyeccin oblcua donde DOP est a 45 grados del VPN. Lineas paralelas a los ejes se encogen de manera igual. Las paralelas a z aparecen a un ngulo a, dependiente de DOP, muy comunmente a es 45 o 30 DOP VPN
Proyeccines Oblcuas
La normal al plano de proyeccin y la direccin de proyeccin forman un ngulo entre si La proyeccin Cabinet
La normal al plano de proyeccin est a un ngulo de arctan(2) = 63.4 al plano de proyeccin (tpicamente proyectando sobre el plano x,y) . Lneas paralelas al eje que define el plano de proyeccin se encogen de manera igual. Lneas paralelas a la normal al plano de proyeccin se acortan a la mitad
El Concepto de Clipping
Normalmente uno slo est interesado en un volumen limitado de espacio al momento de usar la funcin render Se establecen lmites a la izquierda, a la derecha, arriba, abajo, adelante y atrs
Clipping en la Perspectiva
Cuando se trabaja en modo de perspectiva, este volumen es una pirmide truncada
Clipping Ortogrfico
Cuando se trabaja en modo ortogrfico, este volumen es una caja
3.Clipping
Determinar el volumen de visin
Modos de Matrices
Modo Model-View Projection ID de OpenGL GL_MODEL_VIEW GL_PROJECTION Cambia Posiciones de objetos Volumen visto por la cmara
Se utiliza el mismo conjunto de funciones para los dos modos Se debe especificar con qu modo de matrices trabajar invocando a la funcin:
glMatrixMode(GL_MODEL_VIEW); glMatrixMode(GL_PROJECTION);
La Cmara de OpenGL
Inicialmente: La cmara est colocada en el origen Apunta en la direccin negativa del eje Z La proyeccin es ortogonal Se especifica como volumen por default un cubo con lados de longitud 2 centrado en el origen
La Cmara de OpenGL
Valores por default
La Cmara de OpenGL
Los diferentes parmetros de la cmara quedan encapsulados como una matriz de proyeccin en coordenadas homogneas (4x4 ) La matriz de proyeccin premultiplica a la matriz de vista, que a su vez premultiplica a las matrices de modelado, aunque en realidad OpenGL agrupa vista y modelado en la matriz modelview
Vista Ortogonal
Vistas Ortogrficas en 2D y 3D
Para 3-D:
glOrtho (xmin, xmax, ymin, ymax, cerca, lejos) Las distancias cerca y lejos se miden desde la cmara Comandos para vrtices 2D colocan a los vrtices en el plano z=0
Para 2-D:
gluOrtho2D (xmin, xmax, ymin, ymax) En 2D el volumen de corte se convierte en un rectngulo de corte Equivalente a llamar
glOrtho( izq, der, abajo, arriba, -1, 1)
La Perspectiva en OpenGL
La Perspectiva en OpenGL
glFrustum(xmin, xmax, ymin, ymax, cerca, lejos)
Cerca y lejos son distancias medidas desde el centro de proyeccin de la cmara Cerca y lejos deben ser siempre valores positivos Por default el centro de proyeccin est en el origen y la lnea de vista apunta en direccin de la Z negativa
Proyeccin en Perspectiva
Especificar las transformaciones para una proyeccin en perspectiva es similar a elegir la lente de una cmara Esta transformacin determina:
Cul es el campo de vista (ancho, normal, telephoto) Cul es el volumen a ser rendereado (el resto se corta)
Ms Fcil
Una alternativa a glFrustrum es:
Campo de Visin
Se especifica el ngulo del campo de visin en el eje Y
Campo de Visin
El campo de visin (fovfield of vision) debe estar en el rango [0.0,180.0] Un campo mayor exagera los efectos de la perspectiva Ejemplos:
Un lente con un ngulo amplio abarca una escena mayor en la fotografa final que una lente telephoto Una lente telephoto permite fotografiar objetos como si estuvieran ms cerca del espectador de lo que realmente estn (zoom in)
glutPerspective
El campo de visin y la razn son suficientes para determinar una pirmide a lo largo de la lnea de visin
glutPerspective
Se necesita especificar de manera adicional que tan cerca y lejos se encuentran los planos de corte para truncar la pirmide Estos ltimos dos valores siempre son positivos
Viewport
Area del dispositivo Ejemplo:
(0, 0) a (640, 480)
Window a Viewport
Si ventana (-1,-1) a (1,1)
Coordenadas en OpenGL
En OpenGL
Object Coordinates
Ey
o co
na di r
s te
on cti ix e oj tr Pr Ma
lip
co
at in rd
es
ze ni ge o om
v de
ic
w ie i n V or d co
Erik Milln
emillan@itesm.mx
Ma.Elena Meln
mmelon@itesm.mx