La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Transformaciones Geométricas

Presentaciones similares


Presentación del tema: "Transformaciones Geométricas"— Transcripción de la presentación:

1 Transformaciones Geométricas
Infografía I Transformaciones Geométricas © 2002 J.C.Dürsteler - UPF- IUA

2  2002 J.C.Dürsteler - UPF- IUA
Introducción La luz que invade las escenas que vemos se refracta y se refleja en los objetos. Ciertos colores son absorbidos y otros permanecen. Finalmente un frente de ondas excita nuestra retina y percibimos la escena. Desde el punto de vista de la Infografía, nuestro objetivo es crear un frente de onda que evoque una percepción similar, utilizando el hardware disponible.  2002 J.C.Dürsteler - UPF- IUA

3  2002 J.C.Dürsteler - UPF- IUA
Introducción Necesitamos disponer de una descripción matemática que nos permita definir  el espacio,  los objetos que componen la escena  las propiedades de esos objetos el movimiento de los mismos algoritmos apropiados para describir la interacción de la luz con la materia.  2002 J.C.Dürsteler - UPF- IUA

4  2002 J.C.Dürsteler - UPF- IUA
Introducción Disciplinas Geometría y Álgebra lineal para la descripción de los espacios y los movimientos dentro de los mismos. Física, especialmente óptica, para la descripción de la interacción de la luz con la materia. Teoría de la percepción y de la visión, para el diseño perceptual de las escenas  2002 J.C.Dürsteler - UPF- IUA

5  2002 J.C.Dürsteler - UPF- IUA
Introducción Nos centraremos en los conceptos matemáticos que permiten describir : el espacio los objetos que residen en él sus posiciones los movimientos de los objetos dentro del espacio  2002 J.C.Dürsteler - UPF- IUA

6  2002 J.C.Dürsteler - UPF- IUA
Espacio Euclídeo El espacio euclídeo es el espacio determinado por la geometría euclídea: Axioma fundamental de Euclides: Por un punto exterior a una recta puede trazarse una y sólo una recta paralela ella. Las propiedades del espacio euclídeo se corresponden con las que percibimos en el espacio que nos circunda a escala local. Los otros axiomas de Euclides Una recta queda determinada por 2 puntos. Cualquier segmento se puede considerar parte de una línea infinita Es posible construir un circulo de radio cualquiera y con centro en cualquier punto. (La distancia pertenece a R.) Si dos líneas se cortan formando ángulos congruentes, cada ángulo es congruente con cualquier otro formado de la misma forma. Angulos congruentes son ángulos que tienen el mismo valor, los tres ángulos de un triángulo equilátero son congruentes, los ángulos de triángulos semejantes son congruentes.  2002 J.C.Dürsteler - UPF- IUA

7 Geometrías no Euclídeas
Geometría hiperbólica. Se desarrolla sobre el plano hiperbólico que es equivalente topológicamente a una semiesfera. Los puntos del infinito son equivalentes a los del círculo máximo de la semiesfera. En un espacio hiperbólico se pueden trazar al menos dos rectas paralelas a una dada por un punto exterior a la misma  2002 J.C.Dürsteler - UPF- IUA

8 Geometría Hiperbólica
 2002 J.C.Dürsteler - UPF- IUA

9 Geometrías no Euclídeas
Geometría elíptica. En el plano elíptico todos los puntos se consideran equivalentes a los del infinito Todos las rectas se cortan en un punto Por tanto no puede trazarse ninguna recta paralela a una dada  No existen las rectas paralelas.  2002 J.C.Dürsteler - UPF- IUA

10 Sistemas referenciales
Un sistema referencial es un sistema que permite describir la situación de un punto en el espacio. Existen múltiples sistemas de coordenadas. Cartesianas Polares Cilíndricas Esféricas...  2002 J.C.Dürsteler - UPF- IUA

11 Sistemas referenciales
Cartesianas Ejes de coordenadas para representar las posiciones de los puntos dentro del espacio. Coordenadas de un punto P son las distancias que hay entre los ejes coordenados y las proyecciones del punto sobre cada plano coordenado (x,y,z). En 2D se llama par ordenado (x,y) X Y Z z x y  2002 J.C.Dürsteler - UPF- IUA

12  2002 J.C.Dürsteler - UPF- IUA
Coordenadas polares En coordenadas polares: radio-vector r que une el origen de coordenadas y el punto ángulo  que subtiende r con el eje que se toma como origen de ángulos. r q  2002 J.C.Dürsteler - UPF- IUA

13  2002 J.C.Dürsteler - UPF- IUA
Magnitudes escalares Un escalar es una magnitud que se puede describir mediante un sólo valor. Entre los escalares se pueden definir una serie de operaciones como la suma, diferencia, multiplicación, etc.  2002 J.C.Dürsteler - UPF- IUA

14 Magnitudes vectoriales
Las magnitudes que se caracterizan por una dirección y una magnitud. Se representan mediante vectores.  Gráficamente se representa como un segmento cuya longitud indica la magnitud y su orientación la dirección del mismo. Cualquier segmento con la misma orientación y longitud describe el mismo vector. Se toma el vector con origen en el de coordenadas como representante de su clase. Operaciones: suma y diferencia vectorial, el producto de un vector por un escalar, el producto escalar de dos vectores y producto vectorial de dos vectores.  2002 J.C.Dürsteler - UPF- IUA

15 Operaciones con vectores
j k A B C  2002 J.C.Dürsteler - UPF- IUA

16 Operaciones con vectores
j k A B C C es la normal al plano AB  2002 J.C.Dürsteler - UPF- IUA

17 Operaciones con vectores
j k Útil para encontrar el ángulo entre dos vectores A q B c c es la proyección de A sobre B  2002 J.C.Dürsteler - UPF- IUA

18 Representación matricial
Vector (x,y) 2D Vector fila: matriz de 1 fila y 2 columnas Vector columna: matriz de 2 filas y 1 columna En 3D Vector fila Vector columna  2002 J.C.Dürsteler - UPF- IUA

19 Representación matricial
Una matriz es la notación abreviada del conjunto de las transformaciones lineales sobre un espacio vectorial Vn(R) se puede considerar como una tabla de valores:  2002 J.C.Dürsteler - UPF- IUA

20  2002 J.C.Dürsteler - UPF- IUA
Transformaciones 2D El corazón de todo paquete gráfico es el kernel de transformaciones geométricas Traslación Escalado Cizallamiento Reflexión Rotación y la concatenación de cualquiera de ellas.  2002 J.C.Dürsteler - UPF- IUA

21  2002 J.C.Dürsteler - UPF- IUA
Transformaciones 2D Traslación Transformación que sitúa un punto (x,y) del plano en una nueva posición (x',y'). Se consigue añadiendo unas ciertas cantidades dx y dy dx representa cuántas unidades hemos trasladado el punto sobre el eje x dy representa lo mismo sobre el eje y  2002 J.C.Dürsteler - UPF- IUA

22  2002 J.C.Dürsteler - UPF- IUA
Transformaciones 2D En notación matricial  2002 J.C.Dürsteler - UPF- IUA

23  2002 J.C.Dürsteler - UPF- IUA
Transformaciones 2D Escalado Consiste en multiplicar por un factor (agrandar o disminuir) las coordenadas del punto. El factor puede ser diferente para cada una de ellas.  2002 J.C.Dürsteler - UPF- IUA

24  2002 J.C.Dürsteler - UPF- IUA
Escalado En forma matricial  2002 J.C.Dürsteler - UPF- IUA

25  2002 J.C.Dürsteler - UPF- IUA
Cizallamiento Desplaza un punto en la dirección de uno de los ejes un espacio proporcional a la distancia del punto al origen según otro de los ejes. Los puntos con una coordenada mayor resultan más desplazados que aquellos que la tienen menor.  El cizallamiento de x respecto de y es  2002 J.C.Dürsteler - UPF- IUA

26  2002 J.C.Dürsteler - UPF- IUA
Rotación  2002 J.C.Dürsteler - UPF- IUA

27 Coordenadas Homogéneas
En forma abreviada las principales transformaciones son conviene que todas sean de la misma forma para poder operar de una forma homogénea  2002 J.C.Dürsteler - UPF- IUA

28 Coordenadas homogéneas
El concepto de coordenadas homogéneas busca una notación matricial que integre todas las transformaciones en una sola matriz. Ello permite realizar las rotaciones, escalado, etc. respecto a otros puntos que no sean el origen mediante operaciones matriciales simples. En una matriz de 2x2 esto no es posible.  2002 J.C.Dürsteler - UPF- IUA

29 Coordenadas homogéneas
Las coordenadas homogéneas de (x, y) son (x', y', h), donde x = x'/h y = y'/h h no puede ser 0. Para un punto concreto del plano existen infinitas representaciones en coordenadas homogéneas (4, 5) se puede representar como (8, 10, 2) (4, 5, 1) (12, 15, 3)  2002 J.C.Dürsteler - UPF- IUA

30 Coordenadas homogéneas
Un conjunto preferido para representar en coordenadas homogéneas es el conjunto (x, y, 1) o, como vector Las matrices de transformación son ahora de 3x3  2002 J.C.Dürsteler - UPF- IUA

31 Traslación en coordenadas homogéneas
Las traslaciones quedan y en forma abreviada El escalado es y en forma abreviada  2002 J.C.Dürsteler - UPF- IUA

32 Transformaciones en coordenadas homogéneas
El cizallamiento respecto a x y en forma abreviada La rotación y en forma abreviada  2002 J.C.Dürsteler - UPF- IUA

33 Concatenación de transformaciones
La aplicación consecutiva de transformaciones geométricas se denomina concatenación El resultado es otra transformación geométrica equivalente. En notación matricial equivale al producto de matrices  2002 J.C.Dürsteler - UPF- IUA

34 Concatenación de transformaciones
Propiedades de las operaciones con matrices cuadradas Adición Asociativa (A+B)+C=A+(B+C) Conmutativa A + B = B + A Multiplicación Asociativa (A·B)·C = A·(B·C) NO conmutativa A·B ‡ B·A en general Distributiva con respecto a la adición por ambos lados A·(B+C) = A·B+B·C (B+C)·A = B·A+C·A A·B=0 no implica necesariamente A=0 o B=0 A·B=A·C no implica necesariamente B=C  2002 J.C.Dürsteler - UPF- IUA

35 Propiedades de las Operaciones con Matrices
 2002 J.C.Dürsteler - UPF- IUA

36 Propiedades de las Operaciones con Matrices
 2002 J.C.Dürsteler - UPF- IUA

37 Concatenación de Traslaciones
Supongamos que realizamos 2 traslaciones consecutivas. Y nos queda realizar el producto matricial  2002 J.C.Dürsteler - UPF- IUA

38 Concatenación de Escalados
Cabría esperar que la concatenación de escalados fuera multiplicativa Y nos queda realizar el producto matricial  2002 J.C.Dürsteler - UPF- IUA

39 Concatenación de Rotaciones
Cabría esperar que la concatenación de rotaciones fuera aditiva Y nos queda realizar el producto matricial  2002 J.C.Dürsteler - UPF- IUA

40 Concatenación de Rotaciones
 2002 J.C.Dürsteler - UPF- IUA

41  2002 J.C.Dürsteler - UPF- IUA
Ejemplo Rotar la figura respecto de P, un ángulo q q P(x,y) P  2002 J.C.Dürsteler - UPF- IUA

42  2002 J.C.Dürsteler - UPF- IUA
Ejemplo Rotación respecto a un punto fuera del origen => Traslación al origen Rotación Traslación al punto P P P  2002 J.C.Dürsteler - UPF- IUA

43  2002 J.C.Dürsteler - UPF- IUA
Window to Viewport Window Mundo Coordenadas del mundo m, cm, etc ¿Cómo transformarlas en coordenadas del dispositivo? Posibilidades: Dejar la responsabilidad al programador Especificar una región rectangular en el mundo Window y su homologa en el dispositivo Viewport Viewport Dispositivo  2002 J.C.Dürsteler - UPF- IUA

44  2002 J.C.Dürsteler - UPF- IUA
Window to Viewport La transformación se aplica a todas las primitivas en coordenadas del mundo. Se pueden especificar diferentes viewports dentro de la pantalla ¿Cual es la transformación? Viewport Dispositivo Viewport Dispositivo Window Mundo Window Mundo  2002 J.C.Dürsteler - UPF- IUA

45  2002 J.C.Dürsteler - UPF- IUA
Window-Viewport imax, jmax xmin, ymin xmax, ymax imin, jmin  2002 J.C.Dürsteler - UPF- IUA

46  2002 J.C.Dürsteler - UPF- IUA
Window-Viewport  2002 J.C.Dürsteler - UPF- IUA

47  2002 J.C.Dürsteler - UPF- IUA
Window-Viewport Window Mundo Muchos paquetes combinan Transformación w-v Recortado. Viewport Dispositivo  2002 J.C.Dürsteler - UPF- IUA

48 Coordenadas Normalizadas del Dispositivo
NDC Normalized Device Coordinates Sistema independiente de dispositivo xmin=0, ymin=0 xmax=1, ymax=1 Permite realizar los cálculos sin tener en cuenta la resolución del dispositivo. DC Coordenadas del dispositivo Enteras, resolucion en x y en y  2002 J.C.Dürsteler - UPF- IUA

49  2002 J.C.Dürsteler - UPF- IUA
Eficiencia La matriz 2D más general es una matriz compuesta de la forma De las 6 multiplicaciones y 6 sumas, solo necesitamos  2002 J.C.Dürsteler - UPF- IUA

50  2002 J.C.Dürsteler - UPF- IUA
Eficiencia Vistas incrementales (rotación). Si q es pequeño, cos(q) = 1 Problema: Para ángulos totales se acumula el error. Mejor aproximación  2002 J.C.Dürsteler - UPF- IUA

51  2002 J.C.Dürsteler - UPF- IUA
Convención de signos Convención de signos para las rotaciones Sistema dextrógiro Un giro de 90º en sentido antihorario transforma un eje en otro, visto desde la parte positiva del tercero. Sistema levógiro (al revés) Atención: No todos los textos usan la misma convención. Matemáticas dextrógiro 3D levógiro Conversión: Reflexión respecto al plano xy Z X Y Levogiro Z X Y Dextrogiro  2002 J.C.Dürsteler - UPF- IUA

52  2002 J.C.Dürsteler - UPF- IUA
Transformaciones 3D Traslaciones Escalado Cizallamiento  2002 J.C.Dürsteler - UPF- IUA

53  2002 J.C.Dürsteler - UPF- IUA
Transformaciones 3D Rotación alrededor de x Rotación alrededor de z Rotación alrededor de y Reflexión respecto del plano xy (z->-z)  2002 J.C.Dürsteler - UPF- IUA

54 Transformaciones / Cambio de Sistema Coordenado
Transformaciones Geométricas Cambio de un conjunto de coordenadas a otro en un mismo sistema. También puede pensarse como un cambio entre sistemas de coordenadas. Aproximación útil para múltiples objetos cada uno definido en su propio sistema. Sea la transformación que pasa del sistema j al i. P(i) es la representación de P en el sistema i, P(j) es la representación de P en el sistema j P(k) es la representación de P en el sistema k  2002 J.C.Dürsteler - UPF- IUA

55 Transformaciones / Cambio de Sistema Coordenado
La aproximación consiste en considerar cada cuerpo en su propio sistema de coordenadas y transformarlo apropiadamente Hay que notar que  2002 J.C.Dürsteler - UPF- IUA

56 Composición de transformaciones
Como en 2D se resume en la multiplicación de matrices. Es la herramienta básica a la hora de posicionar los objetos establecer sus orientaciones animar los movimientos crear objetos compuestos  2002 J.C.Dürsteler - UPF- IUA

57 Rotación alrededor de un eje arbitrario
y x z d ux uz uy a b  2002 J.C.Dürsteler - UPF- IUA

58 Rotación alrededor de un eje arbitrario
 2002 J.C.Dürsteler - UPF- IUA

59 Rotación alrededor de un eje arbitrario
 2002 J.C.Dürsteler - UPF- IUA

60  2002 J.C.Dürsteler - UPF- IUA
Rotación en OpenGL glRotate*(angulo, ux, uy, uz) angulo en grados -1 < ux, uy, uz < 1  2002 J.C.Dürsteler - UPF- IUA

61  2002 J.C.Dürsteler - UPF- IUA
Hardware de soporte La realización de transformaciones geométricas es un cuello de botella para las aplicaciones gráficas interactivas. Para cada imagen generada, se han de trasladar y rotar una gran cantidad de vértices y finalmente se han de proyectar sobre la pantalla. Muchas implementaciones de hardware contienen soporte para realizar este tipo de transformaciones que va desde soporte a operaciones con vectores hasta el de todo tipo de operaciones con y entre matrices.  2002 J.C.Dürsteler - UPF- IUA

62  2002 J.C.Dürsteler - UPF- IUA
Hardware de soporte Cualquier numero de traslaciones y rotaciones se pueden concatenar para obtener una transformación genérica de la forma  2002 J.C.Dürsteler - UPF- IUA

63  2002 J.C.Dürsteler - UPF- IUA
Hardware de soporte  2002 J.C.Dürsteler - UPF- IUA

64  2002 J.C.Dürsteler - UPF- IUA
Hardware de soporte Las instrucciones MMX que se introdujeron con los procesadores Intel y las 3D Now de los procesadores AMD, aprovechan esta forma de paralelismo Son capaces de ejecutar una operación matricial en sólo tres instrucciones, aparte de las necesarias para mover y empaquetar los argumentos. 3D Now opera con números en coma flotante MMX con numeros enteros  2002 J.C.Dürsteler - UPF- IUA

65  2002 J.C.Dürsteler - UPF- IUA
OpenGL glPushMatrix y glPopMatrix Permiten crear modelos jerárquicos sin tener que recurrir a la multiplicación por la inversa  2002 J.C.Dürsteler - UPF- IUA


Descargar ppt "Transformaciones Geométricas"

Presentaciones similares


Anuncios Google