Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Transformações GeométricasComposição, Mudança de Coordenadas e Grafos de
Cena
Capítulo 3
1
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
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
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
Transformações em 3DTransformações Geométricas
5
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
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
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
Instâncias de Objectos
Cada instância de um objecto na cena
conjunto de Transformações Geométricas
9
Matriz de Transformação Composta
Transformações Geométricas
10
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
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
Mudança do Sistema de Coordenadas
p
X
Y
e
xe
ye
yp
xp
13
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
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
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
Grafo de Cena
17
Motivação:
Modelo de um carro
Chassis e quatro rodas
Movimento do carro e rotação das rodas relacionados
18
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
Grafo do Carro
20
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
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
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
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
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
Grafo para um Robot
26
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
Grafo com Matrizes
28
Construção de uma cena em Three.js
Transformações Geométricas
29
ModelaçãoUm exemplo
30
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
P3 = Cubo Unitário
M4 = Escala
ModelaçãoUm exemplo
m0
g0
m1
m4
p1
p2 p3
m2
g2
m3
32
P3 = Cubo Unitário
M4 = Escala
ModelaçãoUm exemplo
m0
g0
m1
m4
p1
p2 p3
m2
g2
m3
33
P2 = Cubo Unitário
M3 = Escala seguida de Translação
ModelaçãoUm exemplo
m0
g0
m1
m4
p1
p2 p3
m2
g2
m3
34
P2 = Cubo Unitário
M3 = Escala seguida de Translação
ModelaçãoUm exemplo
m0
g0
m1
m4
p1
p2 p3
m2
g2
m3
35
G2 = composição de duas primitivas
M2 = Translação
ModelaçãoUm exemplo
m0
g0
m1
m4
p1
p2 p3
m2
g2
m3
36
G2 = composição de duas primitivas
M2 = Translação
ModelaçãoUm exemplo
m0
g0
m1
m4
p1
p2 p3
m2
g2
m3
37
P1 = Cubo Unitário
M1 = Escala
ModelaçãoUm exemplo
m0
g0
m1
m4
p1
p2 p3
m2
g2
m3
38
P1 = Cubo Unitário
M1 = Escala
ModelaçãoUm exemplo
m0
g0
m1
m4
p1
p2 p3
m2
g2
m3
39
G0 = Objecto Composto
M0 = Translação
ModelaçãoUm exemplo
m0
g0
m1
m4
p1
p2 p3
m2
g2
m3
40
G0 = Objecto Composto
M0 = Translação
ModelaçãoUm exemplo
m0
g0
m1
m4
p1
p2 p3
m2
g2
m3
41
ModelaçãoUm exemplo
m0
g0
m1
m4
p1
p2 p3
m2
g2
m3
42
ModelaçãoUm exemplo
m0
g0
m1
m4
p1
p2 p3
m2
g2
m3
43
ModelaçãoUm exemplo
m0
g0
m1
m4
p1
p2 p3
m2
g2
m3
44
ModelaçãoUm exemplo
m0
g0
m1
m4
p1
p2 p3
m2
g2
m3
45
ModelaçãoUm exemplo
m0
g0
m1
m4
p1
p2 p3
m2
g2
m3
46
ModelaçãoUm exemplo
m0
g0
m1
m4
p1
p2 p3
m2
g2
m3
47
ModelaçãoUm exemplo
m0
g0
m1
m4
p1
p2 p3
m2
g2
m3
48
ModelaçãoUm exemplo
m0
g0
m1
m4
p1
p2 p3
m2
g2
m3
49
Hierarquia: Modular Swinging Robot vs Hover Robot
50