レイトレーシング入門【レイトレーシング】

このコースを開始するには、3 次元シーンを表示可能な 2 次元イメージに作成する方法を説明します。このプロセスとその内容を理解すれば、コンピューターを使用して同様の方法で「人工」画像をシミュレートできるようになります。この章では、CGI の構成要素について説明します。

このレッスンの第 2 章では、レイ トレーシング アルゴリズムを紹介し、その仕組みを簡単に説明します。なぜ他のアルゴリズムではなくレイ トレーシングに重点を置くのかという質問を多くの人々からメールで受けています。真実は、そうではありません。この入門コースでレイ トレーシングに焦点を当てることにしたのはなぜですか?このアルゴリズムは、オブジェクトを可視化する物理現象をシミュレートする最も直接的な方法です。したがって、3D イメージやコンピューター生成イメージを作成する単純なプログラムを作成する場合は、他のテクニックの中でもレイ トレーシングが最適な選択となります。

NSDT ツールの推奨事項Three.js AI テクスチャ開発キット - YOLO 合成データ ジェネレーター - GLTF/GLB オンライン編集 -  3D モデル形式のオンライン変換 - プログラム可能な 3D シーン エディタ -  REVIT エクスポート 3Dモデル プラグイン - 3D モデル セマンティック検索エンジン

まず、レイ トレーシング アルゴリズムの基礎を築きます。ただし、スキャンライン レンダラーの実装に必要な情報をすべて理解したら、その方法も示します。

1. 画像はどのように作成されるのですか?

図 1: この写真は、頂点が目の中心にあり、高さが視線と平行になっているピラミッドの切り抜きとして考えることができます。

画像を生成するには、まず 2 次元の表面が必要です (この表面は点ではなく領域である必要があります)。これを念頭に置くと、この写真は、頂点が目の中心にあり、高さが視線と平行になっているピラミッドの切り抜きであると考えることができます (何かを見るには、目を直線に沿って合わせる必要があることを思い出してください)これにより、オブジェクトは線で接続されます)。前述したこのカットまたはスライスをイメージ プレーンと呼びます (このイメージ プレーンは画家が使用するキャンバスと考えることができます)。イメージ プレーンは、3 次元のシーンを投影するための 2 次元の表面として使用するコンピュータ グラフィックスの概念です。当然のことのように思えますが、今説明したことは、さまざまなデバイスで画像を作成するための最も基本的な概念の 1 つです。たとえば、写真におけるこれに相当するのは、フィルムの表面 (デジタル カメラのセンサー)、または前述したように画家が使用するキャンバスです。

2. 透視図法

空白のキャンバスに立方体を描きたいとします。投影プロセスを説明する最も簡単な方法は、まず 3 次元立方体の各隅から目に向かって線を引くことです。キャンバス上にオブジェクトの形状を描画するには、各線が画像平面の表面と交差する点をマークします。たとえば、c0 が立方体の角で、他の 3 つの点 (c1、c2、c3) に接続されているとします。これら 4 つの点をキャンバスに投影すると、c0'、c1'、c2'、c3' が得られます。 c0-c1 がエッジを定義する場合、c0' から c1' まで線を描きます。 c0-c2 がエッジを定義する場合、c0' から c2' まで線を描きます。

図 2: 正面の 4 隅をキャンバスに投影する

立方体の残りのエッジに対してこれを繰り返すと、キャンバス上に立方体の 2D 表現が完成します。透視投影を使用して最初の画像を作成しました。シーン内のすべてのオブジェクトに対してこのプロセスを繰り返し続けると、特定の視点から見たときのシーンの画像が得られます。 15 世紀の初めに、画家たちは遠近法投影の規則を理解し始めました。

3. 光と色

2 次元の表面上に 3 次元のオブジェクトの輪郭を描く方法がわかれば、色を追加して絵を完成させることができます。

今学んだことの簡単な要約: 2 段階のプロセスを通じて 3 次元シーンから画像を作成できます。最初のステップは、3 次元オブジェクトの形状を画像表面 (または画像平面) に投影することです。このステップでは、オブジェクトの特徴から目に線を接続するだけで済みます。次に、キャンバスに戻り、これらの投影された線が画像平面と交差する場所に描画して、アウトラインを作成します。これが幾何学的なプロセスであることに気づいたかもしれません。 2 番目のステップでは、画像のワイヤーフレームに色を追加します。これはシェーディングと呼ばれるプロセスです。

シーンにおけるオブジェクトの色と明るさは、主に光とオブジェクトのマテリアルの間の相互作用の結果です。光は光子(電磁粒子)で構成されており、光子には電気成分と磁気成分があります。それらはエネルギーを運び、直線で移動するときに音波のように振動します。さまざまな光源は光子を放出しますが、最も顕著な例は太陽です。一連の光子が物体に当たると、吸収、反射、透過という 3 つのことが起こる可能性があります。反射、吸収、透過されるフォトンの割合は素材ごとに異なり、多くの場合、シーン内でオブジェクトがどのように表示されるかが決まります。ただし、すべての材料に共通するルールは、入射フォトンの総数は、反射光子、吸収光子、透過光子の合計と常に同じであるということです。言い換えれば、100 個の光子が物体の表面上の点に衝突すると、60 個の光子が吸収され、40 個の光子が反射される可能性があります。合計はまだ 100 です。この場合、透過光子、吸収光子、反射光子の合計は 100 でなければならないため、70 回の吸収と 60 回の反射、または 20 回の吸収と 50 回の反射を計算することはありません。

科学では、導体と誘電体と呼ばれる金属という 2 種類の材料のみを区別します。誘電体には、ガラス、プラスチック、木材、水などが含まれます。これらの材料は電気絶縁体としての性質を持っています(純水は電気絶縁体です)。誘電体材料は透明または不透明であることに注意してください。下の写真のガラス球とプラスチック球は誘電体です。すべての材料は、ある意味、特定の電磁放射に対して透明です。たとえば、X 線は人体を通過します。

オブジェクトは、複合材料または多層材料から作成することもできます。たとえば、不透明なオブジェクト (木材など) の上に透明なワニスを塗ることができます (これにより、下の画像のカラフルなプラスチック ボールと同時に拡散して光沢のあるように見えます)。

次に、不透明なオブジェクトと拡散したオブジェクトの場合を考えてみましょう。話を簡単にするために、吸収プロセスによってオブジェクトの色が決まると仮定しましょう。白色光は「赤」、「青」、「緑」の光子で構成されています。白色光が赤色の物体を照らすと、吸収プロセスによって「緑色」と「青色」の光子が除去(または吸収)されます。物体は「赤い」光子を吸収しないため、反射されます。これがオブジェクトが赤く見える理由です。物体によって反射された「赤い」光子の一部が私たちに向かって飛んできて私たちの目に当たるため、私たちはその物体を見ることができます。照らされた領域またはオブジェクト上の各点は、全方向に光を放射 (反射) します。各点からの光線は 1 本だけが目に垂直に当たるため、見ることができます。私たちの目は、光を神経信号に変換する光受容体で構成されています。その後、私たちの脳はこれらの信号を使用して、さまざまな色相やトーンを解釈できるようになります (その方法はまだ解明中です)。これは、関係する現象を説明する非常に簡単な方法です。すべては、色のコース (コンピューター グラフィックスの数学セクションにあります) で詳しく説明されています。

図 3: アル・ヘイサミス モデル

透視投影の概念と同様に、人間が光を理解するまでには時間がかかりました。ギリシャ人は、目から発せられる光線を通して物体を見るという視覚理論を発展させました。アラブの科学者イブン・アル=ハイサム (965 年頃 - 1039 年) は、私たちが物体を見るのは太陽光線のおかげであると最初に説明しました。直線的に移動する小さな粒子の流れが物体から反射されて私たちの目に届き、画像を形成します (図 3)。では、コンピューターを使って自然をシミュレートする方法を見てみましょう。


元のリンク:レイ トレーシングの概要 - BimAnt

おすすめ

転載: blog.csdn.net/shebao3333/article/details/134992450