La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Proyección ventana-viewport

Presentaciones similares


Presentación del tema: "Proyección ventana-viewport"— Transcripción de la presentación:

1 Proyección ventana-viewport
(window to viewport projection) Programación Avanzada Universidad de Sonora

2 Programación Avanzada Universidad de Sonora
Definiciones Viewport: región de la pantalla donde se dibuja. Ejemplo: frame, canvas, applet. Ventana (window): región del mundo que se desea pintar en un viewport. Programación Avanzada Universidad de Sonora

3 Programación Avanzada Universidad de Sonora
Definiciones Ejemplo de ventana: X: [0..2Π] Y: [-1..1] X y Programación Avanzada Universidad de Sonora

4 Programación Avanzada Universidad de Sonora
Definiciones Ejemplo de viewport U 0, 0 500, 400 V Programación Avanzada Universidad de Sonora

5 Programación Avanzada Universidad de Sonora
Definiciones Proyección ventana-viewport: dado un punto P en la ventana, encontrar la proyección, Q, de P en el viewport. Ventana Viewport 0, 0 X y X y Q P 0,0 V 500, 400 U Programación Avanzada Universidad de Sonora

6 Programación Avanzada Universidad de Sonora
Eje horizontal Dados Xmin, Xmax, X, Umin y Umax, encontrar U. Ventana Xmin X Xmax Viewport Umin U Umax Programación Avanzada Universidad de Sonora

7 Eje horizontal Suposición: se respeta la proporción. X – Xmin U - Umin
= Xmax – Xmin Umax - Umin Viewport Umin U Umax Ventana Xmin X Xmax Programación Avanzada Universidad de Sonora

8 Eje horizontal Despejando U ¡Cuidado con la división entera!
Umax – Umin U = * (X – Xmin) + Umin Xmax – Xmin ¡Cuidado con la división entera! Definir las variables como reales y redondear U a entero. Programación Avanzada Universidad de Sonora

9 Programación Avanzada Universidad de Sonora
Eje horizontal ¿Cómo sabemos que la ecuación es correcta? Comprobar que Umin es la proyección de Xmin. Comprobar que Umax es la proyección de Xmax. Viewport Umin U Umax Ventana Xmin X Xmax Programación Avanzada Universidad de Sonora

10 Programación Avanzada Universidad de Sonora
Eje horizontal La ecuación se puede representar asi: U = Sx * X + Cx Sx es el factor de escala Umax – Umin Sx = Xmax - Xmin Cx es el offset Cx = -Sx * Xmin + Umin Programación Avanzada Universidad de Sonora

11 Programación Avanzada Universidad de Sonora
Eje vertical Para el eje vertical… las proporciones son al revés Ymax Vmin V Y Vmax Ymin Ventana Viewport Programación Avanzada Universidad de Sonora

12 Eje vertical Despejando V ¿La ecuación es correcta? Y – Ymin Vmax – V
= Ymax – Ymin Vmax – Vmin Despejando V Vmax – Vmin V = Vmax – * (Y – Ymin) Ymax – Ymin ¿La ecuación es correcta? Programación Avanzada Universidad de Sonora

13 Programación Avanzada Universidad de Sonora
Eje vertical V también se puede simplificar así: V = Sy * Y + Cy Sy es el factor de escala Vmax – Vmin Sy = – Ymax – Ymin Cy es el offset Cy = Vmax – Sy * Ymin Programación Avanzada Universidad de Sonora

14 Programación Avanzada Universidad de Sonora
Ejemplo Tiro parabólico X Y 10 0 12 15 14 28 16 42 18 30 20 14 22 0 ¿Cuál es la ventana? Y X Programación Avanzada Universidad de Sonora

15 Programación Avanzada Universidad de Sonora
Ejemplo Buscar los mínimos y máximos en X y Y. Usar un “extra” en los máximos (por ejemplo 10%). Ventana X: [10..24] Y: [0..47] ¿Cuál es el viewport? Programación Avanzada Universidad de Sonora

16 Programación Avanzada Universidad de Sonora
Ejemplo Suponer un container (canvas, applet, frame) de 500 (ancho) x 400 (alto) como ejemplo. No se usa todo el container (10% de margen). Programación Avanzada Universidad de Sonora

17 Programación Avanzada Universidad de Sonora
Ejemplo Viewport: U: [ ] V: [ ] 0, 0 50, 40 450, 360 500, 400 Programación Avanzada Universidad de Sonora

18 Programación Avanzada Universidad de Sonora
Ejemplo Aplicar las ecuaciones 450 – 50 U = * (X – 10) + 50 24 – 10 360 – 40 V = 360 – * (Y – 0) 47 – 0 Programación Avanzada Universidad de Sonora

19 Programación Avanzada Universidad de Sonora
Ejemplo Aplicar las ecuaciones Ventana Viewport X Y U V 0, 0 50, 40 450, 360 500, 400 Programación Avanzada Universidad de Sonora

20 Programación Avanzada Universidad de Sonora
Resumen Definir la ventana: Xmin, Ymin, Xmax, Ymax. Definir el viewport: Umin, Vmin, Umax, Vmax. Para cada punto P(X, Y) en la ventana: Aplicar las ecuaciones para encontrar el punto Q(U,V). Graficar Q en el viewport. Programación Avanzada Universidad de Sonora


Descargar ppt "Proyección ventana-viewport"

Presentaciones similares


Anuncios Google