230 likes | 423 Views
>> Transformación << Sistemas de Referencia. LINK http:// www .sc.ehu.es/ccwgamoa/docencia/Material/Presentaciones. Contenido. Transformación “ window / viewport ” (Hearn 6) Recorte de primitivas Fundamentos de Álgebra (Burgos 11) J. de Burgos, “Álgebra Lineal”, McGraw -Hill, 1993
E N D
>> Transformación<<Sistemas de Referencia LINK http://www.sc.ehu.es/ccwgamoa/docencia/Material/Presentaciones A. García-Alonso
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) A. García-Alonso
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 A. García-Alonso
Sist. Ref. mundo Window & Viewport • Sistema de referencia del mundo • Cualquier sistema de unidades: metro, seg., m/s, litros, etc • Cada eje unidad independiente (velocidad & tiempo) A. García-Alonso
x y y x Pantalla con imagen … • Sistema de referencia de la pantalla • Unidades : píxeles • Su origen varía de unos sistemas a otros • Esquina inferior izquierda • Esquina superior derecha A. García-Alonso
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 A. García-Alonso
yvmax yvmin Rectángulo viewport Rectángulo window xvmax xvmin ywmax + = ywmin Imagen en pantalla xwmin xwmax ... Observar la distorsión en la imagen A. García-Alonso
yvmax (xv, yv) yvmin ywmax (xw, yw) xvmax xvmin ywmin xwmin xwmax 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 A. García-Alonso
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 : A. García-Alonso
... • 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 ) A. García-Alonso
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) A. García-Alonso
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 A. García-Alonso
yw’max yvmax ywmax height yvmin ywmin width yw’min xvmax xvmin xwmin xwmax 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 A. García-Alonso
vh vh vw vw ... • Definimos la proporción de un rectángulo : a = w/h • Hay que analizar dos casos 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 alturawindow aviewport > awindow recrecer anchurawindow A. García-Alonso
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 A. García-Alonso
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 A. García-Alonso
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) A. García-Alonso
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’, yV y λ,λ’, se verifica que • x· y = y · x • ( λx + λ’x’) · y = λx · y + λ’x’ · y • x· x > 0 , x ≠ 0 A. García-Alonso
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 E3v3 • Esta relación se denota : v = PQ ó Q = P + v [1] • Se deben verificar las condiciones : • P E3 y v3 , | Q E3que satisface [1] • Dados tres puntos cualesquiera P, Q, R E3 se verifica PQ + QR = PR (relación de Chasles) A. García-Alonso
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) A. García-Alonso
y y x x z z Dextrógiro (right handed) Levógiro (left handed) 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 A. García-Alonso
... 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 A. García-Alonso
yc zc xc ym zm yw xm xw zw 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 A. García-Alonso