Descargar la presentación
La descarga está en progreso. Por favor, espere
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
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.