Pular para o conteúdo

Grafos de Cena & Cinemática Direta (HierarchicalModeling.cs)

A Modelagem Hierárquica é essencial para a animação e montagem de estruturas articuladas complexas (como braços robóticos, animais quadrúpedes e veículos).

Ela resolve um desafio clássico: como movimentar objetos interconectados sem precisar calcular manualmente a posição global absoluta de cada subcomponente.

O arquivo HierarchicalModeling.cs implementa a árvore do Grafo de Cena (Scene Graph) e o WPF utiliza nós Model3DGroup com transformações aninhadas.


Quando o ombro de um personagem se move, o braço, o antebraço, a mão e os dedos acompanham o movimento automaticamente, porque pertencem à mesma subárvore hierárquica.

graph TD
Root["Raiz do Mundo"] --> Base["Base do Robo - Rotacao Eixo Y"]
Base --> Ombro["Braco e Ombro - Rotacao Eixo Z"]
Ombro --> Cotovelo["Antebraco e Cotovelo - Rotacao Eixo Z"]
Cotovelo --> Pulso["Pulso e Garra - Rotacao Eixo X"]

  1. Design Top-Down (Análise Estrutural):
    • O objeto complexo é decomposto em subsistemas hierárquicos.
    • Identificam-se os eixos e pivôs onde o movimento articular ocorre.
  2. Construção Bottom-Up (Montagem Prática):
    • Inicia-se pela criação dos componentes primitivos (geometrias básicas na origem com MeshGeometry3D).
    • Agrupam-se os primitivos em componentes agrupadores (Model3DGroup) com transformações de instância e junta.

3. Transformação de Instância vs Transformação de Junta

Seção intitulada “3. Transformação de Instância vs Transformação de Junta”
  • Transformação de Instância: Posiciona e orienta estaticamente o componente em relação ao seu nó pai (ex: afastar a pata 1.51.5 unidades para a direita do tronco).
  • Transformação de Junta: Aplica a rotação dinâmica parametrizada pelo tempo em torno do eixo de articulação (ex: rotação periódica da coxa em torno do quadril).

A matriz global de qualquer nó filho no mundo Mglobal, filhoM_{\text{global, filho}} é o produto da matriz acumulada do pai pela sua matriz de junta e instância:

Mglobal, filho=Mglobal, pai×Minstancia×Mjunta(t)M_{\text{global, filho}} = M_{\text{global, pai}} \times M_{\text{instancia}} \times M_{\text{junta}}(t)

4. Cinemática Harmônica de Marcha em Quadrúpedes

Seção intitulada “4. Cinemática Harmônica de Marcha em Quadrúpedes”

Para simular o ciclo de caminhada de um animal ou robô de 4 patas, aplicam-se funções harmônicas com defasagem angular constante entre os membros:

θdianteira, esq(t)=A⋅sin⁡(ωt)θdianteira, dir(t)=A⋅sin⁡(ωt+π)θtraseira, esq(t)=A⋅sin⁡(ωt+π/2)θtraseira, dir(t)=A⋅sin⁡(ωt+3π/2)\begin{aligned} \theta_{\text{dianteira, esq}}(t) &= A \cdot \sin(\omega t) \\ \theta_{\text{dianteira, dir}}(t) &= A \cdot \sin(\omega t + \pi) \\ \theta_{\text{traseira, esq}}(t) &= A \cdot \sin(\omega t + \pi/2) \\ \theta_{\text{traseira, dir}}(t) &= A \cdot \sin(\omega t + 3\pi/2) \end{aligned}

Essa defasagem de 90∘90^\circ e 180∘180^\circ garante que as 4 patas alternem os apoios no solo de maneira fisicamente natural e contínua.


Referências Oficiais Microsoft Learn


Próximo Passo: Veja o Braço Robótico e o Sistema Solar em Execução.