Visualiación y Transformaciones e Proyección ara Comutación Gráfica y Moelamiento Prof. María Cecilia Rivara mcrivara@cc.uchile.cl 2011-2 1
Contenio Visualiación 3D: concetos y elementos imortantes Proyecciones geométricas lanas: clasificación y concetos Volumen e la vista y ventana e visualiación Deucción e matrices e royección Comentarios sobre imlementación: transformaciones e normaliación Transformaciones e royección en OenGL 2
Proceso visualiación 3D Moelo Coor. Muno 3D Necesitamos... Visualiación Raster 2D Proyecciones: transforman objetos 3D en royecciones en lano 2D Volumen e la vista Plano e royección que se reuce a ventana (viewort en el isositivo) Cliing (recorte) contra volumen e la vista 3
Visualiación 3D 2D Renering (intao) e la imagen Es el roceso comleto que ermite asar e la escena moelaa en el esacio 3D e la alicación al esacio raster (iscretiao) el isositivo. Se obtiene así la imagen e la escena en el isositivo. El roceso e renering se escribe meiante una línea e flujo (renering ieline) que escribe la secuencia e métoos, técnicas y algoritmos necesarios ara obtener la imagen 4
Flujo el renering simlificao Esacio el moelo o Alicación Transformaciones e la vista Esacio e visualiación o Esacio e la cámara 3D 3D Transformaciones e Proyección Esacio e la Imagen Transformaciones e esliegue Esacio el Disositivo 2D 2D 5
Elementos útiles en royección el muno 3D en CG Transformaciones e royección. Son herramientas matemáticas que ermiten asar e la escena el muno en 3D a la ventana e visualiación 2D en un isositivo / monitor / antalla / ael. Winow: ventana rectangular e visualiación en coorenaas el muno Viewort (ventana rectangular e visualiación en la antalla el isositivo gráfico). e laos aralelos a los laos e la antalla. 6
Cliing (Recorte) Cliing (recorte). Conceto imortante que se trauce en algoritmos / técnicas que ermiten restringir los objetos / atos en 2D o, 3D, a la orción e éstos que son visibles en un viewort o en un volumen e la vista e la escena en 3D. El volumen e la vista contiene el eao e la escena 3D cuya royección será visible en la ventana e visualiación (corresone a la vista e una cámara) y esués en el viewort. Cliing es un conceto clave ara reucir el trabajo comutacional. Cliing también se usa en algoritmos e eliminación e caras no visibles ara recortar un olígono contra olígono. 7
Proyecciones Geométricas Planas (materia resentaa según Voley-Van Dam et al) Referencia muy imortante en CG 8
Proyecciones Geométricas Planas Concetos: royectores rectos, centro e royección, lano e royección Proyecciones Persectiva Centro e royección a istancia finita el lano e royección A A B B A Paralela Centro e royección a istancia infinita el lano e royección A B B CP (royectores convergen) CP en el infinito (royectores aralelos) 9
Proyección e Persectiva El tamaño el objeto varía inversamente con la istancia el objeto al centro e royección. Objetos arecen más realistas No es útil ara almacenar forma y meias exactas e los objetos. Las líneas aralelas en general no se mantienen aralelas. Proyecciones e líneas aralelas que no son aralelas al lano e royección convergen en un unto e anulación (vanishing oint) 10
Clasificación Proyecciones Geométricas Planas Paralela Persectiva Un unto Ortográfica Oblicua Dos untos Planta Cabinet Tres untos Elevación frontal Lateral Isométrica Cavalier 11
Proyección Persectiva (clasificación) Un unto. El lano e royección corta un eje rincial (lano e royección aralelo a un lano el sistema e coorenaas). Dos untos. Plano e royección corta os ejes rinciales. Tres untos Plano e royección corta los tres ejes rinciales. Ejes rinciales son ejes el sistema e coorenaas. En alicaciones e ingeniería se alinean con caras imortantes el objeto 12
Proyección Paralela Ortográfica. Dirección e royección es normal al lano e royección Planta, elevación, lateral son usaas en ingeniería. Plano e royección es erenicular a eje rincial Isométrica. Normal al lano e royección forma ángulos iguales con ejes rinciales. Vistas más reales Oblicua. Los royectores no son normales al lano e royección. Plano e royección es normal a un eje rincial Cavalier. Proyectores forman ángulo e 45º con lano e royección Cabinet. Proyectores forman ángulo e arctg (2) = 63.4º 13
Volumen e la vista en CG 3D Ientifica la arte visible e la escena Deene la transformación e royección utiliaa 14
Volumen e la vista royección aralela ortográfica Plano el frente Plano e la vista Plano e atrás VRP VPN B F Volumen e la vista truncao ara royección aralela ortográfica 15
Volumen e la vista royección ersectiva Plano el frente Plano e la vista Plano e atrás VRP VPN F B Volumen e la vista truncao ara royección en ersectiva 16
Plano e visualiación en 3D 17
Ventana e Visualiación en 3D 18
19
20
21
22
23
24
Plano e royección y sistema e coorenaas En CG en abstracto, según convenciones Foley-van Dam et al Plano e Proyección VRP (view reference oint) Punto sobre el lano VPN (view lano normal) Normal al lano VRC Sistema e coorenaas e referencia e la vista (u, v, n) VRP: Origen el sistema VPN: Un eje el sistema (n) VUP (view u vector): Determina el eje e irección hacia arriba. La royección e VUP sobre el lano e la vista efine el eje v. 25
v VUP Plano e la vista VRP n VPN u Ventana e visualiación. Definia or límites (u min,v min ) (u max, v max ). No necesariamente centraa en CW (centro e la ventana) Proyección. Se efine meiante PRP (rojection reference oint) e inicaor el tio e royección Si es ersectiva PRP es el centro e royección Si es aralela, la irección e royección (DOP) va ese PRP a CW 26
Deucción e una matri e ersectiva simétrica simle (volumen e la vista simétrico) 27
Persectiva: lano e royección en = 28
Triángulos semejantes x = x x = x / y = y y = y / Matricialmente M er = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1/ 0 29
Multilicano M er or P= [x y 1] T M er P = [x y /] T w = / 1 Luego ara recuerar el unto en R 3 es necesario iviir or w. Luego (x, y, ) = x x/, y /, 1 30
lano e royección = 0, centro e royección en = - + = + = + = + = 1 / y y 1 / x x y y x x x Persectiva (Otra eucción) 31 = 1 1/ 0 0 0 0 0 0 0 0 1 0 0 0 0 1 M' er En este caso uee tener a infinito x
Proyección Paralela Ortográfica Plano e royección en = 0 irección e royección normal al lano e royección M ort = 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 32
Deucción general que integra royecciones en aralela y ersectiva x o y COP Q ( x, y, ) P (x, y, ) P(, y, ) (0, 0, ) lano e royección = centro e royección COP a istancia Q el unto (0, 0, ) irección ese (0, 0, ) a COP ao or vector e irección normaliao ( x, y, ) Ec. aramétrica línea recta e COP a P P L (t) = COP + t (P - COP) 0 t 1 33
Aemás COP = (0, 0, ) + Q ( x, y, ) Luego ara P cualquiera sobre la línea (ecuación aramétrica) x = Q x + (x - Q x ) t y = Q y + (y - Q y ) t = ( + Q ) + (- ( + Q )) t P se encuentra en la intersección e P L (t) con lano e royección =. Luego hacieno = y resolvieno ara t t = - ( - ( + Q + Q ) ) 34
y x y x x + = + = D y y D x Luego: 35 1 Q - one D Q Q Q 2 + = + + = D (se trabajó sobre ientia = ara tener el mismo enominaor D)
+ + = 1 Q Q 1-0 0 Q Q - 0 0-1 0-0 1 M 2 y y x x general Incluye M er M er M ort 36 Q ( x, y, ) M ort M er M er 0 (0, 0, -1) (0, 0, -1) 0 (0, 0, -1)
Plano e la vista Puee ubicarse alternativamente sobre el lano el frente o fuera el volumen e la vista. Los istintos sistemas gráficos usan convenciones levemente istintas. En OenGL el lano e la vista corresone al lano el frente 37
Proyecciones en OenGL 38
Función glfrustrum 39
Función glfrustrum (muy simle y con oco control) Frustrum es el volumen e la vista Near y far son istancias ese el unto e vista a los lanos (e cliing) e aelante y atrás. Coorenaas (left, bottom, -near), (right, to near) efine la ventana e la vista. No necesariamente efine volumen e la vista simétrico. 40
Función glupersective 41
Función glupersective (avanao) Volumen e la vista simétrico Parámetros fovy: ángulo el camo e vista en lano x-. Varía entre 0 y 180. asect: raón e asecto e la ventana e la vista. Ancho/altura. neary faristancias ese el unto e vista a los lanos e cliinge aelante (near) y atrás (far) a lo largo el eje. Son valores ositivos. 42
Proyección aralela ortográfica 43
44
45
46