2009-08-24 10 views
17

3Dゲームエンジンのプログラミングには通常どのような数学が必要なのか考えてみたいですか?非常に複雑な数学が本当に必要ではないように、特定の数学(ベクトル幾何学など)や計算アルゴリズム(高速フーリエ変換など)、またはこれはすべてDirectX/OpenGLで抽象化されていますか?3D(ゲーム)エンジンプログラミングで使用される数学

+1

3Dグラフィックスプログラミングでは、線形代数の適切な理解が必要です。 [3Dコンピュータグラフィックスのベクトル数学のチュートリアル](http://chortle.ccsu.edu/vectorlessons/vectorindex.html)は、ベクトルと行列を学習するための最良のリソースです。また、各セクションの最後には、そのトピックの理解を検証し、密封するためのテスト問題があります。 – legends2k

+0

この質問は、Game DevelopmentやMathなどの他のStack Exchangeサイトのいずれかに移動する必要があります。 (この質問にはプログラミングが含まれているので、それが正しいかどうかは分かりません) – Andreas

答えて

14

行列、三角、主に幾何学と線形代数のビット

は、複雑な数学ここhttp://www.essentialmath.com/

+5

そしてベクトル、たくさんのベクトル! – Marius

+2

あまりにも多くのベクトル... :( –

+0

実際にはベクトルを取り除くことができ、それにはいくつかの重要な利点があります。 – ima

1

を見てください、多くの場合、再生するために入ってきたが、最も重要なのは、このような数学の概念を理解し、数学自体ではない。すべてがどのように一緒になっているかを理解している限り、多くの計算に必要なヘルパーメソッドがしばしばあります。もちろん、それは主にあなたが使用している開発プラットフォームにも依存します。

+0

コンセプトをどこで学び、どのようにゲームプログラミングに適用するかについての提案がありますか?教授法への飛び方/方法/数学を行うこと、そして、いつ/あなたがそれを使うべきかを見つけること。 – TheGeoff

+0

@ TheGeoff:3Dグラフィックスプログラミングでは、線形代数の理解が必要です。 [3Dコンピュータグラフィックスのベクトル数学のチュートリアル](http://chortle.ccsu.edu/vectorlessons/vectorindex.html)は、ベクトルと行列を学習するための最良のリソースです。また、各セクションの最後には、そのトピックの理解を検証し、密封するためのテスト問題があります。 – legends2k

4

大部分の線形代数と計算幾何学に関しては、クォータニオンは広範囲に使用され、物理エンジンで作業する場合は数値解析が必要です。

日常的にどのくらい使っているかは、自分が行っていることによって異なります。グラフィックスプログラマで3Dグラフィックスエンジン自体を構築する場合、実際に数学を行うクラスライブラリや関数の実装を実装または維持する可能性が高いため、詳細を知ることは比較的重要です。ライブラリーをクライアントとして使用している場合や、ゲームエンジンの別の部分(AI、オーディオ、UI、カメラなど)で作業している場合は、概念的に理解する必要がありますが、実装方法を知らないあなたの頭の上からホワイトボード上の行列逆行列。

グラフィックスAPIによって、この数値を知る必要はなくなりません。それらは描画に限られているので、シーン管理とワールドシミュレーションはすべてグラフィックスAPIの外部で実装する必要があります。もちろん、ミドルウェアオプションもありますが、多くのスタジオでは独自のシステムを使用しています。

この市場をターゲットにしたリソースはかなりあります。たとえば、アマゾンには3D Math Primer For Graphics and Game Developmentのような書籍があります。オンラインのものもたくさんあります。

16

線形代数!線形代数がたくさんあります!ここで

あなたがそれらを必要としているだけのクラスと例の状況

  • ベクトル - 位置、速度、法線
  • マトリックス - 変換
  • クォータニオン - 回転(骨のための素晴らしいですアニメーション)
  • レイ - 投射物衝突検出
  • プレーン - 発射衝突検出
  • 錐台から
  • カリングレンダリング - カリング、衝突試験、空間分割 - カリング、高速衝突試験
  • 軸-整列バウンディングボックスをレンダリング
  • 指向バウンディングボックス - 衝突テスト
  • 凸包 - 彼らはエンジン(グラフィックス、物理学、AI、など)でどこでも使用されるように、あなたはベクトルや行列で始まる必要など衝突、空間分割

+0

ほとんどが動き回り、衝突検出のように見えます。 –

関連する問題