670 likes | 1.18k Views
Infografía I. Transformaciones Geométricas. 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.
E N D
Infografía I Transformaciones Geométricas © 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
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
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
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
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 ánguloes congruente con cualquier otro formado de la misma forma. Espacio Euclídeo 2002 J.C.Dürsteler - UPF- IUA
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 • http://math.rice.edu/~joel/NonEuclid/ 2002 J.C.Dürsteler - UPF- IUA
Geometría Hiperbólica 2002 J.C.Dürsteler - UPF- IUA
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
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
Y X Z 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) z x y 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
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
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
B A C k i j Operaciones con vectores 2002 J.C.Dürsteler - UPF- IUA
C B A k i j Operaciones con vectores C es la normal al plano AB 2002 J.C.Dürsteler - UPF- IUA
k i j Operaciones con vectores Ú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
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
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
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
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
Transformaciones 2D • En notación matricial 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
Escalado • En forma matricial 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
Rotación 2002 J.C.Dürsteler - UPF- IUA
En forma abreviada las principales transformaciones son conviene que todas sean de la misma forma para poder operar de una forma homogénea Coordenadas Homogéneas 2002 J.C.Dürsteler - UPF- IUA
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
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
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
Las traslaciones quedan y en forma abreviada El escalado es y en forma abreviada Traslación en coordenadas homogéneas 2002 J.C.Dürsteler - UPF- IUA
El cizallamiento respecto a x y en forma abreviada La rotación y en forma abreviada Transformaciones en coordenadas homogéneas 2002 J.C.Dürsteler - UPF- IUA
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 Concatenación de transformaciones 2002 J.C.Dürsteler - UPF- IUA
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 Concatenación de transformaciones 2002 J.C.Dürsteler - UPF- IUA
Propiedades de las Operaciones con Matrices 2002 J.C.Dürsteler - UPF- IUA
Propiedades de las Operaciones con Matrices 2002 J.C.Dürsteler - UPF- IUA
Supongamos que realizamos 2 traslaciones consecutivas. Y nos queda realizar el producto matricial Concatenación de Traslaciones 2002 J.C.Dürsteler - UPF- IUA
Cabría esperar que la concatenación de escalados fuera multiplicativa Y nos queda realizar el producto matricial Concatenación de Escalados 2002 J.C.Dürsteler - UPF- IUA
Cabría esperar que la concatenación de rotaciones fuera aditiva Y nos queda realizar el producto matricial Concatenación de Rotaciones 2002 J.C.Dürsteler - UPF- IUA
Concatenación de Rotaciones 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
P P Ejemplo • Rotación respecto a un punto fuera del origen => • Traslación al origen • Rotación • Traslación al punto P 2002 J.C.Dürsteler - UPF- IUA
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 Window Mundo Viewport Dispositivo Window to Viewport 2002 J.C.Dürsteler - UPF- IUA
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? Window Viewport Viewport Window Mundo Mundo Dispositivo Dispositivo Window to Viewport 2002 J.C.Dürsteler - UPF- IUA
xmax, ymax imax, jmax xmin, ymin imin, jmin Window-Viewport 2002 J.C.Dürsteler - UPF- IUA
Window-Viewport 2002 J.C.Dürsteler - UPF- IUA
Window Mundo Viewport Dispositivo Window-Viewport • Muchos paquetes combinan • Transformación w-v • Recortado. 2002 J.C.Dürsteler - UPF- IUA
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
La matriz 2D más general es una matriz compuesta de la forma De las 6 multiplicaciones y 6 sumas, solo necesitamos 4 + 4 Eficiencia 2002 J.C.Dürsteler - UPF- IUA
Vistas incrementales (rotación). Si q es pequeño, cos(q) = 1 Problema: Para ángulos totales se acumula el error. Mejor aproximación Eficiencia 2002 J.C.Dürsteler - UPF- IUA