24
Informática gráfica. Universitat de València 1 Transformaciones Geométricas Afines (X1,Y1, Z1) (X2, Y2, Z2) (X3,Y3, Z3)… geometría T. Afines T. Vista Recorte y T. Proyección Dibujado de primitivas (Rasterización) Coordenadas del MUNDO (en punto flotante) Coordenadas del objeto (en punto flotante)

Transformaciones Geométricas Afines - informatica.uv.esinformatica.uv.es/iiguia/IG/tema3.pdf · Transformaciones Geométricas Afines • Llamamos transformaciones geométricas afines

  • Upload
    buidieu

  • View
    229

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Transformaciones Geométricas Afines - informatica.uv.esinformatica.uv.es/iiguia/IG/tema3.pdf · Transformaciones Geométricas Afines • Llamamos transformaciones geométricas afines

Informática gráfica.

Universitatde València

1

Transformaciones Geométricas

Afines

(X1,Y1, Z1)

(X2, Y2, Z2)

(X3,Y3, Z3)…

geom

etr

ía

T. A

fines

T. V

ista

Recort

e y

T.

Pro

yecció

n

Dib

uja

do d

e

pri

mitiv

as

(Raste

rizació

n)

Coordenadas del MUNDO

(en punto flotante)

Coordenadas

del objeto (en

punto flotante)

Page 2: Transformaciones Geométricas Afines - informatica.uv.esinformatica.uv.es/iiguia/IG/tema3.pdf · Transformaciones Geométricas Afines • Llamamos transformaciones geométricas afines

Informática gráfica.

Universitatde València

2

Transformaciones Geométricas

Afines

•Llamamos transformaciones geométricas afines a las operaciones sobre la

geometría de un objeto 2D o 3D, que producen una modificación dela misma

(producen un cambio de los valores de los puntos que definen el objeto)

MANTENIENDO LAS PROPORCIONES DEL OBJETO(colinearidady razones de

distancias).

•Las transfomacionesno se aplican sobre los puntos que se obtienen de los

algoritmos de trazado de primitivas ya que sería un gasto absurdo de cómputo. Se

aplican sobre los elementos geométricos que definen a las mismas. (puntos de inicio

y final para rectas, centro y radio para circunferencias, semiejes para elipses,…

)

•Estudiaremos primeramente estas transformaciones geométricas en 2D.

dx

Page 3: Transformaciones Geométricas Afines - informatica.uv.esinformatica.uv.es/iiguia/IG/tema3.pdf · Transformaciones Geométricas Afines • Llamamos transformaciones geométricas afines

Informática gráfica.

Universitatde València

3

Traslaciones

•Tra

sla

ció

n

•Se consigue un cambio de posición del

punto en una determinada dirección

•x’ = x +dx

•P(x,y) P’(x’,y’) donde

•y’ = y + dy

•En notación matricial

•x x’ dx

•P = P’ = T =

•y y’ dy

•P

’ = P

+ T

P(x,y)

P’(x’,y’)

dx

dy

Page 4: Transformaciones Geométricas Afines - informatica.uv.esinformatica.uv.es/iiguia/IG/tema3.pdf · Transformaciones Geométricas Afines • Llamamos transformaciones geométricas afines

Informática gráfica.

Universitatde València

4

Escalado

•Escalado

•Definimos el escalado sobre los dos ejes de coordenadas del mundo

•x’ = S

xx

•P(x,y) = (x,y) P’(x’,y’) =

•y’ = S

yy

•Forma Matricial

•x’ S

x0 x

•P’ = =

•y’ 0 Sy

y

•P

’ = S

P

Escala

do <

1 => E

l obje

to s

e h

ace m

ás p

equeño y

más c

erc

ano

en p

osic

ión

Escala

do >

1 => E

l obje

to s

e h

ace m

ás g

rande y

más leja

no e

n p

osic

ión

Si S

x≠

Syel escala

do s

e d

enom

ina N

O U

NIF

OR

ME

Si S

x= S

yel escala

do s

e d

enom

ina U

NIF

OR

ME

Page 5: Transformaciones Geométricas Afines - informatica.uv.esinformatica.uv.es/iiguia/IG/tema3.pdf · Transformaciones Geométricas Afines • Llamamos transformaciones geométricas afines

Informática gráfica.

Universitatde València

5

Rotación

•La rotación se produce cuando giramos un ángulo θcada punto RESPECTO AL

ORIGEN

•X = r cos Φ

•Y = r sin Φ

•X’= r cos(θ+ Φ)

•Y’= r sin (θ+ Φ)

•X’= r cos(θ+ Φ) = r cos Φ

cos θ–r sin Φ

sin θ

= X cos θ–Y sin θ

•Y’= r sin (θ+ Φ) = r cos Φ

sin θ–r sin Φ

cos θ= X sin θ+ Y cos θ

•En forma matricial:

•X’

cos θ

-sin θ

X es decir P

’= R

P

•Y’

sin θ

cos θ

Y

P(x,y)

P’(x’,y’)

Φθ

Page 6: Transformaciones Geométricas Afines - informatica.uv.esinformatica.uv.es/iiguia/IG/tema3.pdf · Transformaciones Geométricas Afines • Llamamos transformaciones geométricas afines

Informática gráfica.

Universitatde València

6

Rotación (2)

•Esta formulación es para una rotación respecto el origen de coordenadas

Los ángulos positivos son en el sentido contrario del movimientode las agujas del reloj

Page 7: Transformaciones Geométricas Afines - informatica.uv.esinformatica.uv.es/iiguia/IG/tema3.pdf · Transformaciones Geométricas Afines • Llamamos transformaciones geométricas afines

Informática gráfica.

Universitatde València

7

Coordenadas homogéneas

•Si nos damos cuenta de la formulación matricial de estas tres

transformaciones afines, vemos que la traslación difiere en estructura de

las otras

•P

’ = P

+ T

•P

’ = S

P

•P

’= R

P

•Para lograr una expresión matricial para estas tres transformaciones, vamos a

introducir las coordenadas homogéneas

•Añadimos una coordenada mas w (x,y) �

(x’, y’, w) de tal manera que

•x = x’/ w y = y’/ w donde w

≠0

•Las coordenadas (x, y, 1) son conocidas como coordenadas homogéneas

cartesianas o canónicas.

•Para un mismo punto hay infinitas coordenadas homogéneas (2, 3, 6) y (4, 6,12)

representan el mismo punto.

w

yx

W = 1

W = 2

Page 8: Transformaciones Geométricas Afines - informatica.uv.esinformatica.uv.es/iiguia/IG/tema3.pdf · Transformaciones Geométricas Afines • Llamamos transformaciones geométricas afines

Informática gráfica.

Universitatde València

8

Coordenadas homogéneas(2)

•Traslación en coord. Homogéneas

•X’ 1 0 dx X

•Y’ = 0 1 dy Y

•1 0 0 1 1

•Composición de traslaciones

•P’ = T(dx,dy) P

•P’’ = T(dx’, dy’) P’

•P’’ = T(dx’, dy’) T(dx,dy) P Veamos que esto se cumple en notación matricial

•1 0 dx

1 0 dx’ 1 0 dx + dx’

•0 1 dy

0 1 dy’ = 0 1 dy + dy’

•0 0 1 0 0 1

0 0 1

•Es decir P

’’ =

T(d

x +

dx’, d

y +

dy’) P

Page 9: Transformaciones Geométricas Afines - informatica.uv.esinformatica.uv.es/iiguia/IG/tema3.pdf · Transformaciones Geométricas Afines • Llamamos transformaciones geométricas afines

Informática gráfica.

Universitatde València

9

Coordenadas homogéneas(3)

•El escalado en coordenadas homogéneas queda

•x’ S

x0 0 x

•y’ = 0 Sy 0 y

•1 0 0 1

1

•Y de igual manera que la matriz de traslaciones es aditiva en los desplazamientos, la

de escalado es multiplicativa en sus factores de escalado

•P’ = S( Sx ,Sy) P

•P’’ = S( S’ x ,S’ y) P’ = S( S’ x ,S’ y) S( Sx ,Sy) P

•S’ x

0 0 S

x0 0 S

x S’ x 0 0

•0 S’ y 0 0 S

y 0 = 0 Sy S’ y

0

•0 0 1 0 0

1 0 0 1

Page 10: Transformaciones Geométricas Afines - informatica.uv.esinformatica.uv.es/iiguia/IG/tema3.pdf · Transformaciones Geométricas Afines • Llamamos transformaciones geométricas afines

Informática gráfica.

Universitatde València

10

Coordenadas homogéneas(4)

•La rotación en coordenadas homogéneas queda:

•x’ cosθ

-sin θ

0 x

•y’ = sin θ

cos θ

0

y

•1 0 0 1

1

•Igualmente la composición de rotaciones expresa como el productode dos matrices

•P’ = R(θ) P

•P’’ = R(φ) P’ = R(φ) R(θ) P

•cos φ

-sin φ

0 cosθ

-sin θ

0 cos φcosθ-sin φsin θ

-cos φsinθ-sin φcos θ

0

•sin φ

cos φ

0 sin θ

cos θ

0 = sin φcosθ+cosφsin θ

-sin φsin θ+ cos φcosθ

0 =

•0 0 1 0 0 1 0 0 1

•cos φ+ θ

-sin φ+ θ

0

•sin φ+ θ

cos φ+ θ

0

•0 0 1

Page 11: Transformaciones Geométricas Afines - informatica.uv.esinformatica.uv.es/iiguia/IG/tema3.pdf · Transformaciones Geométricas Afines • Llamamos transformaciones geométricas afines

Informática gráfica.

Universitatde València

11

Coordenadas homogéneas(5)

•Otras transformaciones afines son:

•Deslizamientos

•1 a 0

•Hx= 0 1 0

•0 0 1

•1 0 0

•Hy= a 1 0

•0 0 1

•Reflexiones

•-1 0 0 1 0 0

•Rx= 0 1 0 R

y= 0 -1 0

•0 0 1 0 0 1

Page 12: Transformaciones Geométricas Afines - informatica.uv.esinformatica.uv.es/iiguia/IG/tema3.pdf · Transformaciones Geométricas Afines • Llamamos transformaciones geométricas afines

Informática gráfica.

Universitatde València

12

Tipos de transfomaciones

•Las rotaciones, las traslaciones y las reflexiones son transformaciones del

sólido rígido.

–No deforman la figura. Un cuadrado de lado unidad sigue siéndolotras aplicarle

una transformación de este tipo

–La submatriz(n-1)x(n-1) de estas transformaciones son matrices ortogonales (su

determinante es la unidad)

Los escalados y los deslizamientos son transformaciones afines

–Conservan el paralelismo de las líneas pero no su longitud y susángulos

Page 13: Transformaciones Geométricas Afines - informatica.uv.esinformatica.uv.es/iiguia/IG/tema3.pdf · Transformaciones Geométricas Afines • Llamamos transformaciones geométricas afines

Informática gráfica.

Universitatde València

13

Composición de transformaciones

•Se aplica la composición por razón de eficiencia

•(Aplicar las matrices A y después B sobre 4 puntos implica 8 multiplicaciones de una matriz por

un punto. Aplicar la matriz compuesta AB sobre 4 puntos implica una multiplicación de la matriz A

por la B y 4 multiplicaciones de una matriz por un punto)

•La composición no es conmutativa T(d) R(Φ) ≠

R(Φ) T(d)

•≠

•Casos especiales en que sílo es

•T con T

•R con R

•S con S

•S uniforme con R

Page 14: Transformaciones Geométricas Afines - informatica.uv.esinformatica.uv.es/iiguia/IG/tema3.pdf · Transformaciones Geométricas Afines • Llamamos transformaciones geométricas afines

Informática gráfica.

Universitatde València

14

Composición transformaciones

•Una composición especialmente catastrófica es la composición de rotación

y escalado

•R(Φ) S(S

y) ≠S(S

y) R(Φ)

S(Sy) R(Φ) G

R(Φ) S(Sy) G

Page 15: Transformaciones Geométricas Afines - informatica.uv.esinformatica.uv.es/iiguia/IG/tema3.pdf · Transformaciones Geométricas Afines • Llamamos transformaciones geométricas afines

Informática gráfica.

Universitatde València

15

Composición transformaciones(2)

•Uno de los usos más importantes de

la composición de matrices es la de

poder aplicar transformaciones

respecto de cualquier punto del plano.

•¿cómo conseguirlo?

Page 16: Transformaciones Geométricas Afines - informatica.uv.esinformatica.uv.es/iiguia/IG/tema3.pdf · Transformaciones Geométricas Afines • Llamamos transformaciones geométricas afines

Informática gráfica.

Universitatde València

16

Composición transformaciones(3)

Una composición que

combinaría rotación traslación

y escalado.

Podemos usar la composición de rotaciones y escalado para poder escalar un

objeto respecto de una orientación arbitraria

Eje de

escalado

R(θ) S(S

y) R(-θ)

Y realmente la composición sería R(-θ) S(Sy) R(θ) G

Page 17: Transformaciones Geométricas Afines - informatica.uv.esinformatica.uv.es/iiguia/IG/tema3.pdf · Transformaciones Geométricas Afines • Llamamos transformaciones geométricas afines

Informática gráfica.

Universitatde València

17

Transformaciones inversas

•Toda las matrices afines tienen inversas y su resultado geométrico es el

movimiento contrario al ejecutado por la inversa.

•Inv(T(dx,dy)) = T(-dx, -dy)

•Inv(S(S

x,S

y)) = S(1/S

x, 1/S

y)

•InvR(θ) = R(-θ) = R

T(θ)

Page 18: Transformaciones Geométricas Afines - informatica.uv.esinformatica.uv.es/iiguia/IG/tema3.pdf · Transformaciones Geométricas Afines • Llamamos transformaciones geométricas afines

Informática gráfica.

Universitatde València

18

Posicionamiento inverso

•Problema: Conocemos la posición inicial y final de un objeto, pero no

conocemos la composición de matrices que lo ha llevado hasta allí.

•Nota: es un problema de sólido rígido(parecido a la cinemática inversa de robótica)

uv

ux

vx

dx

uy

vy

dy

0 0 1

v

uv

v

ux

uy

dx

vx

vy

dy

0 0 1

uy vdeben ser

vectores

UNITARIOS

Page 19: Transformaciones Geométricas Afines - informatica.uv.esinformatica.uv.es/iiguia/IG/tema3.pdf · Transformaciones Geométricas Afines • Llamamos transformaciones geométricas afines

Informática gráfica.

Universitatde València

19

Transformaciones en 3D

Traslaciones

Rotaciones

Submatrizortogonal

Hearn,

Baker

Escalados

Page 20: Transformaciones Geométricas Afines - informatica.uv.esinformatica.uv.es/iiguia/IG/tema3.pdf · Transformaciones Geométricas Afines • Llamamos transformaciones geométricas afines

Informática gráfica.

Universitatde València

20

Posicionamiento inverso (3D)

Podemos hallar la matriz de orientación de un objeto conociendola dirección de la

nueva orientación y construyendo un sistema de coord. Asociado a dicho objeto

•Nota: es un problema de sólido rígido

zp= D

OF/ |DOF|

xp= y

px z

p(regla del tornillo) y

p= z

px y

p

Cuid

ado: si z

pes paralelo a yentonces el producto vectorial será cero y la matriz será degenerada ya

que hay infinitas soluciones al problema de encontrar un vector perpendicular

Page 21: Transformaciones Geométricas Afines - informatica.uv.esinformatica.uv.es/iiguia/IG/tema3.pdf · Transformaciones Geométricas Afines • Llamamos transformaciones geométricas afines

Informática gráfica.

Universitatde València

21

Posicionamiento inverso 3D (2)

•La matriz que lleva el avión original a la nueva

ori

enta

ció

nserá

•x

py

pz

p0

•R

(avio

n)=

0

•0

•0 0 0

1

•Y por tanto la matriz total que además lo sitúa en esa posición es

•R

(avio

n) T(p

)

•Eje

mplo

: D

OF =

(3, -2

, 5) p =

(3,5

,6)

EN

CO

LU

MN

AS

Page 22: Transformaciones Geométricas Afines - informatica.uv.esinformatica.uv.es/iiguia/IG/tema3.pdf · Transformaciones Geométricas Afines • Llamamos transformaciones geométricas afines

Informática gráfica.

Universitatde València

22

Ambos métodos

•Podemos enfrentar el mismo problema

con los dos métodos.

•Nota: es un problema de sólido rígido

1.

Trasladamos el punto p hasta el origen del

sist.De coord. Del mundo

2.

Rotación de π/2 -Өsobre el eje Y

para

llevar el segmento P’2 P’1 al plano YZ

3.

Rotación de Φ

sobre el eje X

para llevar

P’’2 P’’1 sobre el eje z

4.

Rotación de αsobre el eje Zpara situar el

segmento P’’’1P’’’3 en el plano YZ

La solución del problema es adecuada si

conocemos los ángulos.

Page 23: Transformaciones Geométricas Afines - informatica.uv.esinformatica.uv.es/iiguia/IG/tema3.pdf · Transformaciones Geométricas Afines • Llamamos transformaciones geométricas afines

Informática gráfica.

Universitatde València

23

Ambos métodos (2)

•Segundo método

Debemos pensar la

matriz de rotación que

construimos, compuesta

de esta manera

La composición de transformaciones total será

Page 24: Transformaciones Geométricas Afines - informatica.uv.esinformatica.uv.es/iiguia/IG/tema3.pdf · Transformaciones Geométricas Afines • Llamamos transformaciones geométricas afines

Informática gráfica.

Universitatde València

24

Grafo de escena

Rueda

pequeña

Rueda

grande

Manillar

Cuadro y

sillín

Nodo d

e

geom

etr

ía

Nodo d

e

Tra

nsfo

rmació

n

Los ficheros geométricos sólo se cargan

una vez, aunque se repitan las piezas

El programa de control recorre el grafo

accediendo a cada nodo de transformación

cada frame(1/25 seg.) y modifica su valor si

la posición de la geometría por debajo de él

ha variado