Baixe o app para aproveitar ainda mais
Prévia do material em texto
Hierarquia de Transformações Geométricas Computação Gráfica Adailton José Alves da Cruz FACET/UFGD Agrupamento de objetos Transformações Geométricas 2D Agrupamento de objetos Propagação das transformações Relação de dependência entre as partes: a posição de um objeto depende da posição de outro Hierarquia braço ante-braço Instanciação de objetos base Sequencia de transformações Interpretação geométrica Transformações Geométricas 2D Sequencia de transformações Considerar a ordem das transformações Porque? Ordem das Transformações Transformações Geométricas 2D x y R x y T x y R x y x y T A ordem das transformações altera o resultado final p 𝒒 𝒓 q′ r′ r = R T p r' = TR q' Interpretação geométrica Transformações Geométricas 2D Considerar uma outra interpretação geométrica para as transformações Considerar a transformação no sistema de coordenadas e não no objeto. Interpretação geométrica Transformações Geométricas 2D Transformação de eixos Considerar que os eixos locais coincidem inicialmente com os eixos globais 1 Origens diferentes SRO e SRU SRU SRO objeto Eixos não Coincidentes origens Mesma origem SRO e SRU SRU SRO Coincidentes mesma origem Interpretação geométrica Transformações Geométricas 2D Aplicar a transformação no sistema de coordenadas (eixos local) braço ante-braço Considerar que eixos locais coincidem inicialmente com eixos globais Transformações de eixos 1 2 Transformação no sistema de coordenadas Exemplo R Interpretação geométrica Transformações Geométricas 2D Aplicar a transformação no sistema de coordenadas (eixos local) braço ante-braço Considerar que eixos locais coincidem inicialmente com eixos globais Desenhar o objeto no novo sistema de referencia 1 2 Transformações de eixos 3 Transformação no sistema de coordenadas SRO e SRU R Interpretação geométrica Transformações Geométricas 2D Esta interpretação permite que a sequencia de transformações seja lida da esquerda para direita. Exemplificando com a equação r' = RT q' xL yL x y x y R TL x y p q′ r′ Verificando r' = RT q' xL yL x y x y R TL x y x y x y T R Transformação Sistema de Coordenadas Transformação Objeto p q′ p r′ x y r′ Braço mecânico Exemplo Aplicar a idéia de eixos locais para organizar a instanciação de objetos Partes Braço mecânico base braço e ante braço SRO - Primitiva Descrição da Cinemática Braço mecânico x y Desenha base Rotaciona em xy Translada em y1 de d1/2 Desenha braço em x2y2 Translada em y1 de d1/2 Rotaciona em x3y3 Translada em x3 de d2/2 Desenha ante-braço em x4y4 base I braço R0T1 ante-braço R0T1T1R3T3 Sequência de transformações para instanciação Exemplo glMatrixMode(GL_MODELVIEW); glLoadIdentity( ); desenhaBase( ); glRotatef(r0,0.0f,0.0f,1.0f); glTranslatef(0.0f,d1/2.0,0.0f); desenhaBraço( ); glTranslatef(0.0f,d1/2,0.0f); glRotatef(r3,0.0f,0.0f,1.0f); glTranslatef(d2/2.0,0.0f,0.0f); desenhaBraco(); /* transformações do modelo*/ /* carrega a identidade como corrente */ base I braço R0T1 ante-braço R0T1T1R3T3 x y Hierarquia em árvore Hierarquia do modelo representada por uma árvore Base Braço1 Braço2 Palma Base dos dedos Dedo esq Dedo dir braço ante-braço mão Hierarquia em árvore Hierarquia do modelo representada por uma árvore Usar o mecanismo de pilha para matriz de transformação, implementado pela OpenGL, para percorrer a árvore de forma a aplicar a seqüência correta de transformações para instanciar cada objeto As Funções glPushMatrix e glPopMatrix permitem delimitar o escopo das transformações Hierarquia em árvore Hierarquia do modelo representada por uma árvore Base Braço1 Braço2 Palma Base dos dedos Dedo esq Dedo dir braço ante-braço mão pop push pop push 1 2 Detalhes da mão b a c e e f Atividade 0 Braço1 Braço2 Base Atividade 1 Base Braço1 Braço2 Mão Atividade 2 - modelagem Base Braço1 Braço2 Palma Base dos dedos Dedo esq Dedo dir Atividade 3 Movimento B B 1 Atribuir movimentos: • Base B - translação • Braço B1 - rotação • Braço B2 - rotação • Mão M - rotação • Dedo esq. E - translação • Dedo dir. D - translação
Compartilhar