SSブログ

厳密な光線追跡 - その11 [光線追跡エンジンを作る]

昨日の数学のまとめの続き。まとめはこれでおしまい。

3.5.8  屈折光線

屈折光線の向き(方向ベクトル)ro
1016eq59.png
として計算できる。ただしriは入射光線の向きを表すベクトルであり、nは光線と面とが交差する点での面の法線ベクトルで、面が式-50で表されているとすると
1016eq61.png
である。そして
ni :入射光線が含まれている媒質の屈折率
no :屈折光線が含まれている媒質の屈折率
である。jrが負になる場合は、全反射となる。
また、riは式-41の規格化がされているとし、法線ベクトルはriと同じ方向を向いているとする。つまりriと面の同じ側になるように、nの符号をとる。
同じ側かどうかは
1016eq62.png
で判定できる。この値が正なら同じ側にあり、負ならnをあらためて−nとすればよい。

3.5.9  反射の場合

反射光線の向きri
1016eq63.png
で得られる。

3.5.10  一般の姿勢をした面の扱い

以上の具体的な定式化はすべて面が
  • 原点を通る
  • 原点での法線ベクトルがz軸に平行である
という制限を持っている。一般の面
1016eq64.png
はこれらの面が次の変換
1016eq65.png
で与えられているとみなす。ここでTは同次行列で
1016eq66.png
といいうような変換行列である。この行列は
1016eq68.png
と見て、小行列A
1016eq69.png
を満たしかつその行列式が正の場合、原点での回転を表す。したがってT全体では
  • 原点で回転する
  • 原点を(ox,oy,oz)に移動する
ということを表現することになる。
この一般の面に対して光線との交点を求める場合、まず光線を
1016eq70.png
と変換し、パラメータαの原点にある面との交点での値αoを求め、その屈折光線po
1016eq71.png
とすれば、これまでの議論が流用できる。
Tの逆行列はそれが回転と平行移動を表している場合
1016eq72.png
で簡単に求めることができる。
nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

献立10/18献立10/19 ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。