Transformações Geométricas Grafos de Cena

Documentos relacionados
Transformações Geométricas

Transformações Geométricas

Modelos Geométricos Transformações

Transformações Geométricas. Transformações Geométricas. Sistemas de Coordenadas. Translação: M.C.F. de Oliveira Rosane Minghim 2006

Transformações (Cap 4.3, 4.4 e 4.6 a 4.10)

Universidade de Aveiro Departamento de Electrónica, Telecomunicações e Informática. Transformações 2D

Introdução à Computação Gráfica

Coordenadas Homogêneas no Plano e no Espaço

Transformações de Pontos. Computação Gráfica Prof. Dr. Paulo Roberto Gomes Luzzardi Aluna: Karina da Silva Salles

Transformações Geométricas 2D e 3D

aula6 2018/2 IC / UFF Como representar objetos 3D em dispositivos 2D?

Sumário COMPUTAÇÃO GRÁFICA E INTERFACES. Modelos e modelagem. Modelos e modelagem. Transformações Geométricas e Visualização 2D

ROBÓTICA (ROB74) AULA 2. TRANSFORMAÇÕES GEOMÉTRICAS E COORDENADAS HOMOGÊNEAS PROF.: Michael Klug

Transformações. 35T56 Sala 3E1 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227 DIM102

Curso de CG 2019/1 IC / UFF

aula6 Projeções Planas 2017/2 IC / UFF

aula8 Transformações Geométricas no Plano e no Espaço 2016/2 IC / UFF

Curso de CG 2018/2 IC / UFF

Transformações Geométricas

Curso de Computação Gráfica (CG) 2014/2- Cap 2 parte 2 Transformações no espaço e projeções Trabalho 5 (individual) - Gabarito

Transformações Geométricas

Torção de uma Barra Prismática

Computação Gráfica - 09

Lista 6: transformações lineares.

aula9 Coordenadas homogêneas e projeções 2016/2 IC / UFF

Visualização por Computador: Teoria, Prática e Aplicações

Transformações Geométricas em C.G.

Equações do Movimento

Equações do Movimento

Instituto Tecnológico de Aeronáutica. Prof. Carlos Henrique Q. Forster Sala 121 IEC. ramal 5981

Computação Gráfica - 09

1. Considere a seguinte matriz dos vértices dum triângulo D = 0 2 3

Transformações geométricas no plano e no espaço

Transformações Geométricas

Fundamentos Matemáticos de Computação Gráfica

4. Curvas Paramétricas e Transformações 2D

Transformações Geométricas em C.G. Claudio Esperança Paulo Roma Cavalcanti

Teoria para Pequenas Perturbações

Diferenciabilidade de funções reais de várias variáveis reais

Transformações 3D. Soraia Raupp Musse

Sumário e Objectivos. 2007/2008 Lúcia MJS Dinis. Mecânica dos Sólidos 4ª Aula 1

1º Teste de Computação Gráfica

Câmara Virtual Simples

Notas de Aula - Fascículo 03 Transformações projetivas do plano

Integrais Sobre Caminhos e Superfícies. Teoremas de Integração do Cálculo Vectorial.

Rotações em 3D. Descrição dos problemas. Como mover entre 2 frames. Ângulos de Euler. Foley Notas do Dave (lecture 29)

Animação por Computador. Sólidos Transformações lineares Hierarquia de movimento Parametrização da orientação Interpolação da orientação

Transformações 2D. Prof. Márcio Bueno Fonte: Material do Prof. Robson Pequeno de Sousa e do Prof.

Transformações Geométricas

Vectores e Geometria Analítica

Transformações 3D. Soraia Raupp Musse

Translação. Sistemas de Coordenadas. Translação. Transformações Geométricas 3D

Notas de Aula - Fascículo 02 Dualidade e Geometria Projetiva Tridimensional

Modelagem Cinemática de Robôs Industriais. Prof. Assoc. Mário Luiz Tronco

CÁLCUL O INTEGRAIS TRIPLAS ENGENHARIA

Prof. Fernando V. Paulovich 3 de maio de SCC Computação Gráca

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

Computação Gráfica. Licenciatura em Engenharia Informática e de Computadores Taguspark / Alameda. Primeiro Teste 17 de Março de 2012

Transformações 3D. Soraia Raupp Musse

Coordenadas Homogêneas

ESCOLA SECUNDÁRIA COM 2º E 3º CICLOS ANSELMO DE ANDRADE

Ficha de Trabalho 08 Transformações Lineares. (Aulas 19 a 22).

Visualização 3D. Soraia Raupp Musse

Aula9 e 10. Projeções Planas. Como representar objetos 3D em dispositivos 2D? 2019/1 IC / UFF. Paginas 91 a 101 livro texto de computacao grafica

Sistemas de Referência

Universidade Federal de Alagoas Instituto de Matemática. Geometria. Prof. Thales Vieira

Representação de Objetos e Cenas. Soraia Musse

Integral Triplo. Seja M um subconjunto limitado de 3.

Cálculo a Várias Variáveis I - MAT Cronograma para P2: aulas teóricas (segundas e quartas)

Física I 2010/2011. Aula 16. Momento de uma Força e Momento Angular

Transformações Gráficas Tridimensionais (3D) Antonio L. Bajuelos Departamento de Matemática Universidade de Aveiro

Sumário. Computação Gráfica. Transformações Geométricas. Transformações Geométricas. Translação: Transformações Geométricas

Cinemática da partícula fluida

1º Teste de Computação Gráfica 3º Ano

Projeções e Transformações em 3D

Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 6. Projeções

Resistência dos. Materiais. Capítulo 2. - Elasticidade Linear 2

Projeções. Prof. Márcio Bueno

Sistemas de coordenadas Transformação entre sistemas

6. Geometria, Primitivas e Transformações 3D

3D no OpenGL. Visualização e Transformações Perspectiva. Transformações do Modelview. Processo

Transformações de Visualização 2D: Clipping. Antonio L. Bajuelos Departamento de Matemática Universidade de Aveiro

Cálculo Diferencial e Integral II

Computação Gráfica. Prof. MSc. André Yoshimi Kusumoto

Dinâmica do movimento Equações completas do movimento. Dinâmica Movimento da Aeronave, aproximação de Corpo Rígido (6DoF)

Aula /2 Sistemas de coordenadas Transformação entre sistemas

Nota de aula 10 - Estado Triaxial de Deformações - Resistência dos Materiais II

ROBÓTICA TRANSFORMAÇÕES MATRICIAIS. Prof a. Dra. GIOVANA TRIPOLONI TANGERINO Tecnologia em Automação Industrial

Departamento de Matemática e Ciências Experimentais FÍSICA 12.º Ano

Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 3. Transformações Geométricas

Introdução ao Processamento e Síntese de imagens - Projeções

Cirlei Xavier Bacharel e Mestre em Física pela Universidade Federal da Bahia

Equação Geral do Segundo Grau em R 2

Universidade Estadual de Montes Claros Departamento de Ciências Exatas Curso de Licenciatura em Matemática. Notas de Aulas de

Física I 2010/2011. Aula 13 Rotação I

Derivadas Parciais - parte 1. 1) Determine as derivadas parciais de primeira ordem da função.

TURMA:12.ºA/12.ºB. O que é o i? Resposta: A raiz imaginária da unidade negativa. (Leibniz)

Modelagem Geométrica. André Tavares da Silva. Capítulo 12 do Foley Capítulo 4 de Azevedo e Conci Capítulo 11 de Mortenson

Modelagem Cinemática de Robôs Industriais. Prof. Assoc. Mário Luiz Tronco

Introdução aos Métodos de Prova

Transcrição:

Transformações Geométricas Grafos de Cena Edward Angel, Cap. 4 Instituto Superior Técnico Computação Gráfica 2009/2010 1

Na última aula... Transformações Geométricas Translação Escala Rotação Espaço Homogéneo Coordenadas Homogéneas Transformações no Espaço Homogéneo

Sumário Transformações Geométricas Composição de Transformações Deformação Lateral Transformações no espaço 3D Matriz de transformação composta Grafos de Cena

Transformações no Espaço Homogéneo (1/2) Translação Escala M T = T(dx,dy) = 1 0 dx 0 1 dy M E = S(S X,S Y ) = 0 0 1 S X 0 0 0 S Y 0 0 0 1 Rotação M R = R(β) = cos(β) -sin(β) 0 sin(β) cos(β) 0 0 0 1

Transformações no Espaço Homogéneo (2/2) Em coordenadas homogéneas Transformação = Produto de Matrizes Translação x 1 0 dx x. y = 0 1 dy y 1 0 0 1 1 Escala x Sx 0 0 x y 0 Sy 0. = y 1 0 0 1 1 Rotação x cos(β) -sin(β) 0 x y sin(β) cos(β) 0. = y 1 0 0 1 1

Computação Gráfica Composição de Transformações

Composição de Transformações (1/4) No espaço homogéneo Composição de Transformações = Produto de Matrizes P P P T 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 Transformações associam-se Da direita para a esquerda Pela ordem inversa de aplicação

Composição de Transformações (2/4) Exemplo: rotação em torno de um ponto 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. T(-x1,-y1) R(θ) T(x1,y1) Y Y T(-x1,-y1) Y Y R(θ) T(x1,y1) y1 P1 P1 x1 X T(-x1,-y1) X R (θ) X T(x1,y1) X 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

Composição de Transformações (3/4) 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)

Composição de Transformações (4/4) Exemplos de Comutatividade 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 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

Composição de Transformações (5/5) Exemplo de composições não comutativas Translação + Escala Escala + Translação

Computação Gráfica Transformações Geométricas: Deformação Lateral

Deformação Lateral (shear transformation) Transformação primitiva Não se define por composição

Deformação Lateral (shear transformation) Deformação lateral em X M SH = SH X (a) = 1 a 0 0 1 0 0 0 1 x 1 a 0 x y 0 1 0. = y 1 0 0 1 1

Deformação Lateral (shear transformation) Deformação lateral em Y M SH = SH Y (b) = 1 0 0 b 1 0 0 0 1 x 1 0 0 x y b 1 0. = y 1 0 0 1 1

Deformação Lateral (shear transformation) Tipo de transformação? Questões: Preserva ângulos? Preserva comprimentos? Preserva paralelismo de linhas? É transformação linear? É transformação afim? É transformação projectiva?

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 Afins Nunca uma curva 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)

Transformações Geométricas 2D Transformações Elementares Translação Escala M T = T(dx,dy) = 1 0 dx 0 1 dy M E = S(S X,S Y ) = 0 0 1 S X 0 0 0 S Y 0 0 0 1 Rotação M R = R(β) = cos(β) -sin(β) 0 sin(β) cos(β) 0 0 0 1 Deformação Lateral M SH = SH X (a) = 1 a 0 0 1 0 0 0 1 M SH = SH Y (b) = 1 0 0 b 1 0 0 0 1

Computação Gráfica Transformações Geométricas 3D

Espaço vectorial tri-dimensional (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 Y Z (fora da página) X

Espaço vectorial tri-dimensional (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

Transformações Geométricas 3D Transformações 2D Matrizes 3x3 no espaço homogéneo Analogamente Transformações 3D Matrizes 4x4 no espaço homogéneo

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

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) W=1 (x, y, z) (x, y, z, 1)

Transformações Elementares 3D Translação M T = T(dx, dy, dz) = 1 0 0 dx 0 1 0 dy 0 0 1 dz 0 0 0 1 x 1 0 0 dx x y = 0 1 0 dy. y z 0 0 1 dz z 1 0 0 0 1 1

Transformações Elementares 3D Escala M S = S(Sx, Sy, Sz) = Sx 0 0 0 0 Sy 0 0 0 0 Sz 0 0 0 0 1 x Sx 0 0 0 x y = 0 Sy 0 0. y z 0 0 Sz 0 z 1 0 0 0 1 1

Transformações Elementares 3D Rotação Y Z X Definir matriz de rotação única Não trivial Usam-se quaterniões Para definir rotações espaciais

Transformações Elementares 3D Rotação Y R y (φ) R z (ψ) Z R x (θ) X Abordagem mais simples Realizar rotações apenas sobre eixos de coordenadas Três matrizes distintas 28

Transformações Elementares 3D Rotação Y R z (ψ): em torno do eixo dos ZZ R z (ψ) Z R y (φ) R x (θ) X cos θ -sin θ 0 0 sin θ cos θ 0 0 0 0 1 0 0 0 0 1 R x (θ): em torno do eixo dos XX 1 0 0 0 0 cos θ -sin θ 0 0 sin θ cos θ 0 0 0 0 1 R y (φ): em torno do eixo dos YY cos θ 0 sin θ 0 0 1 0 0 -sin θ 0 cos θ 0 0 0 0 1

Transformações Elementares 3D Rotação Y R z (ψ): em torno do eixo dos ZZ R z (ψ) Z R y (φ) R x (θ) X cos θ -sin θ 0 0 sin θ cos θ 0 0 0 0 1 0 0 0 0 1 R x (θ): em torno do eixo dos XX 1 0 0 0 0 cos θ -sin θ 0 0 sin θ cos θ 0 0 0 0 1 R y (φ): em torno do eixo dos YY cos θ 0 sin θ 0 0 1 0 0 -sin θ 0 cos θ 0 0 0 0 1

Transformações Elementares 3D Rotação Aproximação Incremental Para pequenos ângulos sin (α) α cos (α) 1 R z (ψ) R y (φ) R x (θ) = 1 -ψ φ 0 ψ 1 -θ 0 -φ θ 1 0 0 0 0 1 31

Transformações Elementares 3D Deformação Lateral em 3D Semelhante a 2D 2D Um eixo fixo Variação no outro 3D Um eixo fixo Variação nos outros dois

Transformações Elementares 3D Deformação Lateral em 3D Deformação Lateral SH xy (sh x, sh y ) = 1 0 sh x 0 0 1 sh y 0 0 0 1 0 0 0 0 1 SH yz (sh y, sh z ) = 1 0 0 0 sh y 1 0 0 sh z 0 1 0 0 0 0 1 SH xz (sh x, sh z ) = 1 sh x 0 0 0 1 0 0 0 sh z 1 0 0 0 0 1 33

Transformações de Corpo Rígido Preservam ângulos e comprimentos Objecto (corpo) não é Transformado nem distorcido Cubo unitário Permanece um cubo unitário T(dx, dy, dz) = 1 0 0 dx R cos θ 0 sin θ 0 y (θ) = 0 1 0 dy 0 1 0 0 0 0 1 dz -sin θ 0 cos θ 0 0 0 0 1 0 0 0 1

Computação Gráfica Matriz de Transformação Composta

Matriz de Transformação Composta Qualquer sequência de Translações Rotações Escalas Pode ser representada numa única matriz: M = 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

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 = R. x y z + T Aumento de eficiência (+ eventuais optimizações)

Composição de Transformações em 3D Exemplo Prático Avião definido no sistema de coordenadas local Problema: Orientar o avião de acordo com a direcção de voo Numa posição determinada Solução: Aplicar rotação seguida de translação 46

Composição de Transformações em 3D Exemplo Prático

Composição de Transformações em 3D Exemplo Prático R = 0 up x DOF DOF x (up x DOF) DOF 0 0 0 0 0 1 Como calcular R? Funciona sempre? Não, se DOF em yy

Transformações Geométricas Mudança de Sistema de Coordenadas P (2) = M (3) (1) (2) 2 3 P P = M 1 2 P P M 1 3 = M 1 2 M 2 3

Transformações Geométricas Mudança de Sistema de Coordenadas Exemplo de aplicação: Decomposição em sub-objectos Y Z Y X Y X Z Z X

Transformações Geométricas Mudança de Sistema de Coordenadas Para mover o triciclo Temos de saber as relações das suas partes com o WCS Exemplo: Roda da frente em relação ao WCS 51

Transformações Geométricas Mudança de Sistema de Coordenadas M wo wh = T(βr, 0, 0) P (wh) = R z (β) P ori (wh) P (wo) = T(βr, 0, 0) R z (β) P (wh)

Computação Gráfica Grafo de Cena

Grafo de Cena Cenas 3D armazenadas em DAG Grafo de Cena Java3D VRML OpenSceneGraph OpenSG Como descrever um paralelepípedo numa cena? (com estas primitivas) Grafo de Cena contém Objectos (primitivas gráficas) Cubos, esferas, cones, superfícies,...) Atributos e Transformações

Transformações em Grafos de Cena Exemplo de um Grafo de Cena raíz g3 t0 t5 t6 g1 p3 p4 t1 t2 p1 g3 t3 p2 g2 t4 g3 grupos de obj transformações primitivas 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

Múltipla Instanciação Exemplo de um Grafo de Cena raíz g3 t0 t5 t6 g1 p3 p4 t1 t2 p1 g3 t3 p2 g2 t4 g3 grupos de obj transformações primitivas Múltiplas instâncias de uma sub-árvore Podem utilizar-se várias É necessário definir antes de instanciar Mais simples de concretizar

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 Tenham atenção OpenGL e VRML têm diferenças RTFM Vejam a ordem com que são realizadas as transofrmações

Transformações Hierárquicas (2/2) Exemplo No grafo para g 0, temos MTC = m 0 para p 1, MTC = m 1 * m 0 m0 para p 3, MTC = m 2 * m 0 para p 4, MTC? = m 3 * m 2 * m 0 m1 g0 m2 Em que m i - matriz de transformação p i - primitiva associada ao nó i g i - sub-árvore com raíz em i p1 p3 g2 m3 p4