Escolar Documentos
Profissional Documentos
Cultura Documentos
Transf2D 2013
Transf2D 2013
Transf2D 2013
1
Transformações 2D - Translação
Posição inicial
Translação
Posição final
2
Transformações 2D - Translação
x' = x + t x
• Cada vértice é modificado
y' = y + t y
r tx
• Utiliza-se vetores para representar t =
a transformação ty
• Um ponto p(x,y) torna-se um vetor r x
p=
y
• Assim, a translação torna-se uma
mera soma de vetores
r r r
p' = p + t
3
Transformações 2D - Escala
• Coordenadas são multiplicadas pelos
fatores de escala x' = x.s x
y ' = y.s y
• Tipos de Escala
– Uniforme:
• sx = sy
– Não-Uniforme
• sx <> sy
• Escala é uma multiplicação de matrizes
5
Transformações 2D - Rotação
• Como chegar à matriz de rotação?
x = r. cos α y = r. sin α
x' = r. cos(α + β ) y ' = r. sin(α + β )
6
Transformações 2D - Rotação
• Como chegar à matriz de rotação?
x = r. cos α y = r. sin α
x' = r. cos(α + β ) y ' = r. sin(α + β )
• Ao longo do eixo Y
− 1 0 x − x
0 1. y = y
8
Transformações 2D – Deslizamento
• Shearing é uma
transformação que distorce o
objeto
• Distorção na direção x
1 Shx x x + Shx . y
0 1 . y = y
• Distorção na direção y
1 0 x x
Sh =
1 y Shx .x + y
.
y
9
Resumo Transformações 2D
• Applet – Transformações 2D
• Notação Vetor-Matriz simplifica escrita
– Translação expressa como uma soma de vetores
– Escala e Rotação expressas como multiplicação Matriz-
Vetor
• Porém, é interessante uma notação uniforme e
consistente
– Permitir que se expresse as três operações de maneira
idêntica
– Permitir que se expresse a combinação destas três
operações também de maneira idêntica
• Como fazer isso?
10
Matriz Transformação
• Produzir uma matriz que seja o resultado da
multiplicação das transformações a serem
aplicadas no objeto
• Problema: Todas as operações básicas devem ser
escritas em forma matricial
• Para isto, escreva as notações matriciais das
transformações:
x' = x.s x x' = x. cos β − y. sin β x' = x + t x
y ' = y.s y y ' = x. sin β + y. cos β y' = y + t y
11
Coordenadas Homogêneas
• Introduzida em Matemática
x
• Adiciona uma terceira coordenada w y
• Um ponto 2D passa a ser um vetor com 3
w
coordenadas
• 2 pontos são iguais se e somente se: x' x y' y
= e =
• Homogeneizar: dividir por w w' w w' w
• Pontos homogeneizados:
x
y
1
12
Translação – Coord. Homogêneas
r r r
p' = p + t
x′
y′ =
1
0
0 t x x
1 t y y
xw′′ = wx + t x
w ′
0
y′ y
0 1 w
w′ = w + t y
x ′ = x + wt x
y ′ = y + wt y
w ′ = w
13
Escala – Coord. Homogêneas
x ′ s x 0 x
0
xw′′ = s x x
w
y′ = 0
w ′ 0
sy 0 y
1 w
y′ y
0
w′ = sy w
x ′ = sx x
y ′ = sy y
w ′ = w
14
Rotação – Coord. Homogêneas
x ′ cos θ − sin θ 0 x
y ′ = sin θ cos θ 0 y
w ′ 0 0 1 w xw′′ = cos θ wx − sin θ y
y′
w
w ′ = sin θ wx + cos θ y
w
x ′ = cos θx − sin θ y
y ′ = sin θx + cos θ y
w ′ = w
15
Composição de Transformações
P’=(-TQ)RΘTQ P
16
Composição de Transformações
• Observações
– Multiplicação de Matrizes não é comutativa
– Ordem das operações influencia diretamente
• Rotação seguida de translação é muito diferente de translação
seguida de rotação.
17
Matriz de Transformação
18
Animação
T1=(tx1,ty1) T8=(tx8,ty8)
dx = tx8 − tx1
1 0 dx
0 1 dy
0 0 1
dx
∆x =
number _ of _ frames
dy
∆y =
number _ of _ frames
19
Animação
S1=(sx1,sy1) Sx = S 8 − S1
Sx 0 0 S8=(sx8,sy8)
0 Sy 0
0 0 1
Sx
∆x =
number _ of _ frames
Sy
∆y =
number _ of _ frames
20
Física
21
Pipeline de Visualização
X
2D
22
Pipeline 2D
• SRO
• SRU
• SRW
(recorte 2D)
• SRV
• SRD
23
Exercício:
(8,6)
(2,4)
24
Resposta:
(10,3)
(0,1)
25
Exercício:
• Monte a matriz e rotacione em (45 graus) o ponto
abaixo:
(2,4)
26
Resposta:
• Monte a matriz e rotacione em (45 graus) o ponto
abaixo:
27
Instanciamento: Coordenadas
28
Instanciamento: Coordenadas