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 para pixels na tela bidimensional .
O arquivo Math3D.cs implementa todas as operações vetoriais e matriciais .
1. Operações Vetoriais Fundamentais
- Produto Escalar (Dot Product): . Usado para iluminação difusa e teste de faces visíveis.
- Produto Vetorial (Cross Product): . 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"]- Model Matrix (): Posiciona e rotaciona o objeto no mundo.
- View Matrix (): Move a cena para o ponto de vista da câmera (LookAt).
- Projection Matrix (): Aplica a perspectiva (objetos distantes parecem menores).
- Divisão Perspectiva: Converte para coordenadas normalizadas (NDC ).
- 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:
- System.Numerics Namespace — Tipos acelerados por hardware via SIMD:
Vector3,Vector4,Matrix4x4eQuaternion. - Visão Geral de Transformações no WPF — Operações matriciais de translação, rotação e escala.
- Estrutura Matrix3D (System.Windows.Media.Media3D) — Representação de matriz de transformação afim 4x4 em ponto flutuante.
👉 Próximo Passo: Veja como o Renderizador em Software CPU rasteriza esses triângulos com Z-Buffer.