Transformações Geométricas Coordenadas Homogêneas e Rotações.

Slides:



Advertisements
Apresentações semelhantes
GEOMETRIA DESCRITIVA A
Advertisements

Continuidade: sem interrupções
SLIDE 1 – Transformações - Translação
Daniel de Vasconcelos Campos
Distâncias.
Retas.
Planos.
Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro Conteúdo: - Transformações geométricas no plano.
Computação Gráfica I Conteúdo: Professor:
Paulo Sérgio Rodrigues PEL205
The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Departamento de Informática e Estatística - INE/CTC/UFSC Computação Gráfica:
Modelo Relacional.
Computação Gráfica Geometria de Transformações
Amintas engenharia.
UNIVERSIDADE FEDERAL DE CAMPINA GRANDE – UFCG Av Aprígio Veloso, S/N – Bodocongó – CEP: – Campina Grande – PB – Fones: (0xx83)
Claudio Esperança Paulo Roma Cavalcanti
CINEMÁTICA INVERSA Aline Aparecida de Pina Rodrigo Morante Blanco.
Introdução à Computação Gráfica Geometria
Transformações Geométricas em C.G.
Parte 1 – Conceitos de Real Time Rendering. a. Pipeline Gráfico.
Transformações Geométricas
Transformações Geométricas
Transformações Geométricas Coordenadas Homogêneas e Rotações.
Computação Gráfica Interativa - Gattass
Parâmetros Geométricos de Câmeras
MGattass Rotações e Quatérnios. MGattass Objetos compostos hierarquicamente.
INF 1366 – Computação Gráfica Interativa Transformações
Interface para rotações Tipo ArcBall
Transformações Geométricas na Imagem Amostragem e Reconstrução.
Computação Gráfica Módulo III – Geometria
Arcball Gustavo de Sá Carvalho Honorato. Sumário Introdução Algoritmo.
Linguagem Orientada a Matrizes COB 727
CAPÍTULO Sistemas de referência 2. Modelo geométrico
Os desenhos.
Computação Gráfica Teórica
Exp_P160_00hzCI. sim_P160_00hz exp_P160_45hz sim_P120_20hz.
TE804 Eletrodinâmica Computacional
Computação Gráfica Geometria de Transformações
Computação Gráfica Geometria de Transformações
ROBÓTICA Helder Anibal Hermini.
Vetores no Plano e no Espaço
Números Complexos Definição: Um número complexo z pode ser definido como um par ordenado (x, y) de números reais x e y, z = (x, y) (1) sujeito.
Números Complexos Definição: Um número complexo z pode ser definido como um par ordenado (x, y) de números reais x e y, z = (x, y) (1) sujeito.
Produto Escalar Definição Propriedades Definição Geométrica
E Ellís Carvalho Luiz Afonso
Introdução à Computação Gráfica Projeções
Transformações Geométricas
Introdução à Álgebra Linear Turma B1 Profa. Ana Maria Luz
Carlos Oliveira Rotação Carlos Oliveira
Isometrias Recordar e aprender Reflexão, translação e rotação
Animações Independentes na Mesma Cena
Prof. Reinaldo Bianchi Centro Universitário da FEI 2013
Unidade 2. Dependência Linear e Base
Transformações Geométricas no Plano e no Espaço
Computação Gráfica Geometria de Transformações
Números Complexos Colégio Integrado Jaó Prof. Paulo.
Computação Gráfica Aula 3 Transformações Geométricas
TRANSFORMAÇÕES GEOMÉTRICAS
Definições e Transformações Projetivas
Divisão Sonia Regina de Souza Guedes Vamos dividir Vamos dividir por 1 algarismo?
Realidade Virtual Aula 4
Visão Computacional Geometria de Transformações Luiz M. G. Gonçalves.
Realidade Virtual Aula 5
Computação Gráfica IGCE – Instituto de Geociências e Ciências Exatas
Transformações Geométricas
4º Trabalho - Arcball André Luiz Reis. Maneira intuitiva de visualizar objetos 3D; Cria-se uma esfera em torno do objeto coincidindo seus centros de gravidade;
GEOMETRIA ANALITICA VETORES.
Álgebra Linear Tipos Especiais de Operadores Lineares
Transformações Geométricas
Instanciação de Cadeias Cinemáticas e Rotações no Espaço
Transcrição da apresentação:

Transformações Geométricas Coordenadas Homogêneas e Rotações

Motivação: representação de movimentos e formas

Objetos compostos hierarquicamente Hieraquia de movimentos Base Braço 1 Braço 2 Braço 3 Dedo Hieraquia de transformações

Transformações R 2 R 2 Exemplos: x y x´ y´ p´p´ = x y x y p =

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 T = m 12 m T = T (0) = 0 A) B)

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

Transformações lineares: espelhamento x´ = -1x y´ = y x y x´ y´ p' = = p x y x y i j

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

Transformações Lineares: matriz derivada pela geometria x y i j

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

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.

Transformações lineares: cisalhamento (shear) Cisalhamento em x x x yy x y i j

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'

Exemplo de aplicação do cisalhamento x y a x y c' b' a' m'

Decomposição Singular de Matrizes diagonal rotações

Exemplo: cisalhamento como composição de rotações e escala

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´ = txtx tyty + Não pode ser escrito na forma Ruim para implementação

Translação num plano do R 3 yhyh xhxh w w=1 x y t matriz de translação

Concatenação x y x0x0 y0y0 x y x y x y x0x0 y0y0

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

Vantagens das coordenadas homogêneas (pontos no infinito) yhyh xhxh w w=1 x y 2 3 u = u uhuh = ? ? uhuh w h1h1 c1c1 h 2 = c 2 h3h3 c3c / / infinito na direção (2,3) infinito na direção (2,3) h1h1 h2h2 h3h3 h4h4 c1c1 c2c2 c3c3 c4c4

Reta no espaço projetivo yhyh xhxh w reta: ax+by+c=0 plano: ax+by+cw=0 plano: w=1

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

Matriz da Homografia

[A] : Afim Obs: Se fosse um paralelograma a imagem do ponto 2 seria (1,1) T e não (α, ) T

[P] : Projetiva

[N] : Paralelograma para quadrado unitário

Transformações em 3D (translações e escalas) x y z txtx tyty tztz 1 y z 1 x = x y z x y z 1 0 sysy szsz y z 1 x = sxsx 0 0 0

Rotação em torno do eixo y x y z y z x y

Rotação em torno do eixo x x y z x

Rotação em torno do eixo z x y z z

Rotações em torno dos eixos cartesianos x y z x y z

Instanciação de objetos braço ante-braço x y z 1 1 1

Ordem das transformações x y R x y T x y R x y x y T (a) (b)

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

Instâncias de objetos x2x2 y z2z2 xz y2y2 x4x4 y4y4 z4z4 x6x6 x1x1 y1y1 z1z1 x3x3 y3y3 z3z3 x5x5 z5z5 y5y5 d1d1 d2d2

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:

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;

Hierarquia em árvore base braço direitobraço esquerdo

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

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 */ }

Algebra da rotação em torno de um eixo unitário ê x y z

Rotação em torno de um eixo ê x y z

A coluna da matriz é a transformada dos vetores da base

Matriz da rotação em torno de um eixo ê x y z

Matriz de rotação em torno de um eixo

Demonstração de:

Fórmula de Rodrigues 1

Fórmula de Rodrigues 2

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

Interface para rotações tipo ArcBall

Rotação do ArcBall

Conservativo

Complexidade da Rotação 90° + 90° Giroscópio

Yaw-Pitch-Roll x z y - yaw - pitch - roll

Â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

x z y

Parametrização de rotações: Ângulos de Euler x x y z y x y z z x y z

Ângulos de Euler Gimbal Lock

x x y z y =90 o x y z z x y z

Interpolação não gera posições entre

Quatérnios

Soma e multiplicação por escalar

Produto de dois quatérnios

Produto de dois quatérnios(cont.)

Conjugado, normas e produto interno conjugado de um quatérnio norma de um quatérnio produto interno de dois quatérnios norma euclidiana

Quatérnio inverso e unitário inverso de um quatérnio unitário de um quatérnio

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:

Demostração …

Composição de rotações seguida de

Composição de rotações

Exemplo

Interpolação de quatérnios não é unitário não representa rotação

Interpolação de quatérnios (1-t) t

Quatérnios e matrizes

Matrizes e quatérnios

Transformação de normais x y s x =0.5 x y x y

Vantagens das coordenadas homogêneas (pontos no infinito, exemplo) a b c d x y O a' b' c' d' x y O' infinito = = = = = = 2 1

FIM