Transformações Geométricas
-
Upload
elliando-dias -
Category
Technology
-
view
6.732 -
download
1
Transcript of Transformações Geométricas
Introdução à Computação GráficaDEINF-UFMA
Prof. Anselmo Paiva
Transformações Geométricas
UFMA
Anselmo Cardoso de Paiva - DEINF - UFMA 2
Transformações Geométricas 2D
• Para gerar imagens bidimensionais precisamos das primitivas básicas(linhas, círculos, caracteres, etc.),
• Uma vez que temos um objeto definido em termos dessas primitivas,as transformações permitem mudar a orientação, tamanho ou formados objetos
• Os objetos são representados pelos pontos que o descrevem ( p = (x,y))
• Se descrevermos as transformações de pontos, então descrevemos atransformação de objetos
• Transformações 2-D :
– Translação.
– Escala (relativa a um ponto).
– Rotação (em torno de um ponto).
Transformações Lineares(espelhamento)
x
y
P
P =
P´
x´
y´ P´ =
x´ = -1.xy´ = y
x
y
x
y
-1
0
01
x´
y´ =
Exercício: Deduzir as expressõespara espelhamento em torno doeixo X.
Anselmo Cardoso de Paiva - DEINF - UFMA 4
Translação
• Descrevemos a translação de um ponto (x, y) por:
• Ou através de soma de vetores:
• Onde os vetores são definidos por :
+=
+=
tyyy
txxx
'
'
TPP +='
=
=
=
ty
txT
y
xP
y
xP ,
'
'',
Anselmo Cardoso de Paiva - DEINF - UFMA 5
Translação
• Transladando cada ponto do objeto com a mesma equação,transladamos o objeto inteiro
• Os pontos se movem ao longo de linhas paralelas.
Anselmo Cardoso de Paiva - DEINF - UFMA 6
Translação
x
y
P
x
yP’ =
P’
tx
tyt =
tx
ty+=
x’
y’
P’ = =x’
y’
x
y
1
0
0
1
txty
[T]
Matriz de Translação
Anselmo Cardoso de Paiva - DEINF - UFMA 7
Escala
• Podemos escalar as coordenadas x e y de um pontode maneira independente:
• Isso também pode ser escrito sob a forma matricial
• ou onde S é a matriz de escala.• Se sx=sy então todos os• pontos se movem• diretamente a partir da origem
ysyxsx yx ×=×= ;
=
y
x
s
s
y
x
y
x
0
0
'
'
PSP ×='
Rotação
x
y
cos θ x´
y´ =
x
y
P =
x´
y´ P´ =
x
yθ
sen θ cos θ -sen θ
Um ponto pode ser rotacionado emtorno da origem de ângulo θ usandoas equações
x´ = x.cos θ - y.sen θy´ = x.sen θ + y.cos θ
E na forma matricial:
Ou P'= RDP onde R é a matriz derotação
• Todos os pontos se movem ao longo de círculos concêntricos, com centro naorigem• Uma figura que não esteja na origem sofre uma translação além da rotação
Anselmo Cardoso de Paiva - DEINF - UFMA 9
Coordenadas Homogêneas
• Escala e rotação podem ser representadas por umamultiplicação de matriz, mas translação não pode.
• Se todas as transformações pudessem serrepresentadas por matriz, multiplicando matrizescolocariamos várias delas juntas.
• Isso é possíve se representarmos pontos 2D não porum par de números (x; y) (representado como umvetor unidimensional), mas se representarmos porpor três números (X;Y;W) denominado coordenadashomogêneas
• Dois conjuntos de coordenadas homogêneasrepresentam o mesmo ponto 2D sss são múltiplosuns dos outros: (3,2,1), (6,4,2) ou (12,8,4)
Coordenadas homogêneas (CH)
x
y
P
x
y
1
x
yP
wx
wy
w
xh
yh
w
= =
x = xh /w
y = yh /ww>0
=∆∆ =∆∆
yh
xh
w
w=1
x
y
Ex.: 3
2
1
3
2
6
4
2
9
6
3
==∆∆ =∆∆
• Cada ponto 2-D possui muitas representações em CH,que se forem interpretadas como pontos 3D, formam umareta no espaço 3D passando pela origem, e pelo ponto2D no plano z=1.• Para obter uma única representação tratamos sempreos pontos (X;Y;W) dividino por W para obter na forma (x;y; 1).
Translação em coordenadas homogêneas
yh
xh
w
w=1
x
y
x
y
P
x
yP’ =
P’
tx
tyt =
tx
ty+
t
=x’
y’
P’ = =x’
y’
x’
y’
1
x
y
1
=
1
0
0
0
1
0
tx
ty
1
[T]
Matriz de Translação
Anselmo Cardoso de Paiva - DEINF - UFMA 12
Escala e Rotação em coordenadas homogêneas
• Escala
• Rotação
=
1100
00
00
1
'
'
y
x
s
s
y
x
y
x
−
=
1100
0cossin
0sincos
1
'
'
y
x
y
x
θθ
θθ
Anselmo Cardoso de Paiva - DEINF - UFMA 13
Propriedades das Transformações
• Considere as linhas da matriz de rotação 2 x 2• Cada linha é um vetor unitário• O produto escalar entre os dois vetores é zero - as
linhas são ortogonais• A mesma propriedade vale para as colunas• Em razão dessas propriedades a matriz e
denominada ortogonal.• Consequência:
– a inversa é igual a transposta
Anselmo Cardoso de Paiva - DEINF - UFMA 14
Propriedades das Transformações
• Uma matriz da forma
• onde a submatriz da parte superior esquerda éortogonal é denominada de transformação de corporígido:– Preserva ângulos.
– Preserva comprimentos.– Pode realizar uma translação/rotação arbitrária.
1002121
1211
y
x
trr
trr
Anselmo Cardoso de Paiva - DEINF - UFMA 15
Propriedades das Transformações
• O produto de uma sequência arbitrária de matrizes detranslações, escalas e rotações, é denominado umatransformação afim. Representada por:
onde a submatriz 2x2 superior esquerda nãonecessariamente é ortogonal
• Consequência:– Preserva paralelismo de retas.– Não necessariamente preserva ângulos ou comprimentos.– Pode realizar transformações de translação, escala,
rotação, espelhamento e cisalhamento
1002121
1211
y
x
trr
trr
Anselmo Cardoso de Paiva - DEINF - UFMA 16
Transformação de Cisalhamento
• Possuem uma interpretação geométrica simples:
• São produzidas por uma matriz da seguinte forma:
• Podem ser produzidas por uma combinação derotações e escalas não uniformes
=
100
010
01 a
SH x
=
100
01
001
bSH y
Anselmo Cardoso de Paiva - DEINF - UFMA 17
Concatenação de Transformações
• Suponha que seja necessário rotacionar um objetoem torno de um ponto P1 = (x1; y1), diferente daorigem
• Não temos uma transformação que faça issodiretamente.
• Essa operação pode ser realizada com umasequência de transformações fundamentais.
Anselmo Cardoso de Paiva - DEINF - UFMA 18
Concatenação de Transformações
• Translade o objeto de modo queP1 conincida com a origem.
• Rotacione em torno da origem.
• Translade de volta de modo queo ponto sobre a origem va parana posição originária de P1.
Anselmo Cardoso de Paiva - DEINF - UFMA 19
Concatenação
• Um única matriz realizando esses três passos podeser obtida através da multiplicação das matrizes dastr6es transformações na ordem inversa em que astransformações foram aplicadas.
−−
+−−
=
=
−
−
−
=
= >−>−
100
sin)cos1(cos
sin)cos1(cos
100
10
01
100
0cos
0cos
100
10
01
11
11
1
1
1
1
1_
1_11_
θθθθ
θθθθ
θθ
θθ
θ
xysen
yxsen
y
x
sen
sen
y
x
T
TRTT
Prot
origemporigemporigemProt
Concatenação - Rotação em Torno do centro do Objeto
x
y
x0
y0
α
x
y
x
y
α
x
y
x0
y0
1 0
0 1
0 0 1
0
0
−
−
x
y 1 0
0 1
0 0 1
0
0
x
y
cos sin
sin cos
α α
α α
−
0
0
0 0 1
x
y
x
y
x
y
x
y
'
'
c o s s in
s in c o s
1
1 0
0 1
0 0 1
0
0
0 0 1
1 0
0 1
0 0 1 1
0
0
0
0
=
−
−
−
α α
α α
Anselmo Cardoso de Paiva - DEINF - UFMA 21
Concatenação de Transformações
x
y
x
y
x
y
x
y
x
y
x
yT1
R1
E
R2
T2
P’= T2 R2 E R1 T1 PP’= T2 R2 E R1 T1 P
Transformações em 3D(translações e escalas)
x’
y’
z’
1
0
1
0
0
0
0
1
0
tx
ty
tz1
y
z
1
x
=
1
0
0
0
x
y
z
x’
y’
z’
1
0
sy
0
0
0
0
sz
0
0
0
0
1
y
z
1
x
=
sx
0
0
0
Transformações em 3D(Rotações)
x
y
z
x’
y’
z’
1
0
cos θ x
sen θ x
0
0
cos θ x
0
0
0
0
1
y
z
1
x
=
1
0
0
0
-sen θ x
θ x x’
y’
z’
1
0cos θ y sen θ y
0
0 cos θ y
0
0
0
0
1
y
z
1
x
=10 0
0
-sen θ y
θ y
x’
y’
z’
1
0
cos θ z
sen θ x
0
0
cos θ x
0
0
0
0
1
y
z
1
x
=100
0
-sen θ x
θ z