3Dグラフィックプログラミングの数学トピック[終了]


14

3Dグラフィックプログラミングには、次の数学トピックが必要であることを理解しています。私は数学コースでそれらのいくつかを始めました。誰かが私にそれらがどのように適用されるかを説明するリソースの方向に向けることができますか?どのグラフィック/ゲームの問題を解決するために使用されていますか?

  • ベクトル数学
  • 行列演算
  • 四元数
  • 線形代数

私が見る限り、これらはすべて線形代数/行列のトピックです。他に必要なトピックはありますか?


この質問は、その上でいくつかの良い情報を持っていますgamedev.stackexchange.com/questions/2029/...
michael.bartnett

@beardcp重複するところまで行くかもしれません。
共産主義のカモ

回答:


10

線形代数は、空間ジオメトリを記述するための数学言語であるという理由だけで、3Dグラフィックスプログラミングの第一の分野です。他の3つのトピックは、実際には線形代数のサブセットにすぎません。

  • ベクトルは空間内の点について考える方法です
  • 行列は、空間とオブジェクトの変換について考える方法です:オブジェクトの変換、スケーリングなど。
  • 四元数は、これらの変換の特定のサブグループ、回転の自然な表現です
  • などなど

3Dグラフィックスプログラミングに関連する他の数学に関する限り、十分な愛情を得られないことをお勧めするのは計算幾何学です。多くの自然問題は、計算幾何学のトピックに要約されます。

  • ポイントのセットからボリュームを定義する最も自然な方法の1つ(たとえば、特定のバックグラウンドノイズが再生されるオーディオボリュームやフォグボリュームなどを定義する)は、ポイントの凸包を見つけることです。; 2次元と3次元でそれを行うための優れたアルゴリズムがありますが、2次元のアルゴリズムでさえすぐにはわかりません。
  • どのオブジェクトが特定のポイントの近くにあるか、互いに近くにあるかを判断できる問題(たとえば、衝突の可能性をチェックする必要があるオブジェクトの数を減らしたり、どの敵がプレイヤーに気付くのかを把握したりするため)与えられたポイント)は、幾何学的なクエリ問題の分野と空間分割スキーム(そして、BSPツリーや八分木のような構造)に入ります。同じ一般的な考え方は、「ライントレース」クエリに回答するためにも使用されます(たとえば、「このレーザービームは何をヒットしますか?」)

その後、基本的な計算法、特に微分方程式の数値計算法を検討することをお勧めします。これらは3D物理学よりも3Dグラフィックス自体とはあまり関係がありませんが、一般に2つのトピックは非常に密接に結びついています(たとえば、キャラクターアニメーションなどの運動学の単純な問題でも)、両方のいくつかの知識はいずれかの知識を大幅に強化します。グラフィックスが使用するのと同じコア線形代数の知識なしに関連する物理学を動作させることは不可能ではないにしても困難ですが、同時に物理学の知識を持つことはグラフィックスのトピックを理解するための別の参照点を提供します。


これは素晴らしい答えでした、スティーブン、ありがとう。ベクトル、行列、四元数について考える方法の要約が大好きでした(残念ながら、現在の線形代数の講師よりも2秒でより有益になります)また、3Dグラフィックプログラマーに課されるモデリングの課題についても理解を深めました。乾杯!
キャサリンリックス



1

デカルト座標に精通している場合、上記のトピックのコンピューターグラフィックスへの適用はかなり明確なはずです。これらのOpenGL用のチュートリアルは、基本的な表示の問題を解決するための数学の適用を明確にするのに役立ちます。たとえば、ワイヤフレームモデルを回転させる方法などです。透視図に関するWikipediaの記事は、少し歴史的な背景に役立つかもしれません。

それ以外にも、数学的定式化の恩恵を受ける多くのディスプレイトピックがあります。たとえば、3Dソリッドは通常、表面の三角形分割によって表されます。観察者が「見る」べき表面の部分のみを表示するには(非表示の表面/ラインアルゴリズム)?特定の光源/方向からオブジェクトを照らす場合、これがどのように遠近法と相互作用して説得力のある表面レンダリングを提供しますか?

それ以外にも、霧や炎のアニメーションなど、あらゆる種類の興味深いモデリングトピックがあります。ただし、トピックのリストが中心になっているように見える座標の変換は、後のすべての進歩の主要な要素です。



1

すべてが必要というわけではありません。ベクトル数学はすべて3Dグラフィックス上にあり、ベクトル数学のより細かい点を知らなくてもジオメトリを設定できるかもしれませんが、バンプマップのようなものは本当に難しくなり、物理学に落ち着きます。

四元数は、数学の一部について単に異なる説明を提供するだけでいいかもしれませんが、四元数を使って実行できる計算を説明するには、より一般的な数学で十分なので、必ずしも必要ではありません。

行列数学と線形代数は非常に密接に関連しており、ほとんどの場合、数値の集合に対する線形演算を記述しています。しかし、繰り返しますが、これはベクトルと代数で記述できるいくつかのことを記述する別の方法です。

あなたがそれを単なる基本的な数学の一部とみなすかどうかはわかりませんが、三角法は確かにリストを作成する必要があります。


私はこれまでに物理学に関するいくつかの言及を見てきました-ここで何を参照しているのか教えてもらえますか?私は12年間(つまり高校以来)このテーマに触れたことはなく、率直に言ってそれを嫌っていました。おそらく、私はそのアプリケーションをおなかが楽にするでしょう。
キャサリンリックス

ニュートン物理学、主に衝突解決。あなたは高校でこのようなことを教えられなかったかもしれませんが、それはすべて非常に数学的なので、数学が好きならあなたは良いはずです。
aaaaaaaaaaaa
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.