Vous êtes sur la page 1sur 24

Transformaes Geomtricas

2D
Carolina Watanabe

Referncias Bibliogrficas
FOLEY, J. D, DAM, A. V.; HUGHES, J. F. Computer Graphics Principle
and
dPPractice,
ti 2a edio
di
Material elaborado por Marcela X. ribeiro, USFCar.
Roteiro

Motivao
Transformaes Geomtricas 2D
Translao,
Escala e Rotao

Representao de Coordenadas Homogneas
e Matrizes de Transformao
Composio de Matrizes
Outras Transformaes
Espelhamento e Shearing
Transformaes Geomtricas 3D

2
Transformaes Geomtricas

Por que so necessrias?


Animao: mover os objetos;
Transformar descries de objetos entre
dif
diferentes
t sistemas
i t d
de coordenadas;
d d
Posicionar objetos em relao ao sistema
de coordenadas global;
TGs fundamentais: translao, rotao,
escala.

3
Transformaes Transformaes 2D
aplicadas somente nos
vrtices!
Translao

translao
P(x, y)
P'(x', y')

x' x d x
y' y d y

x x' d x
P , P' , T Translaes no alteram
geometria do objeto! (nem
y y' d y distncias, nem ngulos)

P' P T Exemplo lousa 4


Transformaes 2D
Escala
Quando fator de escala
escala
P(x, y) P'(x', y')
A operao de escala
maior que 11, aumenta
objeto e o distncia da
feita em relao origem;
origem!
o ge

Quando fator de escala


x' s x x y' s y y entre 0 e 1,, diminui
objeto e aproxima da
origem.

x' s x 0 x
y ' 0
s y y
S(1/2,1/4)

P' S P
Exemplo lousa 5
y Transformaes 2D
P
Rotao

r
P
r

x
r cos ( + ) r cos
x = r cos e y = r sin Eq.1

xx = r cos ( ) = r cos cos - r sen sen


y = r sen ( ) = r sen cos + r sin cos Eq.2
substituindo Eq.1 em Eq.2, obtemos ento:
x = x . cos () - y . sen (),
y = x . sen () + y . cos ()
6
Transformaes 2D
Rotao (em relao Origem)
A operao de rotao
feita em relao

rotao ( )
P
P '
origem!

x' x cos y sen

y ' x sen y cos

x' cos sen x


y ' sen
cos y
R ( 450 )

P' R P Ob ngulos
Obs: l positivos:
iti rotao
t sentido
tid anti-horrio
ti h i
ngulos negativos: rotao sentido horrio
7
Transformaes 2D
Rotao
Exemplo: Na figura rotacionamos o ponto (6,1) em 30 graus em torno de
(0 0)
(0,0).

P (4.7 , 3.9)

30o

P (6
(6,1)
1)

8
Cisalhamento
(shearing)

1 a
S Hx
0 1

Ci lh
Cisalhamento
t na di
direo
dde x

x esticado com um incremento proporcional a y

9
Reflexo

Reflexo
e e o (atravs
( vs do eixo
e o y):

1 0
Esp y
0 1

10
Coordenadas Homogneas

As operaes
p rotao e escala so efetuadas atravs de operaes
p
de multiplicao de matriz, mas a de translao feita atravs de
soma:
A tripla (x, y,w) chamada de coordenadas
P=
P T+P
P=S . P cartesianas do ponto homogneo.
P = R . P w=0, no permitido

possvel colocar todas as operaes para serem executadas como


uma multiplicao de matriz usando coordenadas homogneas, para
isso:
Expande-se as matrizes 2x2 por matrizes 3x3;
Cada
Cada ponto passa a ser representado por uma tripla (x,y,w);
Um conjunto de coordenadas (x,y, w) representam o mesmo ponto se forem
mltiplos;
Se
Se normalizamos o ponto por w temos (x/w
(x/w, y/w
y/w,1),
1) onde x/w ,y/w
y/w so as
coordenadas cartesianas do ponto homogneo.
11
Coordenadas Homogneas

Coordenadas do mesmo ponto 2D,


d
correspondem a uma reta
t no espao 3D
Ponto (x,y,w) projetado em w=1 (x,y,w), e para w =1...os pontos x,y esto
no plano

12
Matrizes Transformao 2D
Propriedades especiais

Uma seqncia arbitrria de rotao e translao


preserva ngulos e medidas transformao de corpo
rgido.

x' r11 r12 tx x


y ' r 21 r 22 ty y

1 0 0 1 1

Uma seqncia arbitrria de rotao, escala e


translao, preserva somente paralelismo entre
linhas transformao afim.

13
Exerccio
Como fazer a transformao inversa de:
(a) translao T(dx,dy)
(b) escala E(sx,sy)
(c) rotao R(

Uma matriz quadrada admite inversa se seu determinante diferente de zero.


Assim as matrizes de transformaes T, E, R admitem inversa!

Matriz Ortogonal:

A inversa de uma matriz ortogonal igual a transposta M-1 MT


Matriz de rotao: Ortogonal Especial com determinante 1:

14
Composio de Transformaes
Ao invs de aplicar uma transformao por vez nos pontos
de um objeto, mais rpido calcular uma matriz resultante
da composio de transformaes
transformaes, e depois multiplicar
essa matriz para cada ponto do objeto. Exemplo:
A rotao de um objeto de um ngulo sobre um ponto
arbitrrio P1

P1 P1

P1 P1
P = M . P
1 0 tx cos sen 0 1 0 tx
M 0 1 ty sen cos 0 0 1 ty
0 0 1 0 0 1 0 0 1
Ateno na ordem, multiplicaes de matriz no so comutativas15
Composio: translao

Duas translaes sucessivas (tx1,tyy1) e (tx2,tyy2):

P= T(tx2,ty2)T(tx1,ty1) P Calcule a matriz produto e


= {T(tx2,tty2) T(t
T(tx1,tty1)} P verifique
ifi ...

A matriz composta de transformao para esse caso :

1 0 t x 2 1 0 t x1 1 0 t x1 t x 2
0 1 t 0 1 t 0 1 t t
y2 y1 y1 y2

0 0 1 0 0 1 0 0 1

Translaes so aditivas !
16
Composio: Rotao

Duas rotaes sucessivas (1 e 2)

P= R(2){R(1 ) P} Calcule a matriz produto e


= {R(2) R(
R(1 )} P verifique
ifi ...

A matriz composta de transformao para esse caso :

cos1 sen 1 0 cos 2 sen 2 0 cos(1 2 ) sen(1 2 ) 0


sen cos 1 0 sen 2 cos 2 0 sen(1 2 ) cos(1 2 ) 0
1

0 0 1 0 0 1 0 0 1

Rotaes so aditivas !
17
Composio: escala

Duas escalas sucessivas (sx1,syy1) e (sx2,syy2):

P= S(sx2,sy2){S(sx1,sy1) P} Calcule a matriz produto e


{S( x2,sy2) S(s
= {S(s S( x1,sy1)} P verifique
ifi ...

A matriz
i composta dde transformao
f para esse caso :

sx 2 0 0 s x1 0 0 s x1 s x 2 0 0
0 sy2 0 0 s y1 0 0 s y1 s y 2 0

0 0 1 0 0 1 0 0 1

Escalas
l so multiplicativas!
l i li i
18
Operaes comutativas

Translao -Translao
Translao
Escala Escala
Rotao Rotao
Escala (sx=sy) Rotao (Exerccio: Provar)

19
Exerccios
1. Qual a seqncia de operaes que mapeia o objeto da
figura A para o objeto da Figura B. Qual a composio
d matrizes
de i que gera a matriz
i composta d de
transformao?

20
Exerccios

1. T(-x1,-y1)
2. E(sx,sy)

3. R()
4. T(x2,y2)

( ,y ) R(() E(sx,sy)
M =T(x2,y2) ( , y) T(-x1,-y1)
( ,y )

21
Exerccios
2. Dado o objeto na figura A, fornea a matriz da composio
de transformaes em coordenadas homogneas, para o
objeto
bj na figura
fi B
B.

C
5

1 A B C

0,0 B
1 5 5
Figura A
Figura B

22
Exerccios
3. Dado o objeto na figura A, fornea a matriz da composio
de transformaes em coordenadas homogneas, para o
objeto
bj na figura
fi C
C.

C
5

1 B C
A

0,0 A
1 5 1 5
Figura A Figura C

23
Eficincia

Uma composio geomtrica de Rotao, Translao e


Escala fornecida pela matriz abaixo:

x' r11 r12 tx x rii : composio das


y ' r 21 r 22 ty y matrizes de rotao e
escala;
1 0 0 1 1
ti : componente de
translao
Para calcular P= M.P so necessrias 9 m
calc lar P multiplicaes
ltiplicaes e
6 adies. Mas como a ltima linha da matriz fixa.
Necessrio somente 4 multiplicaes
p e 4 adies
(g
(ganho
de eficincia)

24