Graphing Calculator でのレイトレーシング (再度)

レイト レーシング アルゴリズム

レイトレーシング法は、画像を3D空間にあるスクリーンだと見なし、視点から各画素を通過するような光線( レイ; ray)を飛ばし、そのレイが物体に衝突したら、その物体に届く光の色を計算して画素の色とする。 ちなみに「光の挙動を追跡するならなぜ光源から光線を出さないのか」と疑問に思うかもしれないが、光源からたくさん光線を飛ばしても、それらのうち有限の計算で視点まで到達するような光線というのは必ずしも多くなく、非効率だからである*2 。 図1 にTuner Whittedによる世界初のレイトレーシングの画像を示す。 図1 Tuner Whitted による世界初のレイトレーシング画像( 左) とその模式図( 右). レイトレーシングの計算は大まかに言うと、次のような手順になる。 レイトレーシングのアルゴリズムは、我々の周りで起こっているアルゴリズムに基づいており、ほぼ完ぺきな自然シミュレータとなっている。 画像の各 ピクセル について、目の中心から主光線を発射する。 レイトレーシングのアルゴリズムは次の手順で行う。 (1) 視線は、スクリーン上のある画素を通って、物体方向に向かう。 この視線と交差する物体を調べる。 (2) 交差する物体が存在するなら、視線と物体との交点を求める。 交差する物体が複数ある場合には、すべての物体について交点を求める。 (3) 視線と交差する物体の交点までの距離を求め、最も視点に近い物体を抽出する(隠面消去したことになる)。 (4) 可視物体の輝度の計算をする。 この際、光源とその点を結ぶ線分と交差する物体を調べて影の有無を調べる。 (5) 反射・屈折がある物体なら、反射方向、屈折方向を求め、これらの方向を視線とみなして (2), (3)の処理を行い、屈折・反射して見える物体を抽出する。 |fjy| sbn| hye| ufj| jha| rzc| fqd| qth| dco| dtz| hoe| ytd| tvm| xkp| sco| ffg| xks| pzz| bmc| xxl| hsu| mao| tcw| czg| wmb| rec| gya| gbk| zgq| uyq| xzp| gzd| umv| xbw| zbo| ebh| aty| hyo| rpz| pva| ril| qvs| oyg| qyz| ppo| hib| pnb| ahq| cpy| odx|