Sei sulla pagina 1di 39

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Tema 2. Transformaciones geomtricas 2D


2008 Javier de Pedro Carracedo

Sntesis de grficos por ordenador

Curso 2008/09

1 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Bibliografa

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Contenidos

Vectores y matrices.
Transformaciones 2D: traslacin, escalado y rotacin.
Composicin de transformaciones.
Reflexin y afilamiento.

2 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Bibliografa

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Bibliografa

Vectores
Un vector, en sntesis de grficos, representa un segmento de
lnea dirigido (direccin y longitud).
y
v
u
x


u=

3 / 39

u1
u2


=

2
1

2008 Javier de Pedro Carracedo


v=

v1
v2


=

2
2

Tema 2. Transformaciones geomtricas 2D

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Bibliografa

Operaciones con vectores


Suma de vectores.
y

v
v

u+v

u
-u

u+v =

4 / 39

u
x

2
1


+

2008 Javier de Pedro Carracedo

2
2


=

0
3

Tema 2. Transformaciones geomtricas 2D

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Bibliografa

Operaciones con vectores


Resta de vectores.
y

y
-u

v
u
-u

v u =

5 / 39

2
2


+

2008 Javier de Pedro Carracedo

v
v-u

2
1


=

4
1

Tema 2. Transformaciones geomtricas 2D

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Bibliografa

Operaciones con vectores


Multiplicacin por un nmero (escalar).
y

2u
u
x


u=

6 / 39

1
1

2u =

2008 Javier de Pedro Carracedo

2
2


2u =

-2u

2
2

Tema 2. Transformaciones geomtricas 2D

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Bibliografa

Longitud de un vector

Tambin denominada norma.


q
kuk = u12 + u22
Vector unitario.
kv k = 1
Normalizar un vector (vector resultante de longitud la unidad).
v
kv k

7 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Bibliografa

Producto escalar

Tambin denominado producto punto o producto interno.


uv =

u1
u2

 

v1

= u1 v1 + u2 v2
v2

El resultado de un producto escalar es un escalar.

8 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Bibliografa

Matrices

Array de nmeros. El nmero de filas (m) y columnas (n)


identifican la cardinalidad de la matriz (n de elementos).

a11
a21
a31
..
.

a12
a22
a32
..
.

a13
a23
a33
..
.

..
.

a1n
a2n
a3n
..
.

Cardinalidad = (m n)

am1 am2 am3 amn


Un vector representa un objeto columnar, en el que el nmero
de filas identifica la dimensin del vector.

9 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Operaciones con matrices


Suma de matrices.

 
 

a11 a12
b11 b12
a11 + b11 a12 + b12
+
=
a21 a22
b21 b22
a21 + b21 a22 + b22
Resta de matrices.

 
 

a11 a12
b11 b12
a11 b11 a12 b12

=
a21 a22
b21 b22
a21 b21 a22 b22
Multiplicacin por un escalar.

 

a11 a12
s a11 s a12
s
=
a21 a22
s a21 s a22

10 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Bibliografa

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Operaciones con matrices

Multiplicacin de matrices.

 
 

a11 a12
b11
a11 b11 + a12 b21

=
a21 a22
b21
a21 b11 + a22 b21
Matriz identidad.

1 0 0
0 1 0
0 0 1

11 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Bibliografa

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Bibliografa

Transformaciones geomtricas
Modificar el tamao, localizacin y orientacin de los objetos
de una escena.
Sistema de coordenadas del objeto o espacio del objeto.
y

12 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Bibliografa

Transformaciones geomtricas
Transformar el sistema de coordenadas del objeto dentro del
sistema de coordenadas del mundo.
Sistema de coordenadas del objeto

y
x

z
x

z
Sistema de coordenadas del mundo

13 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Bibliografa

Traslacin
Mover un objeto linealmente.
y

P =(4,3)

P =(0,0)


P=
14 / 39

0
0


T =

Tx
Ty

2008 Javier de Pedro Carracedo

P0


=P +T =

0 + Tx
0 + Ty

Tema 2. Transformaciones geomtricas 2D

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Traslacin
Transformacin rgida el objeto no se deforma.
Lneas rectas: se trasladan nicamente sus extremos.
Polgonos: se trasladan nicamente sus vrtices.

Traslacin

15 / 39

2008 Javier de Pedro Carracedo

Traslacin de polgonos

Tema 2. Transformaciones geomtricas 2D

Bibliografa

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Bibliografa

Escalado respecto al origen


Dimensionar un objeto (estirar o encoger).
y

P =(0,4)

P =(0,2)


P=
16 / 39

0
2


S=

Sx
0

0
Sy

2008 Javier de Pedro Carracedo

P0


=S P =

Sx 0
Sy 2

Tema 2. Transformaciones geomtricas 2D

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Bibliografa

Escalado respecto al origen


La posicin del punto se multiplica por una constante o factor
de escala S.

x 0 = Sx x
y 0 = Sy y

Si S > 1
Si S = 1
Si S < 1
17 / 39

El objeto aumenta de tamao


El objeto no modifica su tamao
El objeto disminuye su tamao

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Escalado respecto al origen


ESCALADO UNIFORME Sx = Sy
El objeto no modifica su forma.

ESCALADO NO UNIFORME O DIFERENCIAL Sx 6= Sy


El objeto modifica su forma.

18 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Bibliografa

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Bibliografa

Escalado genrico
Si el origen de coordenadas no se encuentra en el interior del
objeto, adems del escalado se manifiesta un desplazamiento.

Cmo evitarlo?
Se usa un punto fijo1 y se escala a partir de l.
1

Si bien puede emplearse un punto arbitrario, normalmente se utiliza el


centro del objeto o uno de sus vrtices.
19 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Escalado genrico
Ecuacin del escalado genrico.
x 0 = xc + Sx (x xc )
y 0 = yc + Sy (y yc )
Transformacin rgida el objeto no se deforma.
Lneas rectas: se escalan nicamente sus extremos.
Polgonos: se escalan nicamente sus vrtices.

Escalado de un polgono
20 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Bibliografa

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Rotacin respecto al origen


En 2D, rotacin en el plano xy (eje de rotacin z).
y


P=
21 / 39

x
y


R=

cos sin
sin cos

2008 Javier de Pedro Carracedo

P0 = R P

Tema 2. Transformaciones geomtricas 2D

Bibliografa

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Bibliografa

Rotacin genrica
El punto de rotacin no coincide con el origen de coordenadas.

x 0 = xc + (x xc ) cos (y yc ) sin
y 0 = yc + (x xc ) sin + (y yc ) cos
Determinar la matriz de transformacin no es fcil (buscar
mtodos alternativos).
22 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Rotacin
Transformacin rgida el objeto no se deforma.
Lneas rectas: se rotan nicamente sus extremos.
Polgonos: se rotan nicamente sus vrtices.

Rotacin de un polgono

23 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Bibliografa

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Coordenadas homogneas
Permiten la combinacin consistente de las tres
transformaciones previas.
Cada punto 2D se representa mediante una tripleta:

x
P= y
W
Coordenadas homogneas

x
P= y
W

Coordenadas cartesianas

24 / 39

2008 Javier de Pedro Carracedo


P=

x/W

y/W

Tema 2. Transformaciones geomtricas 2D

Bibliografa

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Coordenadas homogneas

Dos puntos, expresados en coordenadas homogneas,


constituyen el mismo punto si uno es mltiplo del otro.
EJEMPLO
P=(1,2,1) y P=(2,4,2)
Puntos con W = 0 identifican puntos situados en el .
Todas las matrices de transformacin, con coordenadas
homogneas, presentan cardinalidad 3 3.

25 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Bibliografa

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Coordenadas homogneas
Traslacin.

1 0 Tx
T = 0 1 Ty
0 0 1

Escalado.

Sx
S = 0
0

0
Sy
0

0
0
1

Rotacin.

cos sin 0
R = sin cos 0
0
0
1

26 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Bibliografa

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Concatenacin

Producto matricial de transformaciones geomtricas


(combinacin de transformaciones).
Aplicar sucesivas transformaciones clculo de una matriz
equivalente.

Eficiencia computacional
Las transformaciones se aplican en orden inverso.

27 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Bibliografa

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Bibliografa

Concatenacin
EJEMPLO
y

28 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Concatenacin

EJEMPLO
P 0 = T (+x1 , +y1 ) R () T (x1 , y1 ) P

29 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Bibliografa

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Reflexin

1 0 0
0 1 0
0 0 1

Reflexin sobre el eje x

30 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Bibliografa

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Reflexin

1 0 0
0 1 0
0 0 1

Reflexin sobre el eje y

31 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Bibliografa

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Reflexin

1 0 0
0 1 0
0
0 1

Reflexin sobre el origen de coordenadas

32 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Bibliografa

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Reflexin

0 1 0
1 0 0
0 0 1

Reflexin sobre la recta y = x

33 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Bibliografa

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Reflexin genrica
Sobre una recta arbitraria y = mx + b

34 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Bibliografa

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Bibliografa

Reflexin genrica

Sobre una recta arbitraria y = mx + b

T (0, b)

R ( arctan (m))

P 0 = T (0, b) R (arctan (m)) F R ( arctan (m)) T (0, b) P

35 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Afilamiento
Se desplazan los puntos en funcin de los valores de sus
coordenadas cartesianas.

En la direccin del eje x

0
x = x + ay

36 / 39

y0 = y

1 a 0
A= 0 1 0
0 0 1

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Bibliografa

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Afilamiento
Se desplazan los puntos en funcin de los valores de sus
coordenadas cartesianas.

En la direccin del eje y

1 0 0
A= b 1 0
0
y = y + bx
0 0 1
0
x =x

37 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Bibliografa

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Afilamiento genrico
Afilamiento respecto a una recta de la forma y = mx + b.

Depejando x, la ecuacin de la recta es x = (y b)/m.


0

1 1/m b/m
x = x (y b)/m
1
0
A= 0
0
y =y
0
0
1
38 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D

Bibliografa

Introduccin

Vectores y matrices

Transformaciones 2D

Reflexin

Afilamiento

Bibliografa

Govil-Pai, Shalini, Principles of Computer Graphics:


Theory and Practice Using OpenGL and Maya, Springer,
2004.

39 / 39

2008 Javier de Pedro Carracedo

Tema 2. Transformaciones geomtricas 2D