レイトレーシング

出典: フリー百科事典『ウィキペディア(Wikipedia)』
2013年9月16日 (月) 01:58時点における117.58.144.209 (トーク)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索
ファイル:Raytraced image jawray.jpg
レイトレーシングで再現された球

レイトレーシング(ray tracing)は、主に3次元空間内を伝わるの伝播経路を追跡することで現実世界の物理現象を仮想的にシミュレートする計算手法である。

レイトレーシングを行う対象には「光線」「電波」「地震波」「超音波」といくつかあり、それぞれ「光線追跡法」「波線追跡法」「音線追跡法」などと呼ばれることがある。この手法では反射屈折は忠実に再現できるが、回折近似モデリングを必要とする。対象が異なっても伝播経路を追跡する基本的な原則は共通であるが、計算手順はそれぞれで異なる。

光線

光線でのレイトレーシングとは、3次元コンピュータグラフィックス画像を描くレンダリング工程での手法の1つである。

この手法は、カメラや観察者に相当する受信点を中心に画角となる2次元方向内の微小な角度ごとのそれぞれの方向から受け取るはずの光線(レイ)を、算術演算処理をそれぞれ行うことで仮想的に逆方向に追跡し、その方向に何が見えるかを判定する。透明な物体では境界面ごとに複数の屈折光と反射光に分かれるが、それぞれの伝播経路を計算する。わずかな吸収を除けばほとんどが反射光となる鏡面反射では演算量があまり増えないが、透明や鏡面でない物体の表面は周囲のあらゆる方向へ光を乱反射しているため、それらをすべて演算しようとすれば演算量が指数関数的に増えてしまい有限時間内には処理できなくなる。こういった拡散反射は乱数によってランダムに選ばれた方向のみに限定することで演算量を現実的な処理量に抑えた「モンテカルロ・レイトレーシング」によってシミュレートされる。モンテカルロ・レイトレーシングの内でも「分散レイトレーシング」と呼ばれる手法では、ある程度のリアルさをシミュレートするために拡散反射する表面ごとに逆追跡が必要な経路が多数生じるため、複数の表面同士で反射する光まで再現しようとしてやはり演算処理量が爆発的に増加してしまう。拡散反射する表面での逆追跡が必要な経路をランダムに1つだけ生む手法は「パス・レイトレーシング」と呼ばれる。

レイトレーシングに似た手法、又は最も広義のレイトレーシング手法の1つとも考えられるものに「フォトン・マッピング」がある。レイトレーシングが観察者やカメラ側から光線の経路を逆追跡するのに対して、フォトン・マッピングでは光源側から光線の経路を再現する[1]

歴史

1979年に3次元CG画像用レンダリング手法の1つとして考案された。この最初に考案された狭義のレイトレーシング手法は、単純な形状の透明な物体や鏡面を再現するには効果的であったが、ざらついた質感を持つ物体の表面を表現したり複雑な形状を再現するには当時のコンピュータの処理能力の制約もあって適していなかった。その後、表現力を広げるための新たな手法が「モンテカルロ・レイトレーシング」「分散レイトレーシング」「パス・レイトレーシング」として考案され、こういった広義でのレイトレーシング手法は、21世紀初頭現在、間接光を再現する大域照明技術の代表的なものとなっている。

20世紀末から2000年代最初の数年間までは、映画のような動画を作るにも1フレーム当たり数分や十時間ほどもその当時の最新のコンピュータで演算する必要があり、2009年現在では、大規模な高精細度の動画生成が求められる映画産業や工業デザイン産業ではレンダー・ファームと呼ばれる100-1,000台規模のクラスタ・サーバーを構築することで対応している。広義でのレイトレーシング手法だけを用いて動画を生成しようとすると、高精細で複雑な照明効果をリアルに再現した画像を短時間に生み出すにはさらに巨大なコンピュータ群を必要とするため、実際には一般的なコンピュータ・グラフィックス映像では間接光などの再現はレイトレーシングだけに頼らずに陰の再現は「シャドー・マッピング」に、光沢面への写り込みは「環境マップ」に、場合によっては人が描いた2次元画像を重ねるなど、人手を介した多様な手法によって製作されている。

2009年現在、GPUマルチコア・プロセッサに代表される高性能な処理能力が得られるようになりつつあり、映画や工業デザイン分野では人手を介した作業が廃されてすべてを単純なレイトレーシング処理に集約する事や、また映画や工業デザインのみで作られていたリアルな画像が、今後は個人所有のPC上でもゲームのような用途で短時間で製作できるようになる可能性がある[1]

用途

広義のレイトレーシングは、実写では再現不可能な映画の特殊効果や、工業用・建築用のデザインで採用されている。ゲーム業界でも部分的に使用されている。

電波

電波のレイトレーシングでは発信点からの電波を仮想的に追跡し、受信点における伝播特性、特に電界密度を得る。多くの場合、これを格子状に、通常は一定の高度の水平面上に配置された受信点に対し繰り返し行い、電界密度マップを得る。このマップは、無線設備の配置の決定などに使われる。

与えられた発信点から与えられた受信点までの波線は一意に定まらないため、次の解法がある。

レイラウンチング法 (ray launching)
送信点から多数のレイを発射 (launch) し、受信点の近くを通るレイを選び出す。計算量は少ないが、厳密な結果を得るためにはテクニックが必要である。なお、正しくは「レイローンチング」だが、慣習的に「レイラウンチング」と呼ぶ。
イメージング法 (imaging)
「イメージ」は「鏡像」の意味。鏡像原理にもとづき送信点と受信点を結ぶ経路のみを計算するため、常に厳密な結果が得られるが、反射回数に対し計算量が指数関数的に増加するため、2-3回程度の反射しか追跡できない。

地震波・超音波

地震波や超音波での通常のレイトレーシングでは、反射・屈折などの条件から、受信点での受信波を計算するが、この場合は、実際に測定された受信波から反射・屈折などの条件(特に波速分布)を逆算し、トモグラフィー(断層画像)を得る。

関連項目

出典

  1. 1.0 1.1 進藤智則 『リアルタイム化でよみがえるレイトレーシング技術』 日経エレクトロニクス2009年10月5日号