Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e...

50
Transformações Geométricas Composição, Mudança de Coordenadas e Grafos de Cena Capítulo 3 1

Transcript of Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e...

Page 1: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Transformações GeométricasComposição, Mudança de Coordenadas e Grafos de

Cena

Capítulo 3

1

Page 2: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Questão (exame)[3.0v] Considere os polígonos “A” e “B” e o ponto “P”

representados na figura abaixo.

a) calcule a matriz final que representa a transformação a aplicar

ao polígono “A” para que este se transforme no polígono “B”.

b) Calcule as coordenadas do ponto “Q” resultante da aplicação

da transformação referida anteriormente a “P”

2

Page 3: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Questão (exame)[2.0v] (…) calcular a matriz de transformação (…)

100

210

201

100

0)º45cos()º45sin(

0)º45sin()º45cos(

100

410

301

)2,2()º45()4,3( TRTM

100

2242

22

2

32

22

2

M

?3

Page 4: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Questão 2, exame de 20/07/11[1.0v] (…) calcular as coordenadas de “Q” (…)

1

224

3

1

4

4

100

2242

22

2

32

22

2

PMQ ?4

Page 5: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Transformações em 3DTransformações Geométricas

5

Page 6: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Transformações Elementares 3D

Translação

1 0 0 dx

0 1 0 dy

0 0 1 dz

0 0 0 1

MT = T(dx, dy, dz) =

x´ 1 0 0 dx x

y´ 0 1 0 dy y

z´ 0 0 1 dz z

1 0 0 0 1 1

= .

6

Page 7: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Transformações Elementares 3D

Escala

Sx 0 0 0

0 Sy 0 0

0 0 Sz 0

0 0 0 1

MS = S(Sx, Sy, Sz) =

x´ Sx 0 0 0 x

y´ 0 Sy 0 0 y

z´ 0 0 Sz 0 z

1 0 0 0 1 1

= .

7

Page 8: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Transformações Elementares 3D

Rotação

cos -sin 0 0

sin cos 0 0

0 0 1 0

0 0 0 1

Rz(): em torno do eixo dos ZZ

1 0 0 0

0 cos -sin 0

0 sin cos 0

0 0 0 1

cos f 0 sin f 0

0 1 0 0

-sin f 0 cos f 0

0 0 0 1

Rx(): em torno do eixo dos XX Ry(f): em torno do eixo dos YY

X

Y

Z

Rz()

Ry(f)

Rx()

8

Page 9: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Instâncias de Objectos

Cada instância de um objecto na cena

conjunto de Transformações Geométricas

9

Page 10: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Matriz de Transformação Composta

Transformações Geométricas

10

Page 11: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Matriz de Transformação Composta

Qualquer sequência deTranslações, Rotações e Escalas

Pode ser representada numa única matriz:

r11 r12 r13 txr21 r22 r23 tyr31 r32 r33 tz0 0 0 1

M =

11

Page 12: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Composição de Transformações

Transformações associam-se Da direita para a esquerda

Pela ordem inversa de aplicação

P P´ P´´T1 T2

P´ = T1 · P e P´´= T2 · P´

P´´= T2 · (T1 · P)

P´´= (T2 ○ T1) · P = (T2 · T1) · P

Coordenadas homogéneas

Composição de Transformações Produto de Matrizes

12

Page 13: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Mudança do Sistema de Coordenadas

p

X

Y

e

xe

ye

yp

xp

13

Page 14: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Mudança do Sistema de Coordenadas

 

x p

y p

1

é

ë

ê ê ê

ù

û

ú ú ú

=

1 0 xe

0 1 ye

0 0 1

é

ë

ê ê ê

ù

û

ú ú ú

ux vx 0

uy vy 0

0 0 1

é

ë

ê ê ê

ù

û

ú ú ú

up

v p

1

é

ë

ê ê ê

ù

û

ú ú ú

=

ux vx xe

uy vy ye

0 0 1

é

ë

ê ê ê

ù

û

ú ú ú

p

X

Y

e

uvxy pevu

p

100

14

Page 15: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Transformações Geométricas

Mudança de Sistema de Coordenadas

P(2) = M2←3 · P(3)

M1←3 = M1←2 · M2←3

P

P(1) = M1←2 · P(2)

15

Page 16: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

WCS

DOF

45°

UE

V

P

S

C

T

Transformações Geométricas

Mudança de Sistema de Coordenadas

𝐷𝑂𝐹𝑊𝐶𝑆 = 1 1 𝑇

𝐸𝑊𝐶𝑆 = 2 0 𝑇

𝐶𝑈𝑉 = 0 2 𝑇

𝑃𝑆𝑇 = 3 0 𝑇

𝜃 = 45°

𝑀𝑆𝑇→𝑊𝐶𝑆 = ⋯

𝑃𝑊𝐶𝑆 = ⋯

16

Page 17: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Grafo de Cena

17

Page 18: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Motivação:

Modelo de um carro

Chassis e quatro rodas

Movimento do carro e rotação das rodas relacionados

18

Page 19: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Grafo de Cena

Cada nó (excepto raiz) tem exactamente um parent

Pode ter inúmeros filhos

Folha não tem filhos (usualmente é uma primitiva)

raiz

folha

19

Page 20: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Grafo do Carro

20

Page 21: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Grafo de Cena

Cenas 3D armazenadas em DAG

Grafo de Cena

• Java3D

• VRML

• OpenSceneGraph

• OpenSG

Grafo de Cena contém

Objectos (primitivas gráficas)

• Cubos, esferas, cones, superfícies,....

• Atributos e Transformações

Como descrever um

paralelepípedo numa cena?

(com estas primitivas)

21

Page 22: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Transformações em Grafos de Cena

raíz

t0

g1

t1 t2

t3 t4

t5 t6

p1

p2

p3 p4

g3 g2

g3

g3

transformações

grupos de obj

primitivas

Exemplo de um Grafo de Cena

Neste grafo de cena

A transformação t0 afecta todos os objectos

Enquanto t2 só afecta p2 e uma instância do grupo g3

• t2 não afecta p1 e a outra instância de g3

22

Page 23: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Múltipla Instanciação

Múltiplas instâncias de uma sub-árvore

Podem utilizar-se várias

É necessário definir antes de instanciar

• Mais simples de concretizar

raíz

t0

g1

t1 t2

t3 t4

t5 t6

p1

p2

p3 p4

g3 g2

g3

g3

transformações

grupos de obj

primitivas

Exemplo de um Grafo de Cena

23

Page 24: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Transformações Hierárquicas (1/2)

Matriz de Transformação Corrente (CTM)Matriz a aplicar a todos os vértices

Cálculo da CTMConcatenação de todas as transformações em nós superiores no caminho

24

Page 25: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Transformações Hierárquicas (2/2)

Exemplo

m0

g0

m1

m3

p1

p3 p4

m2

g2

No grafo

para g0, temos MTC = m0

para p1, MTC = m0 * m1

para p3, MTC = m0 * m2

para p4, MTC = m0 * m2 * m3

Em que

mi - matriz de transformação

pi - primitiva associada ao nó i

gi - sub-árvore com raíz em i

?

25

Page 26: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Grafo para um Robot

26

Page 27: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Realizar o Robot

Primitivas Geoméricas Simples (e.g. boxes)

Matrizes descrevem posição e orientação do nó

relativamente ao seu paiMlla posiciona left lower arm relativamente ao left upper arm

Mlla

27

Page 28: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Grafo com Matrizes

28

Page 29: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Construção de uma cena em Three.js

Transformações Geométricas

29

Page 30: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

ModelaçãoUm exemplo

30

Page 31: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

ModelaçãoUm exemplo

Primitivas (P1, P2 e P3)

Cubo Unitário

Transformações

Translação e Escala

m0

g0

m1

m4

p1

p2 p3

m2

g2

m3P1P3

P2

31

Page 32: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

P3 = Cubo Unitário

M4 = Escala

ModelaçãoUm exemplo

m0

g0

m1

m4

p1

p2 p3

m2

g2

m3

32

Page 33: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

P3 = Cubo Unitário

M4 = Escala

ModelaçãoUm exemplo

m0

g0

m1

m4

p1

p2 p3

m2

g2

m3

33

Page 34: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

P2 = Cubo Unitário

M3 = Escala seguida de Translação

ModelaçãoUm exemplo

m0

g0

m1

m4

p1

p2 p3

m2

g2

m3

34

Page 35: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

P2 = Cubo Unitário

M3 = Escala seguida de Translação

ModelaçãoUm exemplo

m0

g0

m1

m4

p1

p2 p3

m2

g2

m3

35

Page 36: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

G2 = composição de duas primitivas

M2 = Translação

ModelaçãoUm exemplo

m0

g0

m1

m4

p1

p2 p3

m2

g2

m3

36

Page 37: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

G2 = composição de duas primitivas

M2 = Translação

ModelaçãoUm exemplo

m0

g0

m1

m4

p1

p2 p3

m2

g2

m3

37

Page 38: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

P1 = Cubo Unitário

M1 = Escala

ModelaçãoUm exemplo

m0

g0

m1

m4

p1

p2 p3

m2

g2

m3

38

Page 39: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

P1 = Cubo Unitário

M1 = Escala

ModelaçãoUm exemplo

m0

g0

m1

m4

p1

p2 p3

m2

g2

m3

39

Page 40: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

G0 = Objecto Composto

M0 = Translação

ModelaçãoUm exemplo

m0

g0

m1

m4

p1

p2 p3

m2

g2

m3

40

Page 41: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

G0 = Objecto Composto

M0 = Translação

ModelaçãoUm exemplo

m0

g0

m1

m4

p1

p2 p3

m2

g2

m3

41

Page 42: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

ModelaçãoUm exemplo

m0

g0

m1

m4

p1

p2 p3

m2

g2

m3

42

Page 43: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

ModelaçãoUm exemplo

m0

g0

m1

m4

p1

p2 p3

m2

g2

m3

43

Page 44: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

ModelaçãoUm exemplo

m0

g0

m1

m4

p1

p2 p3

m2

g2

m3

44

Page 45: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

ModelaçãoUm exemplo

m0

g0

m1

m4

p1

p2 p3

m2

g2

m3

45

Page 46: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

ModelaçãoUm exemplo

m0

g0

m1

m4

p1

p2 p3

m2

g2

m3

46

Page 47: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

ModelaçãoUm exemplo

m0

g0

m1

m4

p1

p2 p3

m2

g2

m3

47

Page 48: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

ModelaçãoUm exemplo

m0

g0

m1

m4

p1

p2 p3

m2

g2

m3

48

Page 49: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

ModelaçãoUm exemplo

m0

g0

m1

m4

p1

p2 p3

m2

g2

m3

49

Page 50: Slides Computação Gráfica · Questão (exame) [3.0v] Considere os polígonos “A” e “B” e o ponto “P” representados na figura abaixo. a) calcule a matriz final que representa

Hierarquia: Modular Swinging Robot vs Hover Robot

50