Trfm.SistRef A. García-Alonso 1
>> Transformación <<Sistemas de Referencia
LINK http://www.sc.ehu.es/ccwgamoa/docencia/Material/Presentaciones
Trfm.SistRef A. García-Alonso 2
Contenido
• Transformación “window/viewport” (Hearn 6)– Recorte de primitivas
• Fundamentos de Álgebra (Burgos 11)– J. de Burgos, “Álgebra Lineal”, McGraw-Hill, 1993
• Sistemas de referencia
• Transformaciones 3D (Foley 5, Hearn 11)
• Cámaras (OpenGL PG 3, Hearn 12)
• Avatares (VRML’97)
• Seleccionar (picking)
Trfm.SistRef A. García-Alonso 3
Todo en una imagen
• La siguiente figura muestra el uso de las distintas transformaciones en OpenGL, que es semejante a la utilizada en todo sistema de visualización
• En este capítulo lo estudiaremos paso por paso
Trfm.SistRef A. García-Alonso 4
Window & Viewport
• Sistema de referencia del mundo– Cualquier sistema de unidades: metro, seg., m/s, litros, etc
– Cada eje unidad independiente (velocidad & tiempo)
Sist. Ref. mundo
Trfm.SistRef A. García-Alonso 5
…
• Sistema de referencia de la pantalla– Unidades : píxeles
– Su origen varía de unos sistemas a otros• Esquina inferior izquierda• Esquina superior derecha
Pantalla con imagen
x
y
xy
Trfm.SistRef A. García-Alonso 6
Definición “window & viewport”
• Window– Rectángulo definido en el Sistema de Referencia del Mundo
mediante cuatro valores (cuidado !, hay dos posibilidades):• Extremos, dos sobre el eje x, y otros dos sobre el eje y• Coordenadas del origen y longitudes horizontal y vertical
• Viewport– Rectángulo definido en el Sistema de Referencia de la
Pantalla • Nota : como se verá, en los sistemas de ventanas, cada ventana
3D es, conceptualmente, una pantalla independiente
• Objetivo : seleccionar que área del mundo se desea ver en un sub-área de la pantalla
Trfm.SistRef A. García-Alonso 7
...
xwmin xwmax
ywmin
ywmax
Rectángulo window
yvmin
yvmax
xvmin xvmax
Rectángulo viewport
Imagen en pantalla
+=
Observar la distorsión en la imagen
Trfm.SistRef A. García-Alonso 8
Transformación “window to viewport”
• Se definen los límites mínimos y máximos, en “x” y en “y” de los rectángulos window & viewport
• Problema– Dadas las coordenadas de un vértice (xw, yw) en el sistema
de referencia del mundo
– Determinar que coordenadas (xv, yv) le corresponden en el sistema de referencia de la pantalla
xwmin xwmax
ywmin
ywmax
(xw, yw)
yvmin
yvmax
xvmin xvmax
(xv, yv)
Trfm.SistRef A. García-Alonso 9
Cálculo transformación “W/V”
• Objetivo : transformar coordenadas de los vértices del sistema del mundo al de la pantalla
• Hay dos modos de determinar la transformación– Transformación matricial bidimensional : escalado y
translación
– Fórmula directa (usaremos este)
• Se deben cumplir las relaciones de semejanza :
minmax
min
minmax
min
xwxw
xwxw
xvxv
xvxv
minmax
min
minmax
min
ywyw
ywyw
yvyv
yvyv
Trfm.SistRef A. García-Alonso 10
...
• De aquí se despeja :xv = ax + xw · sx
yv = ay + yw · sy
• Siendo las constantes de transformación :ax = xvmin - xwmin · sx
ay = yvmin - ywmin · sy
sx = ( xvmax - xvmin ) / (xwmax - xwmin )
sy = ( yvmax - yvmin ) / (ywmax - ywmin )
Trfm.SistRef A. García-Alonso 11
Ventana : término equívoco
• Ventana en transformaciones “window to viewport”
• Ventana en los sistemas de ventanas– The X window system (Linux) & Microsoft windows
• En estos casos los viewport – Se definen para cada ventana 3D contenida en el escritorio – Cada ventana 3D tiene su propio sistema de pantalla– El origen en la esquina superior izquierda del área de
dibujo de la ventana (el marco no cuenta)
• Uso actual del modo “full window”– Aplicación : simulación, proyección, stereo
• Conexión de bordes en multi-proyección
– Problema : interfaz 2D (menús, cajas de diálogo, etc)
Trfm.SistRef A. García-Alonso 12
Distorsión
• En ocasiones no importa que se produzca distorsión– Distintas unidades en los dos ejes
• Con frecuencia es deseable evitar la distorsión– Dibujo planos
• Modo de evitarla– Manteniendo el window, reducir el viewport
• Deja franjas verticales u horizontales sin dibujar• Esta solución no es habitual
– Manteniendo el viewport, determinar un window apropiado • Normalmente es lo más recomendable
Trfm.SistRef A. García-Alonso 13
Ejercicio : evitar la distorsión
• Dado un window y un viewport, calcular un nuevo window (yw’min , yw’max) ó (xw’min , xw’max) mayor que el original, de modo que no se distorsione la imagen
negro y punteado : window dado
rojo & sólido : window calculado para evitar distorsión en la imagen
xwmin xwmax
ywmin
ywmax
yw’min
yw’max
xvmax
yvmin
yvmax
xvmin
width
heig
ht
Trfm.SistRef A. García-Alonso 14
...
• Definimos la proporción de un rectángulo : a = w/h
• Hay que analizar dos casos
vw
v h
vw
v h
viewport
negro y punteado : window dado
rojo & sólido : window ampliado para evitar distorsión en la imagen
Observar que el window es proporcional al viewport
aviewport < awindow
recrecer altura window
aviewport > awindow
recrecer anchura window
Trfm.SistRef A. García-Alonso 15
Recorte (clipping)
• Casi siempre es necesario recortar los elementos gráficos que se transforman fuera del viewport, pues sólo se deben dibujar los elementos interiores (en la figura se han dibujado a trazos los elementos a descartar)
• Esto da lugar al problema de recorte de (H 6.5-6.11)– Segmentos
– Polígonos (vacíos o rellenos)
– Círculos
– Curvas
– Texto
– Etc
Trfm.SistRef A. García-Alonso 16
Fundamentos de Álgebra
• Geometría : área del Álgebra que trata de las medidas, propiedades y relaciones entre puntos, líneas, ángulos, superficies y cuerpos
• Topología : estudia las propiedades que no cambian al producirse “deformaciones continuas”
• Contenido del repaso– Puntos y vectores
– Espacio vectorial euclídeo
– El espacio afín
– Sistemas de referencia
Trfm.SistRef A. García-Alonso 17
Puntos y vectores
• Conjunto E3
– A sus elementos se les llama puntos
– Punto vs. Vértice (geometría vs. topología)
• Espacio vectorial 3
– Sus elementos son vectores
• Coordenadas vs. Componentes– Transformaciones
• Unidades– Adimensional o especificado
– Metros (VRML)
Trfm.SistRef A. García-Alonso 18
Espacio vectorial euclídeo
• Espacio vectorial euclídeo : todo espacio vectorial real dotado de un producto escalar (Burgos 8.1)
• Producto escalar– Sea V un espacio vectorial real
– La aplicación : V x V – Será un producto escalar o producto interno, si para
cualesquiera x, x’, y V y λ, λ’ , se verifica que• x · y = y · x • ( λx + λ’x’) · y = λx · y + λ’x’ · y• x · x > 0 , x ≠ 0
Trfm.SistRef A. García-Alonso 19
El espacio afín
• El espacio afín (E3)
– ( Se define y fundamenta en Álgebra )
– Está constituido por los siguientes elementos :• Conjunto E3
• Espacio vectorial 3
• Aplicación : (P, Q) / P, Q E3 v 3
– Esta relación se denota : v = PQ ó Q = P + v [1]
– Se deben verificar las condiciones : P E3 y v 3 , | Q E3 que satisface [1]• Dados tres puntos cualesquiera P, Q, R E3 se verifica
PQ + QR = PR (relación de Chasles)
Trfm.SistRef A. García-Alonso 20
Sistemas de referencia
• Bases ortonormales (Burgos 8.3)
• Coordenadas cartesianas (Burgos 11.1 (201) )– Dados un punto O (origen) de E3 y si (e1, e2, e3) es una base
de 3, se dice entonces que (O; e1, e2, e3) es una referencia cartesiana de E3.
– Cuando la base sea ortonormal, a la referencia se la llamará rectangular
– Se llaman coordenadas cartesianas de un punto X E3 respecto de dicha referencia a las coordenadas (x1, x2, x3) del vector OX en la base (e1, e2, e3)
Trfm.SistRef A. García-Alonso 21
Dextrógiro o levógiro
• Reglas– Mano derecha o izquierda
– Sacacorchos o rosca normal
• Los sistemas dextrógiros son los más habituales
• En algunos casos el sistema de la cámara es levógiro
y
x
zDextrógiro (right handed)
y
x
z
Levógiro (left handed)
Trfm.SistRef A. García-Alonso 22
...
Penn State University
Center for Academic Computing
Visualization Group
http://www.cac.psu.edu/dept/cac/publications/web/
publications/cacguide/viz/sem_notes/3d_fundamentals
Trfm.SistRef A. García-Alonso 23
Sistemas de referencia en GxC
• Mundo (World, Global) en el cuál se construye la escena (cptos de gravedad, eje vertical)
• Modelado (Local) en el cual se describe un objeto
• Cámara (Camera)– Rígidamente unido cámara
– Origen en punto vista
– Dirección de visión
• Normalizado
• Pantalla (device)– Monitor
– Ventana
xw
yw
zw
zm
ym
xm
zc
yc
xc
Top Related