>> transformación

23
Trfm.SistRef A. García-Alonso 1 >> Transformación << Sistemas de Referencia LINK http://www.sc.ehu.es/ccwgamoa/docencia/ Material/Presentaciones

Upload: kipp

Post on 06-Feb-2016

64 views

Category:

Documents


0 download

DESCRIPTION

>> Transformación

TRANSCRIPT

Page 1: >>  Transformación

Trfm.SistRef A. García-Alonso 1

>> Transformación <<Sistemas de Referencia

LINK http://www.sc.ehu.es/ccwgamoa/docencia/Material/Presentaciones

Page 2: >>  Transformación

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)

Page 3: >>  Transformación

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

Page 4: >>  Transformación

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

Page 5: >>  Transformación

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

Page 6: >>  Transformación

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

Page 7: >>  Transformación

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

Page 8: >>  Transformación

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)

Page 9: >>  Transformación

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

Page 10: >>  Transformación

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 )

Page 11: >>  Transformación

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)

Page 12: >>  Transformación

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

Page 13: >>  Transformación

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

Page 14: >>  Transformación

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

Page 15: >>  Transformación

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

Page 16: >>  Transformación

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

Page 17: >>  Transformación

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)

Page 18: >>  Transformación

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

Page 19: >>  Transformación

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)

Page 20: >>  Transformación

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)

Page 21: >>  Transformación

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)

Page 22: >>  Transformación

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

Page 23: >>  Transformación

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