Matemática usada na programação de motores 3D (Game)

Gostaria de ter uma ideia de que tipo de matemática é normalmente necessária para a programação de motores de jogos 3D? Qualquer matemática específica (como geometria vetorial) ou algoritmos de cálculo (como transformação rápida de fourier), ou isto é tudo abstraído com DirectX/OpenGL de modo que matemática altamente complexa não é realmente necessário mais?

Author: Alex, 2009-08-24

4 answers

Matrizes, trigonometria, geometria e um pouco de álgebra linear

Olha para isto. http://www.essentialmath.com/
 14
Author: Martin Beckett, 2009-08-24 03:51:36
Álgebra Linear! Montes de Álgebra Linear! Aqui estão apenas classes e situações de exemplo onde você precisa delas.
  • Vector - posição, velocidade, valores normais
  • matriz - transformações
  • Quaternião - rotações (grande para animações ósseas)
  • raio - detecção de colisão de projécteis
  • Plano - detecção de colisão de projécteis
  • Frustum - renderizar abate
  • esfera - renderizar abate, ensaio de colisão rápida
  • Caixa envolvente do eixo - abate, ensaios de colisão, separação espacial
  • Caixa envolvente orientada - ensaios de colisão
  • casco convexo - colisão, separação espacial {[[9]}
  • etc.

Você deve começar com vetor e matriz como eles serão usados em todos os lugares no motor (gráficos, física, ia, etc.)

 16
Author: Aleks, 2010-01-23 11:17:48

Para a maioria das partes álgebra linear e geometria computacional; quaterniões são usados extensivamente e análise numérica é necessária se você estiver trabalhando em um motor de física.

O quanto você usaria o material diariamente depende do que você está fazendo. Se você é um programador gráfico, e, portanto, construir o motor de gráficos 3D em si, então você provavelmente estaria implementando ou mantendo implementações de bibliotecas de classe e funções que realmente fazem a matemática, então ele iria seria relativamente importante conhecer os detalhes sangrentos. Se você está usando a biblioteca como cliente ou trabalhando em outra parte do motor de jogo (AI, áudio, UI, câmera, etc.) então você vai precisar entender a matemática conceitualmente, mas você certamente pode escapar sem saber como implementar uma matriz inversa em um quadro branco fora do topo da sua cabeça. As APIs gráficas não eliminam a necessidade de alguém conhecer esta matemática; estão limitadas ao desenho, por isso toda a gestão de cenas e mundo a simulação precisa ser implementada fora da API Gráfica. Claro, existem opções de middleware lá também, mas muitos estúdios rolam seus próprios sistemas. Há um número considerável de recursos destinados a este mercado. Por exemplo, na Amazon existem livros como Math Primer 3D para gráficos e desenvolvimento de jogos, e provavelmente há muitas coisas online também.
 4
Author: , 2009-08-24 04:21:37

Matemática complexa vem para jogar, mas o mais importante é uma compreensão dos conceitos por trás de tal matemática e muitas vezes não a matemática em si. Desde que compreendam como tudo se junta, há muitas vezes métodos auxiliares para muitos dos cálculos de que necessitarão. Claro que isso depende em grande parte da plataforma de desenvolvimento que você está usando também.

 1
Author: Nathan Taylor, 2010-11-03 18:54:26