Slides 04 - Transformacoes Geometricasadair/CG/Notas Aula/Slides 04... · 2020. 3. 9. ·...

21
TRANSFORMAÇÕES GEOMÉTRICAS Adair Santa Catarina Curso de Ciência da Computação Unioeste – Campus de Cascavel – PR Mar/2020

Transcript of Slides 04 - Transformacoes Geometricasadair/CG/Notas Aula/Slides 04... · 2020. 3. 9. ·...

Page 1: Slides 04 - Transformacoes Geometricasadair/CG/Notas Aula/Slides 04... · 2020. 3. 9. · Transformações Geométricas em 3D Um ponto P = (x, y, z) tem seu correspondente homogêneo

TRANSFORMAÇÕES GEOMÉTRICAS

Adair Santa CatarinaCurso de Ciência da Computação

Unioeste – Campus de Cascavel – PR

Mar/2020

Page 2: Slides 04 - Transformacoes Geometricasadair/CG/Notas Aula/Slides 04... · 2020. 3. 9. · Transformações Geométricas em 3D Um ponto P = (x, y, z) tem seu correspondente homogêneo

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.

Page 3: Slides 04 - Transformacoes Geometricasadair/CG/Notas Aula/Slides 04... · 2020. 3. 9. · Transformações Geométricas em 3D Um ponto P = (x, y, z) tem seu correspondente homogêneo

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)

Page 4: Slides 04 - Transformacoes Geometricasadair/CG/Notas Aula/Slides 04... · 2020. 3. 9. · Transformações Geométricas em 3D Um ponto P = (x, y, z) tem seu correspondente homogêneo

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

Page 5: Slides 04 - Transformacoes Geometricasadair/CG/Notas Aula/Slides 04... · 2020. 3. 9. · Transformações Geométricas em 3D Um ponto P = (x, y, z) tem seu correspondente homogêneo

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

Page 6: Slides 04 - Transformacoes Geometricasadair/CG/Notas Aula/Slides 04... · 2020. 3. 9. · Transformações Geométricas em 3D Um ponto P = (x, y, z) tem seu correspondente homogêneo

6

Transformações Geométricas em 2D

+ = Sentido anti-horário; = Sentido horário.

R(+45º)

Page 7: Slides 04 - Transformacoes Geometricasadair/CG/Notas Aula/Slides 04... · 2020. 3. 9. · Transformações Geométricas em 3D Um ponto P = (x, y, z) tem seu correspondente homogêneo

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

Page 8: Slides 04 - Transformacoes Geometricasadair/CG/Notas Aula/Slides 04... · 2020. 3. 9. · Transformações Geométricas em 3D Um ponto P = (x, y, z) tem seu correspondente homogêneo

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)

Page 9: Slides 04 - Transformacoes Geometricasadair/CG/Notas Aula/Slides 04... · 2020. 3. 9. · Transformações Geométricas em 3D Um ponto P = (x, y, z) tem seu correspondente homogêneo

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

Page 10: Slides 04 - Transformacoes Geometricasadair/CG/Notas Aula/Slides 04... · 2020. 3. 9. · Transformações Geométricas em 3D Um ponto P = (x, y, z) tem seu correspondente homogêneo

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)

Page 11: Slides 04 - Transformacoes Geometricasadair/CG/Notas Aula/Slides 04... · 2020. 3. 9. · Transformações Geométricas em 3D Um ponto P = (x, y, z) tem seu correspondente homogêneo

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?

Page 12: Slides 04 - Transformacoes Geometricasadair/CG/Notas Aula/Slides 04... · 2020. 3. 9. · Transformações Geométricas em 3D Um ponto P = (x, y, z) tem seu correspondente homogêneo

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).

Page 13: Slides 04 - Transformacoes Geometricasadair/CG/Notas Aula/Slides 04... · 2020. 3. 9. · Transformações Geométricas em 3D Um ponto P = (x, y, z) tem seu correspondente homogêneo

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

Page 14: Slides 04 - Transformacoes Geometricasadair/CG/Notas Aula/Slides 04... · 2020. 3. 9. · Transformações Geométricas em 3D Um ponto P = (x, y, z) tem seu correspondente homogêneo

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

Page 15: Slides 04 - Transformacoes Geometricasadair/CG/Notas Aula/Slides 04... · 2020. 3. 9. · Transformações Geométricas em 3D Um ponto P = (x, y, z) tem seu correspondente homogêneo

15

Transformações 2D Adicionais

Espelhamento: O espelhamento em XY equivale a R(180º).

100

010

001

OxyE

Page 16: Slides 04 - Transformacoes Geometricasadair/CG/Notas Aula/Slides 04... · 2020. 3. 9. · Transformações Geométricas em 3D Um ponto P = (x, y, z) tem seu correspondente homogêneo

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

Page 17: Slides 04 - Transformacoes Geometricasadair/CG/Notas Aula/Slides 04... · 2020. 3. 9. · Transformações Geométricas em 3D Um ponto P = (x, y, z) tem seu correspondente homogêneo

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

Page 18: Slides 04 - Transformacoes Geometricasadair/CG/Notas Aula/Slides 04... · 2020. 3. 9. · Transformações Geométricas em 3D Um ponto P = (x, y, z) tem seu correspondente homogêneo

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.

Page 19: Slides 04 - Transformacoes Geometricasadair/CG/Notas Aula/Slides 04... · 2020. 3. 9. · Transformações Geométricas em 3D Um ponto P = (x, y, z) tem seu correspondente homogêneo

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

Page 20: Slides 04 - Transformacoes Geometricasadair/CG/Notas Aula/Slides 04... · 2020. 3. 9. · Transformações Geométricas em 3D Um ponto P = (x, y, z) tem seu correspondente homogêneo

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

Page 21: Slides 04 - Transformacoes Geometricasadair/CG/Notas Aula/Slides 04... · 2020. 3. 9. · Transformações Geométricas em 3D Um ponto P = (x, y, z) tem seu correspondente homogêneo

21

Transformações Geométricas em 3D

EXERCÍCIOS+

EXERCÍCIOS+

EXERCÍCIOS