Pular para o conteúdo

Matemática Vetorial 3D & Matrizes MVP (Math3D.cs)

A Computação Gráfica 3D é o conjunto de transformações matemáticas que mapeiam pontos no espaço tridimensional (X,Y,Z)(X, Y, Z) para pixels na tela bidimensional (x,y)(x, y).

O arquivo Math3D.cs implementa todas as operações vetoriais e matriciais 4×44 \times 4.


1. Operações Vetoriais Fundamentais

  • Produto Escalar (Dot Product): ab=axbx+ayby+azbz\vec{a} \cdot \vec{b} = a_x b_x + a_y b_y + a_z b_z. Usado para iluminação difusa e teste de faces visíveis.
  • Produto Vetorial (Cross Product): a×b\vec{a} \times \vec{b}. Gera um vetor perpendicular aos dois vetores de entrada (utilizado para calcular o vetor Normal de triângulos).

2. A Jornada do Vértice: O Pipeline MVP

Para transformar um ponto 3D em um pixel na tela:

graph LR
Local["1. Espaco do Objeto"] -->|Model Matrix| World["2. Espaco de Mundo"]
World -->|View Matrix| Camera["3. Espaco da Camera"]
Camera -->|Projection Matrix| Clip["4. Espaco de Corte 4D"]
Clip -->|Divisao Perspectiva por w| NDC["5. Coordenadas NDC"]
NDC -->|Mapeamento de Viewport| Screen["6. Pixels na Tela"]
  1. Model Matrix (MmodelM_{\text{model}}): Posiciona e rotaciona o objeto no mundo.
  2. View Matrix (MviewM_{\text{view}}): Move a cena para o ponto de vista da câmera (LookAt).
  3. Projection Matrix (MprojM_{\text{proj}}): Aplica a perspectiva (objetos distantes parecem menores).
  4. Divisão Perspectiva: Converte para coordenadas normalizadas (NDC [1,1][-1, 1]).
  5. Mapeamento de Viewport: Converte para a resolução em pixels da janela do aplicativo.

📚 Referências Oficiais Microsoft Learn

Conceitos matemáticos e classes do .NET para transformações geométricas e gráficos 3D:


👉 Próximo Passo: Veja como o Renderizador em Software CPU rasteriza esses triângulos com Z-Buffer.