Slides 04 - Transformacoes Geometricasadair/CG/Notas Aula/Slides 04... · 2020. 3. 9. ·...
Transcript of Slides 04 - Transformacoes Geometricasadair/CG/Notas Aula/Slides 04... · 2020. 3. 9. ·...
TRANSFORMAÇÕES GEOMÉTRICAS
Adair Santa CatarinaCurso de Ciência da Computação
Unioeste – Campus de Cascavel – PR
Mar/2020
2
Introdução
Transformações Geométricas são operações algébricas básicas em aplicações gráficas.
Usadas nos sistemas mais simples até os mais complexos.
Operações de translação, rotação, escala, etc.
Por exemplo, ajustar o tamanho, a posição e a orientação de um rótulo num mapa digital.
3
Transformações Geométricas em 2D
Translação: Mover um ou mais pontos no espaço 2D.
dyyy
dxxx
dy
dxT
y
xP
y
xP ,,
TPP
dy
dx
y
x
y
x
T(3, -4)
4
Transformações Geométricas em 2D
Escala: Alterar o tamanho de um objeto no espaço 2D.
S(1/2, 1/4)
ySy
xSx
y
x
PSP
y
x
S
S
y
x
y
x
0
0
5
Transformações Geométricas em 2D
Rotação: Girar um objeto no espaço 2D.
r cos( + ) x
y
P(x, y)
P´(x´, y´)
r cos()
r
r
r sen( + )
r sen()
senryrx
senryrx
cos
)()cos(
)()()cos()cos(
)cos(
sensenrrx
rx
)()cos()cos()(
)(
senrsenry
senry
)cos()sen(
)sen()cos(
yxy
yxxPRP
y
x
sen
sen
y
x
cos
cos
6
Transformações Geométricas em 2D
+ = Sentido anti-horário; = Sentido horário.
R(+45º)
7
Coordenadas Homogêneas
As TG podem ser executadas com o uso de matrizes. Enquanto escala e rotação são multiplicativas, a
translação é aditiva.
dy
dx
y
x
y
x
Translação
y
x
S
S
y
x
y
x
0
0
Escala Rotação
y
x
sen
sen
y
x
cos
cos
8
Coordenadas Homogêneas
Para otimizar a aplicação das matrizes de TG adotou-se o sistema de coordenadas homogêneas.
P em 2D P = (x, y, M), com M 0. Um sistema homogêneo corresponde a um plano no
sistema 3D.
Quando P=(a, b) é igual a P =(x, y, M)?
a = x/M e b = y/M
E se M = 1?(a = x e b = y) P=(x, y) é igual a P =(x, y, 1)
9
Coordenadas Homogêneas
Como P = (x, y, 1), as matrizes de TG são:
Translação
1100
10
01
1
y
x
dy
dx
y
x
Escala
1100
00
00
1
y
x
S
S
y
x
y
x
Rotação
1100
0cos
0cos
1
y
x
sen
sen
y
x
10
Concatenação de Matrizes
É a combinação de duas ou mais matrizes de TG; A matrizes são multiplicadas antes de aplicá-las aos
vértices do(s) objeto(s); A ordem das operações afeta o resultado das TG.
12
31
23
1 – Original2 – T(-4, -1)3 – R(30º)
1 – Original2 – R(30º)3 – T(-4, -1)
11
Concatenação de Matrizes
Percebemos que a rotação gira o objeto em relação à origem do sistema de coordenadas;
Como rotacionar um objeto em relação a um ponto P1 em específico?
12
Concatenação de Matrizes
Transladar P1 para o origem T(-P1); Rotacionar o objeto R(); Transladar P1 de volta à posição original T(P1).
13
Concatenação de Matrizes
100
10
01
100
0)cos()(
0)()cos(
100
10
01
,, 1
1
1
1
1111 y
x
sen
sen
y
x
yxTRyxTM
100
)()cos(1)cos()(
)()cos(1)()cos(
11
11
senxysen
senyxsen
M
14
Transformações 2D Adicionais
Espelhamento: Faz a reflexão do objeto em relação aos eixos X, Y ou
ambos.
100
010
001
OxE
100
010
001
OyE
15
Transformações 2D Adicionais
Espelhamento: O espelhamento em XY equivale a R(180º).
100
010
001
OxyE
16
Transformações 2D Adicionais
Cisalhamento: Distorce o objeto aplicando um deslocamento aos
valores das coordenadas X ou Y do objeto.
100
010
01 x
x
SH
SH
100
01
001
yy SHSH
Cisalhamento em X
17
Transformações entre Sistemas
Consiste na sequência de TG que alinha os eixos de dois sistemas de coordenadas;
Para transformar P(a, b) em P’(a’, b’), primeiro aplicamos T(-x0, -y0) e depois R(-)
x
y
x'y'
x0
y0
a
b'a'
bPP’
100
θcosyθsenxcossen
θsenyθcosxsencos
M 00
00
00 , yxTRM
100
10
01
0
0
y
x
100
0θcosθsen
0θsenθcos
M
PMP
18
Transformações Geométricas em 3D
Um ponto P = (x, y, z) tem seu correspondente homogêneo P = (x, y, z, 1);
Sistema de coordenadas 3D Regra da Mão Direita.
Eixo de RotaçãoDireção da Rotação
Positiva
x y para z
y z para x
z x para y
Rotação (+)Leva um eixo positivo para outro positivo.
19
Transformações Geométricas em 3D
Translação Escala
Rotação em Z
11000
100
010
001
1
z
y
x
dz
dy
dx
z
y
x
11000
000
000
000
1
z
y
x
S
S
S
z
y
x
z
y
x
1000
0100
00cos
00cos
sen
sen
Rz
Rotação em X
1000
0cos0
0cos0
0001
sen
senRx
Rotação em Y
1000
0cos0
0010
00cos
sen
sen
Ry
20
Composição de Transformações 3D
Como girar um cubo ao redor de seu centro?1 – T(-cx, -cy, -cz)
2 – Rz() 3 – Ry() 4 – Rx()5 – T(cx, cy, cz)
11
,,.),,(
z
y
x
Mz
y
x
PMP
cccTRRRcccTM zyxzyxzyx
21
Transformações Geométricas em 3D
EXERCÍCIOS+
EXERCÍCIOS+
EXERCÍCIOS