Infograf a i
This presentation is the property of its rightful owner.
Sponsored Links
1 / 65

Infografía I PowerPoint PPT Presentation


  • 93 Views
  • Uploaded on
  • Presentation posted in: General

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.

Download Presentation

Infografía I

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Infograf a i

Infografía I

Transformaciones Geométricas

© 2002 J.C.Dürsteler - UPF- IUA


Introducci n

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 n1

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 n2

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 n3

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


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 á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í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

Geometría Hiperbólica

 2002 J.C.Dürsteler - UPF- IUA


Geometr as no eucl deas1

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

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


Sistemas referenciales1

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

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

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

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


Operaciones con vectores

B

A

C

k

i

j

Operaciones con vectores

 2002 J.C.Dürsteler - UPF- IUA


Operaciones con vectores1

C

B

A

k

i

j

Operaciones con vectores

C es la normal al plano AB

 2002 J.C.Dürsteler - UPF- IUA


Operaciones con vectores2

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

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 matricial1

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

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 2d1

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 2d2

Transformaciones 2D

  • En notación matricial

 2002 J.C.Dürsteler - UPF- IUA


Transformaciones 2d3

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

Escalado

  • En forma matricial

 2002 J.C.Dürsteler - UPF- IUA


Cizallamiento

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

Rotación

 2002 J.C.Dürsteler - UPF- IUA


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

Coordenadas Homogéneas

 2002 J.C.Dürsteler - UPF- IUA


Coordenadas homog neas1

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 neas2

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 neas3

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


Traslaci n en coordenadas homog neas

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


Transformaciones en coordenadas homog neas

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


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

Concatenación de transformaciones

 2002 J.C.Dürsteler - UPF- IUA


Concatenaci n de transformaciones1

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

Propiedades de las Operaciones con Matrices

 2002 J.C.Dürsteler - UPF- IUA


Propiedades de las operaciones con matrices1

Propiedades de las Operaciones con Matrices

 2002 J.C.Dürsteler - UPF- IUA


Concatenaci n de traslaciones

Supongamos que realizamos 2 traslaciones consecutivas.

Y nos queda realizar el producto matricial

Concatenación de Traslaciones

 2002 J.C.Dürsteler - UPF- IUA


Concatenaci n de escalados

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


Concatenaci n de rotaciones

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 rotaciones1

Concatenación de Rotaciones

 2002 J.C.Dürsteler - UPF- IUA


Ejemplo

Ejemplo

  • Rotar la figura respecto de P, un ángulo q

q

P(x,y)

P

 2002 J.C.Dürsteler - UPF- IUA


Ejemplo1

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


Window to viewport

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


Window to viewport1

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


Window viewport

xmax, ymax

imax, jmax

xmin, ymin

imin, jmin

Window-Viewport

 2002 J.C.Dürsteler - UPF- IUA


Window viewport1

Window-Viewport

 2002 J.C.Dürsteler - UPF- IUA


Window viewport2

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

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


Eficiencia

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


Eficiencia1

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


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

Y

Z

X

Levogiro

Y

X

Z

Dextrogiro

Convención de signos

 2002 J.C.Dürsteler - UPF- IUA


Transformaciones 3d

Traslaciones

Escalado

Transformaciones 3D

  • Cizallamiento

 2002 J.C.Dürsteler - UPF- IUA


Transformaciones 3d1

Rotación alrededor de x

Rotación alrededor de z

Transformaciones 3D

Rotación alrededor de y

Reflexión respecto del plano xy (z->-z)

 2002 J.C.Dürsteler - UPF- IUA


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

Transformaciones / Cambio de Sistema Coordenado

  • 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


Transformaciones cambio de sistema coordenado1

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


Composici n de transformaciones

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


Rotaci n alrededor de un eje arbitrario

y

uy

d

x

uz

ux

z

Rotación alrededor de un eje arbitrario

a

b

 2002 J.C.Dürsteler - UPF- IUA


Rotaci n alrededor de un eje arbitrario1

Rotación alrededor de un eje arbitrario

 2002 J.C.Dürsteler - UPF- IUA


Rotaci n alrededor de un eje arbitrario2

Rotación alrededor de un eje arbitrario

 2002 J.C.Dürsteler - UPF- IUA


Rotaci n en opengl

Rotación en OpenGL

  • glRotate*(angulo, ux, uy, uz)

  • angulo en grados

  • -1 < ux, uy, uz < 1

 2002 J.C.Dürsteler - UPF- IUA


Hardware de soporte

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


Hardware de soporte1

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


Hardware de soporte2

Hardware de soporte

 2002 J.C.Dürsteler - UPF- IUA


Hardware de soporte3

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


Opengl

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


  • Login