Anda di halaman 1dari 36

TRANSFORMAES 2D

Computao Grfica

Consideraes
Em CG as matrizes so mais fceis de usar e entender

do que as equaes algbricas;


Vetores linhas ou colunas
Operaes Simples
Adio: +
Subtrao: Multiplicao:
Transposio:

Consideraes
Multiplicao entre matrizes

Condio: o nmero de colunas da 1 matriz deve ser

igual ao nmero de linhas da 2 matriz


Operao impossvel

Consideraes
Transformaes Geomtricas so a base de inmeras

aplicaes grficas
O que so elas?
So usadas para mostrar ou representar objetos grficos
Matemtica: Mapeamento entre valores (funo/relao)
Geomtrica: translao, rotao, escala, cisalhamento

Porque so importantes em computao grfica?


Move o objeto na tela / no espao
Mapeamento do modelo no espao para a tela

Consideraes
Exemplos de aplicaes de transformaes geomtricas:
Programa para representar layouts de circuitos eletrnicos.
Programas de planejamento de cidades
Movimentos de translao para colocar os smbolos que definem

edifcios e rvores em seus devidos lugares, rotaes para orientar


corretamente esses smbolos, e alterao de escala para adequar o
tamanho desses smbolos, etc.
Sistemas de software sofisticados que permitem a construo de

cenas realistas.
Animaes
Etc...

Consideraes
Motivao

Consideraes
Motivao

Consideraes
Motivao

Transformaes Geomtricas 2D
As transformaes so aplicadas somente nos vrtices

(pontos) do polgono.
Transformaes bsicas
Translao (Translation) (T)
Escala (scaling) (S)
Rotao (rotation) (R)
Outras Transformaes
Reflexo (reflection)
Cisalhamento (shearing)

Translao
Deslocamento do objeto no espao

T(3,-4)

Translaes no alteram
geometria do objeto! (nem
distncias, nem ngulos)

Escala
O uso clssico desta operao em computao grfica

a funo zoom in (ampliao) ou zoom out (reduo)

Quando o fator de escala S S>1 zoom in


- distancia o objeto da origem
Quando o fator de escala S 0>S>1 zoom out
- aproxima o objeto origem

Rotao
A rotao o giro de um determinado ngulo de um

ponto em torno de um ponto de referncia, sem alterao


da distncia entre eles.
Queremos girar P=(x,y) para o ponto P=(x,y) pelo
ngulo
(Eq.1)

(Eq. 2)

Rotao
A operao de rotao feita em relao a origem

ngulos Positivos rotao no sentido anti-horrio


ngulos Negativos rotao no sentido horrio

Rotao
Exemplo:
Na figura rotacionamos o ponto (6,1) em 30 graus em torno de (0, 0).

P (4.7, 3.9)

30

P (6, 7)

Coordenadas Homogneas
Infelizmente, a translao tratada de forma diferente (como uma

soma) das outras.


Rotao e Escala so tratadas atravs de multiplicaes.
P'=T+P
P'=SP
P'=RP

Para que possamos combinar facilmente essas transformaes,

devemos tratar do mesmo modo todas as 3 transformaes.


Se os pontos so expressos em Coordenadas Homogneas, todas

as 3 transformaes podem ser tratadas como multiplicaes.

Coordenadas Homogneas
As coordenadas homogneas de um ponto (x,y) so (x,y,w),

em que
x = x/w
y = y/w
w qualquer nmero real diferente de 0

Um conjunto de coordenadas homogneas sempre da forma

(x, y, 1)
Essa forma representa o ponto (x,y)

Todas as outras coordenadas homogneas so da forma

(w.x,w.y,w)
Note que a representao em coordenadas homogneas no nica
Por exemplo: (6,4,2), (12,8,4), (3,2,1) representam o ponto (3,2)

Coordenadas Homogneas
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 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.

Interpretao geomtrica
Os
Os pontos
pontos em
em coordenadas
coordenadas
homogneas formam
formam oo plano
plano
definido
definido pela
pela equao
equao w=1
w=1
no espao
espao (x,y,w)
(x,y,w)

Coordenadas Homogneas
Uma sequncia arbitrria de rotao e translao

preserva ngulos e medidas


Transformao de corpo rgido.

Uma sequncia arbitrria de rotao, escala e

translao, preserva somente paralelismo entre linhas


Transformao afim.

Coordenadas Homogneas
Fazendo uso de coordenadas homogneas, temos:

TRANSLAO P=T.P

Coordenadas Homogneas
Fazendo uso de coordenadas homogneas, temos:

ESCALA P=S.P

Coordenadas Homogneas
Fazendo uso de coordenadas homogneas, temos:

ROTAO P=R.P

Composio de Transformaes
Quando se deseja aplicar vrias transformaes a vrios pontos, ao invs

aplicar vrias transformaes a cada ponto, pode-se combinar todas as


transformaes em uma nica matriz e ento aplicar esta matriz resultante
aos pontos do objeto, reduzindo-se assim o custo computacional.
Este processo chamado de concatenao de matrizes, e executado

multiplicando-se as matrizes que representam cada transformao.


A multiplicao de matrizes no comutativa, porm associativa.
ABBA (no comutativa)
A(BC) = (AB)C (associativa)
(FG) T = GTFT
OBS: Deve-se observar a terceira propriedade: (FG) T = GTFT. Ou seja, a

forma como a multiplicao aplicada indica na ordem que os elementos


devem estar dispostos.

Composio de Transformaes
A seguinte matriz representa a concatenao de uma

Translao seguida de uma Rotao.


A rotao deve vir antes na multiplicao.
P=RTP

Correto!

Composio de Transformaes

Translao seguida de uma Rotao.


P=TRP

Errado!

Composio de Transformaes
Exemplo:
Rotao em um ngulo sobre um ponto arbitrrio P1.
Voc deve transladar P1(x,y) para a origem (), rotacionar () e
transladar de volta ao P1 ().

Ateno na ordem,
multiplicaes de matriz
no so comutativas

Composio de Transformaes
Translao

Translaes so aditivas!

Composio de Transformaes
Rotao

Rotaes so aditivas!

Composio de Transformaes
Escala

Escalas so multiplicativas!

Cisalhamento (shear ou skew)


uma transformao que distorce objetos. Em 2D, o

objetivo deslocar as coordenadas em x ou y, linearmente.


Matriz de Cisalhamento
em Y

Matriz de Cisalhamento
em X

Espelhamento/Reflexo (reflection)
Essa transformao permite que os pontos se apresentados em uma

regio de exibio invertido de alguma forma, podendo ser realizado


tanto no eixo x quanto no y.
Podemos aplicar o:
espelhamento vertical (flip vertical);
espelhamento horizontal (flip horizontal);
espelhamento conjunto (flip vertical + flip horizontal).

Espelhamento em X

Espelhamento em Y

Exerccios
Qual a sequncia de operaes que mapeia o objeto da

Figura A para o objeto da Figura B. Qual a composio de


matrizes que gera a matriz composta de transformao?

Objeto original

P2

P1

Translao para a
posio final P2

Exerccios
Qual a sequncia de operaes que mapeia o objeto da

Figura A para o objeto da Figura B. Qual a composio de


matrizes que gera a matriz composta de transformao?

P1

P2

Objeto original

Translao
origem

Escala

P2

P1

Rotao

Translao para a
posio final P2

Exerccios
Dado o objeto na figura A, fornea a matriz da composio de

transformaes em coordenadas homogneas, para o objeto na


figura B.

Exerccios
Dado o objeto na figura A, fornea a matriz da composio de

transformaes em coordenadas homogneas, para o objeto na


figura C.

Exerccios
Dado o objeto na Figura A, fornea a matriz da composio de

transformaes em coordenadas homogneas, para o objeto na


Figura B.

Figura A

Figura B

Eficincia
Uma composio geomtrica de Rotao, Translao e

Escala fornecida pela matriz abaixo:


rii = composio das matrizes de rotao e escala
ti = componente de translao
Para calcular P =M.P so necessrias 9 multiplicaes e 6 adies.

Mas como a ltima linha da matriz fixa, so necessrias, apenas, 4


multiplicaes e 4 adies (ganho de eficincia)