Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouSara Melo Alterado mais de 10 anos atrás
1
Transformações Geométricas Coordenadas Homogêneas e Rotações
2
Motivação: representação de movimentos e formas
3
Objetos compostos hierarquicamente Hieraquia de movimentos Base Braço 1 Braço 2 Braço 3 Dedo Hieraquia de transformações
4
Transformações R 2 R 2 Exemplos: x y x´ y´ p´p´ = x y x y p =
5
Transformações lineares R 2 R 2 x y m 11 x´ y´ = m 21 m 22 m 12 Mostre que: 1 0 x y 0 1 m 11 m 21 1 0 T = m 12 m 22 0 1 T = T (0) = 0 A) B)
6
Transformações lineares: escala x y a = x y x´ y´ a´a´ = Redução (0< s x <1), Aumento (s y >1) c b x y i j
7
Transformações lineares: espelhamento x´ = -1x y´ = y x y x´ y´ p' = = p x y x y i j
8
Transformações lineares: rotação x´ y´ p' = x´ y´ r x´ = x.cos - y.sen y´ = x.sen + y.cos x y p = x y r rr
9
Transformações Lineares: matriz derivada pela geometria x y i j
10
Mudança de referêncial x y p = x y x y cos u v = sen cos -sen u v u v ou x y p = x´ y´ p' = x y x y uxux u v = vxvx vyvy uyuy Para montarmos a matriz que transforma as coordenadas de um refencial xy para um novo refencial uv basta escrevermos as linhas como sendo os unitários das direções. x y i j
11
Mudança de coordenadas entre sistemas rotacionados As coordenas de um ponto rodado de um ângulo em relação a um sistema são iguais as coordenadas do ponto original em relação a um sistema que sofre a rotação inversa. Como o novo sistema sofre a rotação inversa, a matriz de rotação é a inversa da matriz que levaria da base original para a este novo sistema. As colunas de uma matriz de uma rotação são as transformadas dos vetores da base e a transposta desta matriz é a sua inversa (rotação matriz ortonormal). Logo as linhas da matriz que escreve uma mudança entre bases ortonormais rodadas são as coordenadas do vetores da nova base em relação a base original.
12
Transformações lineares: cisalhamento (shear) Cisalhamento em x x x yy x y i j
13
Exemplo de aplicação do cisalhamento x y a b c plano de projeção m x y a' m' x y c' b' a' m'
14
Exemplo de aplicação do cisalhamento x y a x y c' b' a' m'
15
Decomposição Singular de Matrizes diagonal rotações
16
Exemplo: cisalhamento como composição de rotações e escala
17
Transformações Geométricas: Translação x y p p' txtx tyty t = x y = txtx tyty + = x y x y ? x´ y´ = ? ? ? x y 1 x´ y´ = 0 1 0 txtx tyty + Não pode ser escrito na forma Ruim para implementação
18
Translação num plano do R 3 yhyh xhxh w w=1 x y t matriz de translação
19
Concatenação x y x0x0 y0y0 x y x y x y x0x0 y0y0
20
Concatenação xyx y x y xyx y x y T1T1 R1R1 E R2R2 T2T2 P= T 2 R 2 E R 1 T 1 P
21
Vantagens das coordenadas homogêneas (pontos no infinito) yhyh xhxh w w=1 x y 2 3 u = u uhuh 2 3 0 = ? ? uhuh w h1h1 c1c1 h 2 = c 2 h3h3 c3c3 2 3 2 2 3 1 2 3 1/2 2 3 1/4 2 3 0... 1 1.5 2 3 4 6 8 12 infinito na direção (2,3) infinito na direção (2,3) h1h1 h2h2 h3h3 h4h4 c1c1 c2c2 c3c3 c4c4
22
Reta no espaço projetivo yhyh xhxh w reta: ax+by+c=0 plano: ax+by+cw=0 plano: w=1
23
Reta paralelas no espaço projetivo yhyh xhxh w plano: ax+by+c 1 w=0 reta: ax+by+c 1 =0 reta: ax+by+c 2 =0 plano: ax+by+c 2 w=0 reta= ax+by =0 plano: w=1
24
Matriz da Homografia
25
[A] : Afim Obs: Se fosse um paralelograma a imagem do ponto 2 seria (1,1) T e não (α, ) T
26
[P] : Projetiva
27
[N] : Paralelograma para quadrado unitário
28
Transformações em 3D (translações e escalas) x y z 1 0 1 0 0 0 0 1 0 txtx tyty tztz 1 y z 1 x = 1 0 0 0 x y z x y z 1 0 sysy 0 0 0 0 szsz 0 0 0 0 1 y z 1 x = sxsx 0 0 0
29
Rotação em torno do eixo y x y z y z x y
30
Rotação em torno do eixo x x y z x
31
Rotação em torno do eixo z x y z z
32
Rotações em torno dos eixos cartesianos x y z x y z
33
Instanciação de objetos braço ante-braço x y z 1 1 1
34
Ordem das transformações x y R x y T x y R x y x y T (a) (b)
35
Composição com sistema local móvel x,x L y,y L xLxL yLyL TLTL x y p 2 = R T pp 1 = T p e p 2 = R p 1 x T R y xx yy p= R p e p 2 = T L p p 2 = R T p ou p2p2 x yLyL x y xLxL R p p p 2 = R T R -1 R p
36
Instâncias de objetos x2x2 y z2z2 xz y2y2 x4x4 y4y4 z4z4 x6x6 x1x1 y1y1 z1z1 x3x3 y3y3 z3z3 x5x5 z5z5 y5y5 d1d1 d2d2
37
x2x2 y z2z2 xz y2y2 x4x4 y4y4 z4z4 x1x1 y1y1 z1z1 x3x3 y3y3 z3z3 x5x5 z5z5 y5y5 d1d1 d2d2 baseI ante-braçoR y R z1 T y1 cotoveloR y R z1 T y1 T y2 braçoR y R z1 T y1 T y2 R z3 T y3 pulsoR y R z1 T y1 T y2 R z3 T y3 T y3 mãoR y R z1 T y1 T y2 R z3 T y3 T y3 R z5 OpenGL:
38
x2x2 y z2z2 xz y2y2 x4x4 y4y4 z4z4 x1x1 y1y1 z1z1 x3x3 y3y3 z3z3 x5x5 z5z5 y5y5 d1d1 d2d2 Desenha a base; Roda em y; Roda em z 1 ; Translada em y 1 de d 1 /2; Desenha o ante-braço; Translada em y 2 de d 1 /2; Desenha cotovelo; Roda em z 3 ; Translada em y 3 de d 2 /2; Desenha o braço; Translada em y 3 de d 2 /2; Desenha o pulso; Roda em z 5 ; Desenha a mão;
39
Hierarquia em árvore base braço direitobraço esquerdo
40
Hierarquia em árvore x5x5 y5y5 y6y6 y7y7 y8y8 y9y9 x6x6 x7x7 x8x8 x9x9 a b c d eef a palma base dos dedos dedo direitodedo esquerdo
41
y7y7 y8y8 y9y9 x7x7 x8x8 x9x9 a b c e ef void desenhaDedos(float b,float c, float e, float f ){ /* dedo esquerdo */ glPushMatrix(); /* Salva matriz corrente C 0 */ glTranslatef((f+e)/2,(b+c)/2,0.); /* C=CT esq */ glScalef(e,c,e); /* C=CS */ glutSolidCube(1.0); glPopMatrix(); /* Recupera da pilha C=C 0 */ /* dedo direito */ glPushMatrix(); /* Salva matriz corrente C 0 */ glTranslatef(-(f+e)/2,(b+c)/2,0.); /* C=CT dir */ glScalef(e,c,e); /* C=CS */ glutSolidCube(1.0); glPopMatrix(); /* Recupera da pilha C=C 0 */ }
42
Algebra da rotação em torno de um eixo unitário ê x y z
43
Rotação em torno de um eixo ê x y z
44
A coluna da matriz é a transformada dos vetores da base
45
Matriz da rotação em torno de um eixo ê x y z
46
Matriz de rotação em torno de um eixo
47
Demonstração de:
48
Fórmula de Rodrigues 1
49
Fórmula de Rodrigues 2
50
Matriz de rotação em torno de um eixo ê que não passa pela origem x y z x y z p0p0 p0p0 x y z p0p0 M x y z p0p0
51
Interface para rotações tipo ArcBall
52
Rotação do ArcBall
53
Conservativo
54
Complexidade da Rotação 90° + 90° Giroscópio
56
Yaw-Pitch-Roll x z y - yaw - pitch - roll
57
Ângulos de Euler Transforma x-y-z em x-y-z em 3 passos Rotação yaw de em torno eixo z Rotação pitch de em torno do eixo Rotação de em torno do eixo
58
x z y
59
Parametrização de rotações: Ângulos de Euler x x y z y x y z z x y z
60
Ângulos de Euler Gimbal Lock
61
x x y z y =90 o x y z z x y z
62
Interpolação não gera posições entre
63
Quatérnios
64
Soma e multiplicação por escalar
65
Produto de dois quatérnios
66
Produto de dois quatérnios(cont.)
67
Conjugado, normas e produto interno conjugado de um quatérnio norma de um quatérnio produto interno de dois quatérnios norma euclidiana
68
Quatérnio inverso e unitário inverso de um quatérnio unitário de um quatérnio
69
Quatérnios e rotações Dada uma rotação definida por um eixo ê e um ângulo construímos o quatérnio unitário: Dado um ponto qualquer p do R 3 construímos o quatérnio: Calculamos o produto:
70
Demostração …
71
Composição de rotações seguida de
72
Composição de rotações
73
Exemplo
75
Interpolação de quatérnios não é unitário não representa rotação
76
Interpolação de quatérnios (1-t) t
79
Quatérnios e matrizes
80
Matrizes e quatérnios
81
Transformação de normais x y s x =0.5 x y x y
82
Vantagens das coordenadas homogêneas (pontos no infinito, exemplo) a b c d x y O 1 1 2 a' b' c' d' x y O' infinito 1 12 1 1 1 3 0 1 0 1 0 -2 0 0 3 0 1 0 1 0 0 0 = 1 1 1 2 2 1 3 0 1 0 1 0 0 0 = 4 2 2 1 1 3 0 1 0 1 0 -2 0 0 = 1 1 2 -2 1 3 0 1 0 1 0 0 0 = 4 2 2 1 1 = = 2 1
83
FIM
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.