• Nenhum resultado encontrado

Mestrado em Engenharia Informática e de Computadores Ambientes de Visualização Tridimensional. Modelação Geométrica. Grafos de Cena e Transformações

N/A
N/A
Protected

Academic year: 2021

Share "Mestrado em Engenharia Informática e de Computadores Ambientes de Visualização Tridimensional. Modelação Geométrica. Grafos de Cena e Transformações"

Copied!
42
0
0

Texto

(1)

Mestrado em Engenharia Informática e de Computadores

Ambientes de Visualização Tridimensional

Modelação Geométrica

Grafos de Cena e Transformações

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Grafos de Cena

Modelação Geométrica

(2)

MEIC

AVT

Grafo de Cena

Motivação

Cenas são geralmente demasiado complexas

Para se representarem como um único modelo

Malha de polígonos, instanciação de primitivas, ....

Modelos são dinâmicos

Posição e orientação de partes variam no tempo

Grafo de cena permite representação hierárquica

facilita o a modelação e controle dos modelos

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Grafo de Cena

Motivação

(3)

MEIC

AVT

Grafo de Cena

Motivação

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Grafo de Cena

Motivação

(4)

MEIC

AVT

Grafo de Cena

Motivação

x

1

y

1

α

β

X

Y

α

β

x

2

x

3

x

4

y

2

y

4

y

3

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Grafo de Cena

(5)

MEIC

AVT

Grafos de Cena

Hierarquia modular

Organização em árvore ou DAG

Construção ascendente (bottom-up)

Permitem construir modelos geométricos

A partir de primitivas básicas

Propagação de actualizações

Alteração num componente reflecte-se no modelo

Ex.: aumentar comprimento de braço do pêndulo

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

x

y

1

θ

w

1

v

2

φ

X

Y

v

1

Grafos de Cena

(6)

MEIC

AVT

Grafos de Cena

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Transf. Geom. Planas Elementares

Transformações Geométricas

(7)

MEIC

AVT

Transf. Geom. Planas Elementares

Operações sobre vectores (matrizes)

Soma

Multiplicação

Suficientes para grande parte da modelação

Translação

Rotação

Escala

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Mover Objectos

Num Espaço Vectorial

aqui = [2, 3]

T

ali = [8, 5]

T

Y

X

[0, 0]

T

Solução:

Somar a

6

2

2

3

(8)

MEIC

AVT

Transformações Geométricas

Translação

(1/2)

Soma de vectores

P´= T + P com T =

dx

dy

P = P´ =

x

y

onde

x´ = x + dx, y´ = y + dy

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Transformações Geométricas

Translação

(2/2)

Para deslocar polígonos

aplicar a transformação a cada um dos vértices

X

Y

P(x,y)

P´(x´,y´)

x

x’

y

y’

(9)

MEIC

AVT

Transformações Geométricas

Escala

(1/2)

Multiplicação matricial

P = P´ =

x

y

x´ = S

x

. x , y´ = S

y

. y

Sx 0

0 Sy

x

y

Sx 0

0 Sy

=

.

P´= S · P com S =

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Transformações Geométricas

Escala

(2/2)

X

Y

P(x,y)

P´(x´,y´)

Sx = Sy = 2 (Ampliação)

X

Y

X

Y

Sx = 2; Sy = 1

Sx = 1; Sy = -1

X

Y

Sx = 1; Sy = 2

Uniforme

Não - Uniforme

(10)

MEIC

AVT

Transformações Geométricas

Escala

(3/3)

Propriedades

Não preserva comprimentos

Não preserva ângulos

Excepto escala

uniforme

Escala uniforme é CONFORME

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Transformações Geométricas

Rotação

(1/3)

X

Y

P (x,y)

P´(x´,y´)

α

β

x

y

sin (

α

+

β

) = cos

α

. sin

β

+ sin

α

. cos

β

cos (

α

+

β

) = cos

α

. cos

β

- sin

α

. sin

β

(11)

MEIC

AVT

Transformações Geométricas

Rotação

(2/3)

Rotação de vectores por um ângulo β

P = P´ =

x

y

P’ = R

β

. P

x´= x . cos

β

- y . sin

β

y´= x . sin

β

+ y . cos

β

onde

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Transformações Geométricas

Rotação

(3/3)

X

Y

P (x,y)

P´(x´,y´)

α

β

x

y

P´= R

β

. P com R

β

=

cos β

sin β

-sin β

cos β

(12)

MEIC

AVT

Transformações Geométricas

Classificação

Projectivas

Afins

Lineares

Projectivas

Podem não preservar o paralelismo das linhas

A imagem de uma linha é um ponto ou uma linha

Nunca uma curva

Afins

Mantêm paralelismo de linhas

A imagem do vector (0,0) pode não ser (0,0)

Lineares

Transformam linhas em linhas ou em pontos

A imagem do vector (0,0) é sempre (0,0)

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Transformações Geométricas

Transformações Lineares

Escala e Rotação

Transformações Lineares

Expressas pelas matrizes:

cos

β

-sin

β

sin

β

cos

β

Sx 0

0 Sy

(13)

MEIC

AVT

Transformações Geométricas

Transformações Lineares

Translação

Não é transformação Linear

Não se pode representar na forma:

É uma transformação afim.

Porquê?

x’ = ax + by

y’ = cx + dy

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Sistema de equações lineares e matrizes

Problema

Modelo apresentado não é uniforme

Translação - Soma de vectores

Escala e Rotação - Produto de matrizes

Gostaríamos de ter

Transformações como sistemas de equações

x´ = a x + b y

y´ = c x + d y

(14)

MEIC

AVT

Coordenadas Homogéneas

Transformações Geométricas

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Coordenadas Homogéneas

(1/5)

Transformações são multiplicações

Espaço 2D representado num espaço 3D

Ponto (x,y) transformado num ponto (x,y,W)

x

y

w

P

h

(x·W, y·W, W)

P

2d

(x, y)

P

h

(Wx, Wy, W), W

0

P

2d

(x, y)

(15)

MEIC

AVT

Coordenadas Homogéneas

(2/5)

x

y

w

P

h

(x·W, y·W, W)

P

2d

(x, y)

(x, y, W) =

2d

(x’ , y’, W’) se múltiplos

Em coordenadas homogéneas

Cada ponto 2D tem inúmeras representações

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Coordenadas Homogéneas

(3/5)

Dois pontos no espaço homogéneo

Podem representar o mesmo ponto em 2D

x

y

w

P

h

(x’, y’, W’)

P

2d

(u, v)

(x, y, W) =

2d

(x’ , y’, W’) se (x/W, y/W) = (x’/W’, y’/ W’)

P

h

(x, y, W)

(16)

MEIC

AVT

Coordenadas Homogéneas

(4/5)

Infinitos pontos no espaço homogéneo

Correspondem a um ponto 2D

Ponto 2D

Representa uma recta no espaço homogéneo

x

y

w

P

h

(x’, y’, w’)

P

2d

(u, v)

P

h

(x, y, w)

P

h

(x”, y”, w”)

(tx, ty, tW), com t ≠ 0

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Coordenadas Homogéneas

(5/5)

x

y

w

P

h

(x, y, w)

P

2d

(x/w, y/w, 1)

(x, y, W) =

2d

(x/W , y/W, 1)

x/W

e y/W: coordenadas Cartesianas do

ponto homogéneo

W=1

(17)

MEIC

AVT

Transformações

no Espaço Homogéneo

(1/4)

Pontos 2D

Escrevem-se como vectores de 1x3

P = [x y 1]

T

• Transformações geométricas 2D

– Escrevem-se como matrizes de 3x3

• No espaço homogéneo considera-se

– W=1

para transformações afins em 2D

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Translação

Transformações

no Espaço Homogéneo

(2/4)

1 0 dx x

0 1 dy y

1 0 0 1 1

=

.

P´= M

T

· P com M

T

=

1 0 dx

0 1 dy

0 0 1

(18)

MEIC

AVT

Transformações

no Espaço Homogéneo

(3/4)

Escala

P´= M

T

· P com M

T

=

S

X

0 0

0 S

Y

0

0 0 1

Sx 0 0 x

0 Sy 0 y

1 0 0 1 1

=

.

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Transformações

no Espaço Homogéneo

(4/4)

Rotação

P´= M

T

· P com M

T

=

cos(β) -sin(β) 0

sin(β) cos(β) 0

0 0 1

cos(

β

) -sin(

β

)

0 x

sin(

β

)

cos(

β

) 0 y

1 0 0 1 1

=

.

(19)

MEIC

AVT

Matrizes de Transformação

M

T

= T(dx,dy) =

1 0 dx

0 1 dy

0 0 1

Translação

Escala

M

E

= S(S

X

,S

Y

) =

S

0 S

X

0 0

Y

0

0 0 1

Rotação

M

R

= R(β) =

cos(β) -sin(β) 0

sin(β) cos(β) 0

0 0 1

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Composição de Transformações

Transformações Geométricas

(20)

MEIC

AVT

Composição de Transformações

Transformações associam-se

Da direita para a esquerda

Pela ordem inversa de aplicação

P P´

T

P´´

1

T

2

P´ = T

1

· P e P´´= T

2

· P´

P´´= T

2

· (T

1

· P)

P´´= (T

2

○ T

1

) · P = (T

2

·

T

1

) · P

No espaço homogéneo

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

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

Exemplo: rotação em torno de um ponto

Composição de Transformações

Problema: Rotação definida em relação a (0, 0).

Como rodar em torno de um ponto qualquer?

Resposta: sequência de 3 transformações básicas.

X Y X Y P1 X Y T(-x1,-y1) P1 X Y x1 y1 R (θ) T(x1,y1)

T = T(x1,y1) . R(

θ

) . T(-x1,-y1) =

1 0 x1 cos

θ

-sin

θ

0 1 0 -x1 cos

θ

-sin

θ

x1(1 - cos

θ

) + y1sin

θ

0 1 y1 sin

θ

cos

θ

0 0 1 -y1 sin

θ

cos

θ

y1(1 - cos

θ

) - x1sin

θ

0 0 1 0 0 1 0 0 1 0 0 1

.

.

=

(21)

MEIC

AVT

Composição de Transformações

Em geral não é comutativa

Produto de matrizes não o é

Alguns pares comutativos

Translação ○ Translação

(Translação + Translação)

Escala ○ Escala

(Escala + Escala)

Rotação ○ Rotação

(Rotação + Rotação)

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Composição de Transformações

Exemplos de Comutatividade

Sx2 0 0 Sx1 0 0 Sx1.Sx2 0 0

0 Sy2 0 0 Sy1 0 0 Sy1.Sy2 0

0 0 1 0 0 1 0 0 1

=

.

cos

α

-sin

α

0 cos

β

-sin

β

0 cos (

α

+

β

) -sin (

α

+

β

) 0

sin

α

cos

α

0 sin

β

cos

β

0 sin (

α

+

β

) cos (

α

+

β

) 0

0 0 1 0 0 1 0 0 1

=

.

1 0 dx2 1 0 dx1 1 0 (dx1 + dx2)

0 1 dy2 0 1 dy1 0 1 (dy1 + dy2)

0 0 1 0 0 1 0 0 1

=

.

(22)

MEIC

AVT

Composição de Transformações

Exemplo de composições não comutativas

Translação + Escala

Escala + Translação

MEIC

AVT

Transformações Inversas

Transformações Geométricas

(23)

MEIC

AVT

Transformações Inversas

Podemos fazer o cálculo algebricamente

Calcular a matriz inversa directamente

Computacionalmente pesado

=

=

=

a

c

b

d

bc

ad

a

c

b

d

A

A

d

c

b

a

A

1

1

1

=

=

− 22 21 12 11 31 32 11 12 32 31 22 21 21 23 11 13 33 31 13 11 31 33 21 23 23 22 13 12 32 33 12 13 33 32 23 22 1 33 32 31 23 22 21 13 12 11

1

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

A

A

a

a

a

a

a

a

a

a

a

A

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Transformações Inversas

Conhecendo transformação representada pela matriz

Podemos usar a geometria para determinar as inversas

T(d

x

, d

y

, d

z

)

-1

=?

S(s

x

, s

x

, s

z

)

-1

=?

R

x

(θ)

-1

=?

R

y

(θ)

-1

=?

R

z

(θ)

-1

=?

(24)

MEIC

AVT

Transformações Inversas

(

)

(

)

=

=

1

0

0

1

0

0

1

,

,

1 y x y x y x

d

d

d

d

T

d

d

T

( )

=

=

1

0

0

0

1

0

0

0

1

1

,

1

,

1 y x y x y x

s

s

s

s

S

s

s

S

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

=

=

=

1

0

0

0

cos

sin

0

sin

cos

1

0

0

0

cos

sin

0

sin

cos

1

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

z z

R

R

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Inversão de

Transformações Compostas

A inversa de uma série de transformações

É uma série das inversas em ordem inversa ☺

1

1

1

2

1

1

2

1

=

=

M

M

M

M

M

M

M

M

n

n

L

L

(25)

MEIC

AVT

Transformações em 3D

Transformações Geométricas

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

Espaço vectorial tridimensional

(1/2)

Usa o referencial de mão direita

“Right handed coordinate system”

Rotações positivas

Sentido oposto ao da rotação dos ponteiros do relógio

“counterclockwise”

Eixo ZZ “aponta” para “fora” da página

X

Z

Y

(26)

MEIC

AVT

Espaço vectorial tridimensional

(2/2)

Referencial de mão direita

Convenção matemática

Referencial de mão esquerda

Interpretação natural em CG

Objecto com maiores valores na coordenada Z

Encontram-se mais distantes do observador

Na prática usam-se ambos os referenciais

Conforme sistema gráfico, aplicação ou biblioteca

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Transformações Geométricas 3D

Transformações 2D

Matrizes 3x3 no espaço homogéneo

Transformações 3D

Matrizes 4x4 no espaço homogéneo

Analogamente

(27)

MEIC

AVT

Coordenadas Homogéneas

Espaço 3D representado num espaço 4D

Ponto (x,y,z) transformado num ponto (x,y,z,W)

P

3d

(x, y, z)

P

h

(Wx, Wy, Wz, W), W

0

Semelhante a 2D

Ponto 3D tem inúmeras representações em 4D

Infinitos pontos no espaço homogéneo

representam o mesmo ponto em 3D

Homogeneização idêntica

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Homogeneização em 3D

Idêntica à realizada em 2D

Dividem-se coordenadas homogéneas por W

(x, y, z, W) =

3d

(x/W , y/W, z/W, 1)

x/W

, y/W e z/W: coordenadas

Cartesianas do ponto homogéneo

(x, y, z, W) → (x/W , y/W, z/W)

(x, y, z) → (x , y, z, 1)

(28)

MEIC

AVT

Transformações Elementares 3D

Translação

1 0 0 dx

0 1 0 dy

0 0 1 dz

0 0 0 1

M

T

= T(dx, dy, dz) =

1 0 0 dx x

0 1 0 dy y

0 0 1 dz z

1 0 0 0 1 1

=

.

MEIC

AVT

Transformações Elementares 3D

Escala

Sx 0 0 0

0 Sy 0 0

0 0 Sz 0

0 0 0 1

M

S

= S(Sx, Sy, Sz) =

Sx

0 0 0 x

0 Sy 0 0 y

0 0 Sz 0 z

1 0 0 0 1 1

=

.

(29)

MEIC

AVT

Transformações Elementares 3D

Rotação

X

Y

Z

Definir matriz de rotação única

Não trivial

Usam-se quaterniões

Para definir rotações espaciais

MEIC

AVT

Transformações Elementares 3D

Rotação

X

Y

Z

R

z

(ψ)

R

y

(φ)

R

x

(θ)

Abordagem mais simples

Realizar rotações apenas sobre eixos de coordenadas

Três matrizes distintas

(30)

MEIC

AVT

Transformações Elementares 3D

Rotação

cos

θ

-sin

θ

0 0

sin

θ

cos

θ

0 0

0 0 1 0

0 0 0 1

R

z

(

ψ

): em torno do eixo dos ZZ

1 0 0 0

0 cos

θ

-sin

θ

0

0 sin

θ

cos

θ

0

0 0 0 1

cos

θ

0 sin

θ

0

0 1 0 0

-sin

θ

0 cos

θ

0

0 0 0 1

R

x

(

θ

): em torno do eixo dos XX

R

y

(

φ

): em torno do eixo dos YY

X

Y

Z

R

z

(ψ)

R

y

(φ)

R

x

(θ)

MEIC

AVT

Transformações Elementares 3D

Rotação

cos

θ

-sin

θ

0 0

sin

θ

cos

θ

0 0

0 0 1 0

0 0 0 1

R

z

(

ψ

): em torno do eixo dos ZZ

1 0 0 0

0 cos

θ

-sin

θ

0

0 sin

θ

cos

θ

0

0 0 0 1

cos

θ

0 sin

θ

0

0 1 0 0

-sin

θ

0 cos

θ

0

0 0 0 1

R

x

(

θ

): em torno do eixo dos XX

R

y

(

φ

): em torno do eixo dos YY

X

Y

Z

R

z

(ψ)

R

y

(φ)

R

x

(θ)

(31)

MEIC

AVT

Transformações Elementares 3D

Rotação

Aproximação Incremental

Para pequenos ângulos

sin (

α

)

α

cos (

α

)

≈ 1

1 -

ψ

φ

0

ψ

1 -

θ

0

-

φ

θ

1 0

0 0 0 1

R

z

(

ψ

) R

y

(

φ

) R

x

(

θ

) =

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

OpenGL

Transformações Geométricas

(32)

MEIC

AVT

Current Transformation Matrix

Matriz 4 x 4 no espaço homogéneo

A current transformation matrix (CTM) é parte do

estado do OpenGL

CTM é aplicada a todos os vértices que “passam”

pelo pipeline geométrico

A CTM é definida na aplicação e carregada na

unidade de transformação

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Pipeline de Geometria OpenGL

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MODELVIEW

matrix

PROJECTION

matrix

perspective

division

viewport

transformation

w

z

y

x

eye eye eye eye

w

z

y

x

1

dev dev dev

z

y

x

proj proj proj proj

w

z

y

x

=dev win win win

z

y

x

original

vertex

vertices in the

eye coordinate

space

Clipping Coordinates

normalized device

coordinates

(foreshortened)

final window

coordinates

(33)

MEIC

AVT

Pilhas de Matrizes em OpenGL

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Transformações Elementares 3D

Translação

glTranslate{f,d}( TYPE x, TYPE, y, TYPE z );

=

1

0

0

0

1

0

0

0

1

0

0

0

1

*

z

y

x

CTM

CTM

(34)

MEIC

AVT

Transformações Elementares 3D

Escala

=

1

0

0

0

0

0

0

0

0

0

0

0

0

*

z

y

x

CTM

CTM

glScale{f,d}( TYPE x, TYPE y, TYPE z);

MEIC

AVT

Transformações Elementares 3D

Rotação

+

+

+

+

+

+

+

=

=

1

0

0

0

0

cos

)

cos

1

(

sin

)

cos

1

(

sin

)

cos

1

(

0

sin

)

cos

1

(

cos

)

cos

1

(

sin

)

cos

1

(

0

sin

)

cos

1

(

sin

)

cos

1

(

cos

)

cos

1

(

*

2 2 2

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

z

x

yz

y

xz

x

yz

y

z

yx

y

xz

z

xy

x

M

M

CTM

CTM

R R

(35)

MEIC

AVT

Matriz de Transformação Composta

Transformações Geométricas

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Matriz de Transformação Composta

Qualquer sequência de

Translações

Rotações

Escalas

Pode ser representada numa única matriz:

r

11

r

12

r

13

t

x

r

21

r

22

r

23

t

y

r

31

r

32

r

33

t

z

0 0 0 1

M =

(36)

MEIC

AVT

Matriz de Transformação Composta

Matriz de transformações genérica (MTC)

Permite aplicar transformação

Com 9 somas e 9 multiplicações (4+4 se 2D)

x´= x · r

11

+ x · r

12

+ x · r

13

+ t

x

y´= y · r

21

+ y · r

22

+ y · r

23

+ t

y

z´= z · r

31

+ z · r

32

+ z · r

33

+ t

z

x

y

z

.

=

x’

y’

z’

R

+ T

Aumento de eficiência (+ eventuais optimizações)

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Mudança do Sistema de Coordenadas

p

X

Y

e

x

e

y

e

y

p

x

p

(37)

MEIC

AVT

Mudança do Sistema de Coordenadas

=

=

1

0

0

1

1

0

0

0

0

1

0

0

1

0

0

1

1

e v u e v u p p v u v u e e p p

y

y

y

x

x

x

v

u

y

y

x

x

y

x

y

x

p

X

Y

e

uv

xy

p

e

v

u

p

=

1

0

0

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Composição de Transformações em 3D

Exemplo Prático

x

y

z

.

=

x’

y’

z’

R

+ T

(38)

MEIC

AVT

0

up

x

DOF DOF

x

(up

x

DOF)

DOF 0

0

0 0 0 1

R =

Como calcular R?

Composição de Transformações em 3D

Exemplo Prático

x

y

z

.

=

x’

y’

z’

R

+ T

MEIC

AVT

Mudança do Sistema de Coordenadas

=

=

1

0

0

1

1

0

0

0

0

1

0

0

1

0

0

1

1

e v u e v u p p v u v u e e p p

y

y

y

x

x

x

v

u

y

y

x

x

y

x

y

x

p

X

Y

e

uv

xy

p

e

v

u

p

=

1

0

0

(39)

MEIC

AVT

C

x

up

x

DOF DOF

x

(up

x

DOF)

DOF C

y

C

z

0 0 0 1

P’ =

Composição de Transformações em 3D

Exemplo Prático

⋅P

MEIC

AVT

Transformações Geométricas

Mudança de Sistema de Coordenadas

P

(2)

= M

2←3

· P

(3)

M

1←3

= M

1←2

· M

2←3

P

P

(1)

= M

1←2

· P

(2)

(40)

MEIC

AVT

Grafo de Cena

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Grafo de Cena

Cenas 3D armazenadas em DAG

Grafo de Cena

Java3D

VRML

OpenSceneGraph

OpenSG

Na vossa aplicação…

Grafo de Cena contém

Objectos (primitivas gráficas)

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

Atributos e Transformações

(41)

MEIC

AVT

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

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

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

(42)

MEIC

AVT

Transformações Hierárquicas

(1/2)

Matriz de Transformação Composta (MTC)

Matriz a aplicar a cada objecto

Cálculo da MTC

Concatenação de todas as transformações

Em nós superiores no caminho

Desde a raiz até ao objecto

Detalhes variam consoante o sistema

RTFM

© 2011 Corpo docente de AVT/ CG&M / DEI / IST / UTL

MEIC

AVT

Transformações Hierárquicas

(2/2)

Exemplo

m0

g0

m1

m3

p1

p3

p4

m2

g2

No grafo

para g

0

, temos MTC = m

0

para p

1

, MTC = m

1

* m

0

para p

3

, MTC = m

2

* m

0

para p

4

, MTC = m

3

* m

2

* m

0

Em que

m

i

- matriz de transformação

p

i

- primitiva associada ao nó i

g

i

- sub-árvore com raíz em i

?

Referências

Documentos relacionados

O artigo 2, intitulado “Tecnologias de Informação e Comunicação (TIC): Estar fora da família, estando dentro de casa”, foi resultado da realização de uma pesquisa de

O objetivo deste trabalho foi avaliar épocas de colheita na produção de biomassa e no rendimento de óleo essencial de Piper aduncum L.. em Manaus

Mas ele é ( verbo ser, no Presente do Indicativo ) apenas um gato e não tinha tido ( verbo ter, no Pretérito Mais-Que-Perfeito Simples do Indicativo ) tempo de aprender (

• The definition of the concept of the project’s area of indirect influence should consider the area affected by changes in economic, social and environmental dynamics induced

Nas leituras de falhas efetuadas, foram obtidos códigos de anomalia por meio de dois diferentes protocolos de comunicação: o ISO 14230 KWP (2000) e o ISO 15765-4 CAN. A seguir, no

Faz a comunicação entre a Ponte Norte e os demais componentes, como dispositivos USB, Placas de Rede, de Som, de Vídeo, Discos Rígidos etc... CHIPSET

• A Arquitetura de Computadores trata do comportamento funcional de um sistema computacional, do ponto de vista do programador (ex. tamanho de um tipo de dados – 32 bits para

• “…Se puder verificar equipes incompletas no início da próxima aula seria uma mão