いまさらきけない光学計算第2回:光線追跡

この記事の内容

1-2: 交点座標

光線の進行方向が分かれば、レンズやミラーとの交点を求めることが出来ます。

まずは2次元( Y-Z )平面で考えてみましょう。

光線が、ある位置(P,Q,R)を通過し、光線の方向ベクトル (L,M,N)の向きに進んでいるものとします。このL,M,Nが上で求めた方向余弦です。方向ベクトルの絶対値は1です。
この光線と曲面との交点を求めてみます。下図をご覧下さい。 曲面の方程式をとします。例えば とでもしておきましょう。

ここで光線の方程式を考えると、媒介変数 t を用いて

と書けます。媒介変数 t を「うまく」選ぶことで、直線と曲面の交点を求めることが出来そうですね。 今はY-Z平面上で考えていることを考慮しX成分を落として書くと...

となり、さらに媒介変数 t を消去し、Zについて解いて整理すると、

となります。

曲面(線)の方程式
直線の方程式

これで解けますね!?
曲面の面形状が複雑になると、その分難しくなりますが、考え方は同じです。

では3次元に拡張してみましょう。少しだけ複雑になりますが、概ね同じ手順で考えます。

ある点(P,Q,R)を通過し、(L,M,N)方向へ飛ぶ光線の方程式は以下の通りです。

曲面の方程式は、で、仮にとします

直線の方程式
曲面の方程式

今回の場合も、tの値をうまく調整することで、交点を求めることが出来そうです。つまり、交点となるようなtを求めればよいのです。
そこで直線と曲面の2本の式を整理し、t のみの式へ書き換えます。以下の式となります。

これでtのみの式になりました。この式から導かれるtの値が、ちょうど交点座標となるtを求めることができます(虚数解なら交点はありません)。

このくらいなら、なんとか手計算で解けそうな気もしますが、曲面の方程式がより複雑になると、もう自力で解く気は起こりません。(私の場合、上の場合ですらイヤですが。)
そこでコンピュータの力を借りるわけです。計算がとても速いですからね。

さて、いかがでしたか?単純な面形状ではありますが、交点を求めるプロセスを体験しました。
手計算では交点一つ求めるだけでも結構大変ですね。

面形状によっては、交点がいくつもある(解となるtがいくつかある)ケースがあり、どの点を正しい交点として選ぶか、そのアルゴリズムも様々です。この場合、少しユーザー側の手助けが必要になることがあります。

今回はここまです。光線追跡計算、なんとなくイメージできましたか?
次回は、入射角、屈折角などを求めてみます。

<< 前へ | 次へ >>

目次

 


お問い合わせ