LIFE LOG(MochiMochi3D)

MochiMochi3D

3D関係の記事を書きます

光は本当に光線(Ray)として使っていいのか ~幾何光学近似~

レイトレ合宿9アドベントカレンダー6/25の記事です。

レンダリングにおける光の挙動は全て光線(Ray)として考えているが、現実の光はこれと相反する電磁波という形で伝播してしています。なぜ光をRayと扱ってもいいのかというと、光学における幾何光学近似という近似によって「レンダリングのスケールでは光をRayとして扱ってよい」という保証が存在するためです。当記事はレイトレの物理学的根拠である幾何光学近似について幾何光学と波動光学の原理から証明と解説を行います。

光線(Ray)と光

レイトレーシングに代表されるようにレンダリングにおける光は「光線(Ray)」という概念によって表現されています。結構ちゃんと言うとなると難しい概念な気がするので大雑把に言うと、いわゆる光をレーザー光のような線の軌跡を辿るものと考えて、「光線」はその軌跡のことを指します。光源から放たれた無数の光はそれぞれ反射や屈折などをして私たちの眼に入ってきますが、それら光の伝わり方というのは光線という線として表現することが出来るというわけです。

私たちはレイトレでなんかではまさに同じように光を取り扱っており、レンダリングの分野では「光線(Ray)」という概念で光の伝達を表現しているというのがわかると思います。光の伝達を「光線」と表現して取り扱う光学の分野は幾何光学と呼ばれ、レンダリングは物理学的にはこの幾何光学の上で構築されています。

しかしながら、光学には幾何光学の他にもう一つ、光の伝達を「波動」と捉えて扱う波動光学という分野が存在します。物理学をやっていない方だとあんまりピンとこないと思うのですが、実はこの2つの概念「光線」と「波動」は相反するものであり、つまるところ幾何光学と波動光学はどっちかが正しいとするともう片方がおかしくなるというような対立した関係にある分野です。

「今までレイトレしてておかしなことがなかったから、幾何光学の方が正しいんじゃないの?」と思う人がいるかもしれませんが、実は光を「波動」と捉える波動光学の方が厳密には正しいと言える立場にあります。それはなぜかというと、光は電磁場と呼ばれる「波動」であることが実験的に確かめられているためです。

「え?じゃあ幾何光学が仮定してることが間違ってるなら、レイトレなんてやったらやばくない?」

そんなことはありません。幾何光学は光学の1分野として発展してるだけあって、幾何光学上での理論でも現実にある光学現象の大抵は説明することが出来ます。実際、光が波動とわかるまで幾何光学の光線という考えは有力な説として唱えられるほど、理論と実験結果が一致していました。

そのため、条件にさえ気を付ければ、実用上で光をRayとして扱ってもその結果は全く問題ありません。ですが、波動なのに幾何光学でも取り扱えるのはなんだかちぐはぐな感じがあります。これは本当に大丈夫なのか理論的に確かめないとなんだか不安になります。

結論から言ってしまうと、幾何光学は光の波長を0にした時、または波長に対して系のスケールが非常に大きい時における波動光学の近似であることがしっかりと証明されています。この波動光学の近似は幾何光学近似と呼ばれ、幾何光学が物理的にも正しいという根拠になっています。

私たちが一般に光として認識する可視光の波長というのは700nm ~ 300nmと髪の毛の太さの100倍以上小さなものであり、通常私たちがレンダリングする部屋なんかは現実的には1mとか1cmとかとのスケールで、可視光からするととんでも大きいわけです。そんな世界では十分に幾何光学近似が働くため、光をRayとして取り扱っても全く問題がないというわけです。

つまり、まとめると

光はほんとは波動光学的に扱わなければいけないけど、レンダリングでやるようなシーンでは幾何光学で十分に近似できるので Rayとして扱っても問題ない

結論を言ってしまったので記事の情報としてはこれで終わりなのですが、この記事では式的にどのようにして幾何光学近似が成り立っているのかを見ていこうと思います。ただ著者は光学と電磁気学初心者なので微妙な記述や間違った記述とかあると思いますが、大目に見てもらえると幸いです。

あと、ここでは量子力学に踏み込まず古典物理の範疇で話をします。原子レベルでものすごく厳密な話をするなら量子力学が必要になりますが、私たちの大きいスケールは普段そんなレベルまで考えることはないので、古典物理の範疇で議論します(というかそれで十分です)。

光の粒子性と波動性

光とかの話は一旦置いてちょっと幾何的な話をします。ある「点」が存在しているとして「点」が移動した時、その移動の軌跡というのは当然ですが「線」と表現することが出来ます。逆を言えば、軌跡が線であるならばその軌跡を作るものというのは「点」であるも言い換えることが出来ますよね。

ここでこの考えを光に当ててみると、その軌跡が「光線」として表現される光は本質的には「点」として見なせるほどとても小さな粒のようなものであるということが考えられます。つまり、幾何光学は光を粒子という小さな粒であるということを仮定していることになります。このような光を粒子として取り扱う仮定は光の粒子説と呼ばれます。

対称的に波動というのは何かが規則的に揺れ動いている現象のことを指します。ちょっと想像が付きにくいと思うので波について簡単に説明します。例えば、水面に手を当てて上下に揺らすと、それに応じて水面も上下に揺れ動き波として広がっていきます。ここで水面に葉っぱを浮かせてみると、葉っぱは水面の波と一緒に揺れ動くことが想像できると思います。

葉っぱは動いている以上何かしらのエネルギーを受け取っていることになりますが、元をたどれば波を引き起こしている手の動きのはずです。波は手の動きのエネルギーを水面という媒質を通して伝わり、最終的に葉っぱへと伝えています。このように波というのはエネルギーを伝える現象であり、これを波動と呼びます。

波動の本質は何かしらの物質とかではなく、あくまで物質の振動という形で存在する動きそのものです。つまるところ、波動と粒子は全く異なる存在であるわけです。波動光学は幾何光学とは対照的に光を何かの「波動」であると仮定する光の波動説を基にして記述されています。

粒子説と波動説

歴史的経緯

光学の歴史を振り返ると、最初は幾何光学が主要なアプローチでした。古代から中世にかけて、ユークリッドの「Catoptrics」やデカルトの「屈折光学」など、さまざまな歴史的文献では光の挙動が光線として扱われていました。ニュートンを始めとする数々の物理学者が受け入れるほど、幾何光学によるアプローチは現実の結果と合致していました。

こうした幾何光学は屈折や反射の法則を知っていますが、一方でなぜ屈折や反射が起きるのかという問いに対する回答を持ちません。その疑問に答えるために生まれたのが光の波動説を基礎とする波動光学です。「ホイヘンスの原理」を始めとする光を波動と捉える波動光学は反射、屈折が起きる理由を根本的に説明することができ、光学の1大分野として考えられるようになっていきました。

こうして生まれた2つの分野ですが、先述の通り各々の理論の仮定は相反するものであり、光の正体がわかるまで「光は粒子だ!」「光は波動だ!」といった具合に様々な物理学者は派閥に分かれていました。

19世紀にはいるとヤングの2重スリット実験における干渉模様や偏光の発見など光が波動でないと説明がつかない現象が発見されました。そして、19世紀後半になるとマクスウェルによる電磁波の発見やそれに続く実験によって、遂に光の正体は「電磁波」と呼ばれる波動であること確かめられて、光の正体に対する議論に終止符を打ちました。

この後もまだまだ色々あって「量子」という概念が生まれて量子力学とかに繋がっていくのですが、とりあえず古典物理上では光は少なくとも電磁波という波であると言えます。

幾何光学

幾何光学は「光線の直進性」「反射の法則」「屈折の法則」「光線の逆進性」「光の独立性」という5つの経験的法則に基づいて構築されています。それぞれもう少し詳しく書くと

  • 「光線の直進性」:均等かつ等方的な物質では光線は直進する
  • 「反射の法則」:異なる媒質に入射した光は境界面に対して入射角と反射角が等しい方向に反射を行う。(残りの光は屈折する)
  • 「屈折の法則」:異なる媒質に入射した光はsinと屈折率によって表現される式の関係にある屈折角方向へと屈折する。
  • 「光線の逆進性」:ある経路をたどる光線に対してその逆に戻る経路を辿る光線が存在し得る。
  • 「光線の独立性」:それぞれの光線は交差したり平行したりしてもお互いに影響を及ぼさず、独立性を持つ。

という法則です。1~3の法則については言うまでもないですね。4について、例えば光がある経路を辿ってAからBまで行ったなら、逆にBからAを辿って光を逆算することが可能であるということを示しています。まさにパストレの根拠ともいえるような重要な法則です。また、5も重要な法則です。現実の光というのはそれこそ何万、何億の光子が飛び出ててそれぞれめちゃくちゃ色々反射して空間内を飛び回っているはずです。ですが、それぞれの光はとても小さく、光がいくら飛び回ろうが他の光子に何かしらの影響を与えることはありません。レイトレで各レイを独立に計算してもいいのはここからきているわけですね。

これらの法則はたった1つのフェルマーの原理と呼ばれる原理によってまとめることが出来ます。このフェルマーの原理

「光はその光路長が極値となるような経路を通る」

というものです。光路長 Lというのは幾何的な距離 dに対してその空間の屈折率 nを掛けたもので、実質的な光の距離という意味合いを持つ物理量です。

こう言われてもなかなかよく分からないと思いますので、例として同じ媒質内にある点Aから点Bに行く光を考えてみましょう。AからBに向かう経路はいくらでも曲げたりしていいなら無数に存在しますが、答えとしては光の直進性よりAからBを直線で結んだ経路が出てほしいわけです。

フェルマーの原理はこうした無数にある経路の中にある中から実際の光の経路として存在しうるのは光路長が極値になるものだけということを示しています。例えば極値と言えば最小値がありますが、光路長が最小値になるような経路というのは幾何的に考えればAとBを結ぶ直線であることが分かります。つまり、光はAからBに直線的に進むはずということが分かります。

経路の候補

他の極値について考えると、光路長を大きくするには経路を曲げていけばいくらでも大きくできることが考えられるため、屈折率が同じ空間において光は直進する以外の経路が存在しない光の直進性がフェルマーの原理から求めることが出来ました。

反射の法則についても求めてみましょう。任意の境界面が存在するとして、Aから境界面の点Pで反射しBに行くような経路について考えてみます。点A,点Bの位置を r_A,r_B、境界面上の位置を rと表すとこのような経路における光路長 Lは以下の様に表すことが出来ます。


 \displaystyle{ 
 L = n(|r - r_A| + |r_B - r|)
}
\tag{1.1}


反射の経路

この光路長 L極値になる、つまり微分した値が0となるような rを探ってみましょう。境界面上で微小に \delta r = (\delta x, \delta y, \delta z)だけ動いた時、


 \displaystyle{ 
 (\vec{r} - r_A)^2 = |\vec{r} - \vec{r_A}|^2
}
\tag{1.2}


という関係から、微小量同士の関係として


 \displaystyle{ 
 2(\vec{r} - r_A) \delta \vec{r} = 2|\vec{r} - \vec{r_A}| \delta |\vec{r} - \vec{r_A}|
}
\tag{1.3}


という式が得られます。

従って、 rが微小に動いた時のAP間、PB間の距離の変化量というのは以下の様に書くことが出来ます。


 \displaystyle{ 
\delta AP = \delta |\vec{r} - \vec{r_A}| = \frac{(\vec{r} - \vec{r_A}) \cdot \delta \vec{r}}{|\vec{r}-\vec{r_A}|} = \vec{e_1} \cdot \delta \vec{r}
}
\tag{1.4}



 \displaystyle{ 
\delta PB = \delta |\vec{r_B} - \vec{r}| = - \frac{(\vec{r_B} - \vec{r}) \cdot \delta \vec{r}}{|\vec{r_B}-\vec{r}|} = - \vec{e_2} \cdot \delta \vec{r}
}
\tag{1.5}


ここで e_1 e_2は入射方向、出射方向ベクトルを表しています。このことから、極値を取る条件は以下の様に表されます。


 \displaystyle{ 
\delta AP + \delta PB = \vec{e_1} \cdot \delta \vec{r} - \vec{e_2} \cdot \delta \vec{r}  = 0
}
 \displaystyle{ 
(\vec{e_1}  - \vec{e_2} )\delta \vec{r}  = 0
}
\tag{1.7}


これはつまり、境界面の接線方向 \delta rに対して e_1 - e_2が垂直となるような点r極値となることを示しています。この時、e_1,e_2と法線との角度は等しいという関係が得られ、反射の法則が導出されていることが分かります。

フェルマーの原理を満たす方向ベクトル

屈折については長くなるので省略しますが、同様に光路長の極値の条件がそのまま屈折の法則となることが証明できます。光線の逆進性についてはABの経路を逆から辿ったとしても光路長は変化しないため、極値の条件は全く変わらないことから成立しますし、独立性については光路長に他の光線の影響がないことから成立します*1

以上の議論によって先ほど述べた5つの幾何光学の基本法則はたった1つのフェルマーの原理によって表現することができるわけです。

幾何光学というのはフェルマーの原理の上で成り立っていることが分かりましたが、これは逆を返せばフェルマーの原理と等価な式さえ求められればそれは幾何光学であるということが出来ます。今回の目的である「波動光学の近似が幾何光学になることの証明」をどのようにやればいいかというと、波動光学の基本法則の近似がフェルマーの原理と同等の式を導出できることを示せばよいわけです。今回の記事ではお互いの橋立となる方程式にフェルマーの原理と同等のアイコナール方程式を採用し、波動光学がこのアイコナール方程式を導けるような近似を見つけていくという形で証明を進めていきます。

フェルマーの原理の数式化

アイコナール方程式の説明に入る前に、先ほどフェルマーの原理を言葉で説明してきましたが、理論的に議論できるように数式として表現していきます。AからBまでの任意の光路長Lはその経路の曲線 \Lambdaの線積分として以下の様に表現することとします。


 \displaystyle{ 
 L(\Lambda) = \int_\Lambda n(\vec{r}) d\Lambda = \int_\Lambda n(\vec{r}) \sqrt{ dx^2 + dy^2 + dz^2}
}
\tag{2.1}


ここでは空間の媒質が一様ではなく至る所で屈折率 nが変化してもいいということを考えており、点 rにおける屈折率を[tex; n(r)]としています。

ここで計算を一つのパラメーターにまとめるため、経路の長さを表す sという量を用いて、曲線を \Lambda : r = r(s), 点A,Bを r(a),r(b)と表すこととします( a \leqq s \leqq b)。この時、 \vec{r(s)} = (x(s),y(s),z(s))とパラメトライズされるため、先ほどの積分は以下の様に書くことが出来ます。(ドットはsの微分を表します)


 \displaystyle{ 
 L(\Lambda) = \int_a^b n(\vec{r}) \sqrt{ \frac{dx}{ds}^2 + \frac{dy}{ds}^2 + \frac{dz}{ds}^2} ds = \int_a^b n(\vec{r}) |\dot{\vec{r}}| ds
}
\tag{2.2}


フェルマーの原理は様々ある経路の内、この式の値が極値になるような経路(曲線)が光の経路となることを述べています。つまり、極値となる曲線が満たす方程式がフェルマーの原理を数学的に表現したものになるわけです。

このような極値を満たす曲線を探す問題は解析力学で用いられている変分法と呼ばれる方法で求めることが出来ます。ある曲線 \Lambda極値になるということはほんの微小に\Lambdaの曲線をずらしてみた時、その微小な光路長 \Delta Lは0になることを表しています。変分法はこの考えを基に、微小にずらした曲線 \Lambda_dを用意し、その曲線の積分値との差分が0になるような条件を計算から求めるという形で、解となる曲線が満たすべき方程式を導出します。解析力学の文脈では積分対象となる関数のことをラグラジアンと呼び、今回の問題ではラグラジアン \tilde{L}


 \displaystyle{ 
 \tilde{L}(\vec{r},\dot{\vec{r}}) = n(\vec{r}) |\dot{\vec{r}}|
}
\tag{2.3}


に相当します。

では、曲線 \Lambda: \vec{r} = \vec{r(s)}に対して微小に\vec{\delta r(s)}だけずらした曲線 \Lambda^{*}: \vec{r} = \vec{r(s)} + \vec{\delta r(s)}を考え、 \Lambda上の点 Aから Bまでの積分 \Lambda^{*}上の点 A^{*}から B^{*}までの積分の差(光路長差)求める問題を考えましょう。

ここでの A^{*} B^{*}はそれぞれの点 A, Bの近くの点として


 \displaystyle{ 
A^{*} : r(a + \Delta a) + \delta r(a + \Delta a) \\
B^{*} : r(b + \Delta b) + \delta r(b + \Delta b) \\
}


と定義することとします。 \Delta a, \Delta bは微小な変位量を示しています。ちょっと分かりづらい感じがありますが、こんなことをしている理由は経路となる曲線だけでなく、始点と終点もちょっとだけ変えた状況を考えたいためです。 \Lambda上の Aに対応する \Lambda^{*}の点は存在しますが、ここではそこから \Delta aだけ進んだ点 A^{*}を開始位置にすることでこれを表現しているわけです。なので、ここではかなり一般的な経路の微小変化について調べていることに注意してください。

微小変化させた曲線

この2つの経路における光路長の差は式的に表すと以下の様になります。


 \displaystyle{ 
\Delta J = \int_{a + \Delta a}^{b + \Delta b} \tilde{L}(\vec{r}(s) + \delta \vec{r}(s), \dot{\vec{r}}(s)+ \delta \dot{\vec{r}}(s)) ds - \int_{a}^b \tilde{L}(\vec{r}(s), \dot{\vec{r}}(s)) ds
}
\tag{2.4}


これを積分の範囲で分解して変形すれば次のように表すことが出来ます。


 \displaystyle{ 
\Delta J = \int_{b}^{b + \Delta b} \tilde{L}(\vec{r}(s) + \delta \vec{r}(s), \dot{\vec{r}}(s)+ \delta \dot{\vec{r}}(s)) ds - \int_{a}^{a + \Delta a} \tilde{L}(\vec{r}(s) + \delta \vec{r}(s), \dot{\vec{r}}(s)+ \delta \dot{\vec{r}}(s)) ds  \\
+ \int_{a}^b \tilde{L}(\vec{r}(s) + \delta \vec{r}(s), \dot{\vec{r}}(s)+ \delta \dot{\vec{r}}(s)) - \tilde{L}(\vec{r}(s), \dot{\vec{r}}(s)) ds
}
\tag{2.5}


各変分量は微小と考えると1次の微小量まで考えて取ると、第一項については bから \Delta b + bまでの僅かな距離における光路長を示していることから \tilde{L}(\vec{r}(b), \dot{\vec{r}}(b)) \Delta b)として書くことができ、第二項についても同様に書くことが出来ます。第三項については2変数のテイラー展開で1次の微小量と併せて、(長いため、 \tilde{L}(\vec{r}(s), \dot{\vec{r}}(s)) \tilde{L}と省略)


 \displaystyle{ 
 \tilde{L}(\vec{r}(s) + \delta \vec{r}(s), \dot{\vec{r}}(s)+ \delta \dot{\vec{r}}(s)) = L + \frac{\partial \tilde{L}}{\partial \vec{r}} \cdot \delta \vec{r} + \frac{\partial \tilde{L}}{\partial \dot{\vec{r}}} \cdot \delta \dot{\vec{r}} 
}
\tag{2.6}


以上の関係から(2.5)式は以下の様に書き下せます。


 \displaystyle{ 
\Delta J = \tilde{L}(\vec{r}(b), \dot{\vec{r}}(b)) \Delta b - \tilde{L}(\vec{r}(a), \dot{\vec{r}}(a)) \Delta a 
+ \int_a^b ( \frac{\partial \tilde{L}}{\partial \vec{r}} \cdot \delta \vec{r} + \frac{\partial \tilde{L}}{\partial \dot{\vec{r}}} \cdot \delta \dot{\vec{r}} ) ds
}
\tag{2.5}


ここで、以下のような変形を用います。


 \displaystyle{ 
\frac{\partial \tilde{L}}{\partial \dot{\vec{r}}} \cdot \delta \dot{\vec{r}} = \frac{\partial }{\partial s}(\frac{\partial \tilde{L}}{\partial \dot{\vec{r}}} \cdot \delta \vec{r}) - \frac{ \partial}{\partial s} (\frac{\partial \tilde{L}}{\partial \dot{\vec{r}}}) \cdot \delta \vec{r}
}
\tag{2.6}


これを使って部分積分した上でまとめると


 \displaystyle{ 
\Delta J = \lbrack \tilde{L}(\vec{r}(s), \dot{\vec{r}}(s)) \Delta s \rbrack_{s=a}^{s=b}+ \int_a^b (\frac{\partial }{\partial s}(\frac{\partial \tilde{L}}{\partial \dot{\vec{r}}} \cdot \delta \vec{r}) - \frac{ \partial}{\partial s} (\frac{\partial \tilde{L}}{\partial \dot{\vec{r}}}) \cdot \delta \vec{r} + \frac{\partial \tilde{L}}{\partial \vec{r}} \cdot \delta \vec{r}) ds \\

\Delta J = \lbrack \tilde{L}(\vec{r}(s), \dot{\vec{r}}(s)) \Delta s + \frac{\partial \tilde{L}}{\partial \dot{\vec{r}}} \cdot \delta \vec{r})  \rbrack_{s=a}^{s=b} - \int_a^b \lbrack \lbrace \frac{ \partial}{\partial s} (\frac{\partial \tilde{L}}{\partial \dot{\vec{r}}}) - \frac{\partial \tilde{L}}{\partial \vec{r}} \rbrace \cdot \delta \vec{r} \rbrack ds \tag{2.7} 

}


ここで点 Aから A^*の変位 \Delta \vec{r}(a)について、変分量は


 \displaystyle{ 
\Delta \vec{r} (a) = \vec{r}(a + \Delta a) + \delta \vec{r}(a + \Delta a) - \vec{r}(a) = \delta \vec{r}(a) + \dot{\vec{r}}(a) \Delta a 
}


と書くことが出来ます。ここでは\delta \vec{r}は極微小と考えて、 \dot{\delta \vec{r}}は0になり \delta \vec{r}(a + \Delta a) = \delta \vec{r}(a)となるとして計算しています。これはほかの場所でも同様なので、ここで \delta \vec{r} = \Delta \vec{r} - \dot{\vec{r}} \Delta sを用いて端点の変位を書き換えると


 \displaystyle{ 
\Delta J = \lbrack (\tilde{L} - \dot{\vec{r}} \cdot \frac{\partial \tilde{L}}{\partial \dot{\vec{r}}}) \Delta s + \frac{\partial \tilde{L}}{\partial \dot{\vec{r}}} \cdot \Delta \vec{r} \rbrack_{s=a}^{s=b} - \int_a^b \lbrack \lbrace \frac{ \partial}{\partial s} (\frac{\partial \tilde{L}}{\partial \dot{\vec{r}}}) - \frac{\partial \tilde{L}}{\partial \vec{r}} \rbrace \cdot \delta \vec{r} \rbrack ds \tag{2.8} 
}


というようになります。ラグラジアン \tilde{L} = n(\vec{r}) \sqrt{\dot{x}^2 + \dot{y}^2 + \dot{z}^2}であることから、以下のような恒等式が成り立ちます。


 \displaystyle{ 
\tilde{L} - \dot{\vec{r}} \cdot \frac{\partial \tilde{L}}{\partial \dot{\vec{r}}} = \tilde{L} - \dot{\vec{r}} \cdot \frac{n(\vec{r})}{\sqrt{\dot{x}^2 + \dot{y}^2 + \dot{z}^2}} (\dot{x},\dot{y},\dot{z}) = 0 \tag{2.9} 
}


また、さらにラグラジアン微分について以下のような分解ができる。


 \displaystyle{ 
\frac{\tilde{L}}{ds} = \frac{\partial \tilde{L}}{\partial \vec{r}} \cdot \dot{\vec{r}} + \frac{\partial \tilde{L}}{\partial \dot{\vec{r}}} \cdot \frac{\partial \dot{\vec{r}} }{ds} = \frac{\partial \tilde{L}}{\partial \vec{r}} \cdot \dot{\vec{r}} + \frac{d}{ds} (\frac{\partial \tilde{L} }{\partial \dot{\vec{r}}} \cdot \dot{\vec{r}}) - \frac{d}{ds} (\frac{\partial \tilde{L}}{\partial \dot{\vec{r}} } ) \cdot \dot{\vec{r}}
}
\tag{2.10}


これら2つの式を用いると以下のような式が成り立ちます。


 \displaystyle{ 
\lbrace \frac{d}{ds} (\frac{\partial \tilde{L}}{\partial \dot{\vec{r}}} - \frac{\partial \tilde{L}}{\partial \vec{r}}) \rbrace \cdot \dot{\vec{r}} =  \frac{d}{ds}(\frac{\partial \tilde{L}}{\partial \dot{\vec{r}} } - \tilde{L}) = 0 
}
\tag{2.11}



 \displaystyle{ 
\lbrace \frac{d}{ds} (\frac{\partial \tilde{L}}{\partial \dot{\vec{r}}}) - \frac{\partial \tilde{L}}{\partial \vec{r}} \rbrace \cdot \delta \vec{r} = \lbrace \frac{d}{ds} (\frac{\partial \tilde{L}}{\partial \dot{\vec{r}}}) - \frac{\partial \tilde{L}}{\partial \vec{r}} \rbrace \cdot (\Delta \vec{r} - \dot{\vec{r}} \Delta s) = \lbrace \frac{d}{ds} (\frac{\partial \tilde{L}}{\partial \dot{\vec{r}}}) - \frac{\partial \tilde{L}}{\partial \vec{r}} \rbrace \cdot \Delta \vec{r}
}
\tag{2.12}


(2.9)を第一項目、(2.12)を第二項目の積分関数に代入すると光路長差について以下の式が求められます。


 \displaystyle{ 
\Delta J = \lbrack \frac{\partial \tilde{L}}{\partial \dot{\vec{r}}} \cdot \Delta \vec{r} \rbrack_{s=a}^{s=b} - \int_a^b \lbrack \lbrace \frac{ \partial}{\partial s} (\frac{\partial \tilde{L}}{\partial \dot{\vec{r}}}) - \frac{\partial \tilde{L}}{\partial \vec{r}} \rbrace \cdot \Delta \vec{r} \rbrack ds
}
\tag{2.13}


この式は変分法の基本公式と呼ばれる式です。これが0になるような曲線が答えとなる経路であると言えるわけです。

後々で使うのである曲線を端点も含め微小に動かすというかなり一般的な状況を考えてきましたが、もう少し条件を付けて点A,点Bを固定した状況においての極値条件を求めてみましょう。

点A,Bを固定ということは A = A^*, B = B^*であり、端点における変位は \Delta a = 0, \Delta b = 0となります。このような条件での変分法固定端変分と言います。これら条件を用いると変分法の基本公式(2.13)の第一項は消え、積分部分だけが残ります。


 \displaystyle{ 
\Delta J =  - \int_a^b \lbrack \lbrace \frac{ \partial}{\partial s} (\frac{\partial \tilde{L}}{\partial \dot{\vec{r}}}) - \frac{\partial \tilde{L}}{\partial \vec{r}} \rbrace \cdot \Delta \vec{r} \rbrack ds
}
\tag{2.14}


これが0になるような積分というのは被積分関数が曲線の上で常に0であればこれは成り立つため、ここから


 \displaystyle{ 
\frac{ \partial}{\partial s} (\frac{\partial \tilde{L}}{\partial \dot{\vec{r}}}) - \frac{\partial \tilde{L}}{\partial \vec{r}} = 0
}
\tag{2.15}


という微分方程式を求めることが出来ます。これが極値曲線が満たすべき微分方程式であり、解析力学の分野でオイラーラグランジュ方程式と呼ばれるものです。オイラーラグランジュ方程式が「点Aから点Bに行く光の経路を求める問題」に対する解であり、かなり長くなってしまいましたが、ようやくフェルマーの原理を数式にしたものを得ることが出来ました。

アイコナール方程式

フェルマーの原理はあくまで光の経路が満たすべき条件を示しているだけであり、実際どのように光が動いているのかという光の伝播を直接的に表してはいません。今回の目的は波動光学の近似による光の挙動が幾何光学に一致することを調べたい以上、光の挙動を式として表す必要があります。そこで出てくるのがアイコナール方程式であり、これは光の挙動を1つの式として表現したものになります。ここではフェルマーの原理から出発して、目的のアイコナール方程式の証明まで説明していきます。

今までは1つの光線だけに注目して話を進めてきましたが、現実では光源から幾万、幾億という膨大な数の光が放たれており、私たちが見るような光は大量の光線の集まりであるわけです。なので、光線の集まりに対する全体的な性質というのを調べていく必要があります。

ある光源から放たれた光たちは同じスピードで各々進んでいくわけですが、同時刻における光の位置を集めると全て同じ光路長を持つ曲面を考えることが出来ます。ここではこの面を等光路長面と呼ぶこととして、光の伝播というのは全体的に見ればこの等光路長面が広がっていくこととして解釈することが出来ます。等光路長面が各光線に対して常にどのような関係を持っているかというのをフェルマーの原理から求めていきます。

同じ光源面 S_1の点tex:A, A^*から放たれた光が反射や屈折など何度か光が曲がって、最終的に等光路長面 S_2B, B^*に達するという状況を考えます。この2つの光の光路長差は同じ等光路長面に当たっていることからこの差は0になります。

同じ等光路長面に当たる光

この状況は前節の一般的な変分法と同じ状況であり、この2つの光の光路長差は変分法の基本公式(2.13)によって AA^*間の変位と BB^*の変位、そして積分によって表現することが出来ます。


 \displaystyle{ 
\lbrack \frac{\partial \tilde{L}}{\partial \dot{\vec{r}}} \cdot \Delta \vec{r} \rbrack_{s=a}^{s=b} - \int_a^b \lbrack \lbrace \frac{ \partial}{\partial s} (\frac{\partial \tilde{L}}{\partial \dot{\vec{r}}}) - \frac{\partial \tilde{L}}{\partial \vec{r}} \rbrace \cdot \Delta \vec{r} \rbrack ds = 0
}
\tag{3.1}


ここで、積分の部分はこの光たちはフェルマーの原理に従って放たれた光である以上、オイラーラグランジュ方程式によって積分項は0になります*2。また、第一項目における \tilde{L} \dot{\vec{r}}微分について計算すると


 \displaystyle{ 
\frac{\partial \tilde{L} }{ \partial \dot{\vec{r}} } = n(\vec{r}) \frac{\partial \sqrt{\dot{x}^2 +\dot{y}^2 + \dot{z}^2}}{\partial (\dot{x}, \dot{y}, \dot{z}) } = n(\vec{r}) \frac{\dot{\vec{r}} } {\sqrt{\dot{x}^2 +\dot{y}^2 + \dot{z}^2}} =  n(\vec{r}) \frac{ \frac{d \vec{r}}{ds} } {|\frac{d \vec{r}}{ds}|} = n(\vec{r}) \vec{e_t}
}\tag{3.2}


というように経路の接線、つまり光線の方向 \vec{e_t}によって表すことが出来ます。これらをまとめると以下のような式を求めることが出来ます。(言い忘れてましたが \vec{r} \dot{\vec{r}}は独立変数として扱っています。なぜこんなことしていいのかは解析力学を調べてください)


 \displaystyle{ 
n(\vec{r(b)}) \vec{e_t(b)} \cdot \Delta b - n(\vec{r(a)}) \vec{e_t(a)} \cdot \Delta a= 0
}\tag{3.3}


 AA^*の変位 \vec{r_A} BB^*の変位 \vec{r_B}は等光路長面 S_1,S_2上の微小な変化であることから、この変位ベクトルは S_1,S_2の接ベクトルになっていることが言えます。そして上記の式から、光線の方向 \vec{e_t}は等光路長面の接ベクトル \Delta \vec{r}と直交することが得られます。


 \displaystyle{ 
\vec{e_t} \cdot \Delta \vec{r} = 0
}\tag{3.4}


以上の議論の結論はどれだけ反射や屈折などがあったとしても光線は等光路長面に対して常に直交することを示しています。この法則はマリュス=デュパンの定理と言います。

光線ベクトルは常に等光路長面に直行する

こうして光線と等光路長面の関係が得られましたが、これを光路長 Lによって表現してみましょう。ある地点 \vec{r_0}からある地点 \vec{r}まで進んだ光線の光路長を L(\vec{r_0},\vec{r})と書くことが出来ます。始点を固定して今後は \vec{r}の関数として L(\vec{r})と省略します。等光路長面は当然ですが名前の通り光路長が等しい点の集まりであるため、数式的には L(\vec{r}) = Const.と表すことができます。このことから光路長 Lの勾配 \nabla L(\vec{r}) は等光路長面に垂直であり、光線の方向 \vec{e_t}と平行の関係にあることが求められます。

光線にそって微小に \delta \vec{r} = \vec{e_t} \delta sだけ動かした時の光路長の変化は単に屈折率 n(\vec{r})と動いた距離 \delta sで表すことができます。従って、 \nabla L \cdot \delta \vec{r} = |\nabla L| \delta = n(\vec{r}) \delta sという関係から |\nabla L(\vec{r})| = n(\vec{r})が成り立ちます。なので光路長の勾配と光線の方向には以下の関係が求められます。


 \displaystyle{ 
\nabla L(\vec{r}) =  n(\vec{r}) \vec{e_t}
}\tag{3.5}


ちょっと分かりずらいので \vec{e_t} = (t_x, t_y, t_z)として、成分表示して書くと


 \displaystyle{ 
(\frac{\partial L}{\partial x},\frac{\partial L}{\partial y},\frac{\partial L}{\partial z}) = (n t_x, n t_y , n_z)
}\tag{3.6}


という形になります。ここでちょっと Lラプラシアン \nabla^{2} Lについて求めてみると


 \displaystyle{ 
\nabla^2 L = (\frac{\partial L}{\partial x})^2 + (\frac{\partial L}{\partial y})^2 + (\frac{\partial L}{\partial z})^2 = n^2 t_x^2 + n^2 t_y^2 + n^2 t_z^2 = n^2
}\tag{3.7}


と求めることが出来ます。


 \displaystyle{ 
\nabla^2 L(\vec{r}) = n(\vec{r})^2
}\tag{3.8}


この式は光路長が満たすべき条件であり、かなり長い道のりになりましたがこれがアイコナール方程式と呼ばれる方程式です。

等光路長面と勾配

ぱっと見ではアイコナール方程式は何を表しているかはちょっとわかりづらいところはありますが、等光路長面と光線の関係から導いている以上これは等光路長面という光全体を表すものの動きについてを表す式であるわけです。従って、波動光学の近似がこのアイコナール方程式を導くことが出来れば、その光の動きは幾何光学と同じであることを証明することが出来ます。

波動光学

波動光学は幾何光学とは対照的に光を波動として取り扱う分野です。幾何光学はフェルマーの原理によって構成されていることを説明しましたが、一方で波動光学は何を原理として扱っているのでしょうか?

先述の通り、光の正体は電磁波と呼ばれる波動であることが確かめられており、波動光学の物理学的な基礎はこの電磁波によって構成されています。更に電磁波について辿ると、そもそもは電気や磁力を調べる電磁気学において生まれたものであり、電磁気学の基本方程式であるMaxwell方程式の帰結として示されます。従って、波動光学の原理はMaxwell方程式であると考えられます。

突然に電磁気学Maxwell方程式だの新しい話が出てきましたが、詳しく話してしまうと中々に長くなってしまうのでここではあんまり説明しないこととします(別記事を書くかも)。

電磁気学では電気の力、磁気の力をそれぞれベクトル場として表現した電場,磁場というものを取り扱っており、Maxwell方程式と呼ばれる4つの関係式を基本法則としています。電場 \vec{E}(\vec{r},t)、磁場 \vec{H}(\vec{r},t)に対して、物体の電気力、磁力の通りやすさを示す誘電率 \epsilon,透磁率 \muを用いて物質方程式と呼ばれる関係式にて定義される次の物理量を電束密度 \vec{D}(\vec{r},t)と磁束密度 \vec{B}(\vec{r},t)と呼びます。

ちょっとややこしい感じがありますが、ガラスなどの物質中の電磁気を考えるうえで便利なのでこのような物理量が作られています*3

電磁気学の基本方程式であるMaxwell方程式は電場、磁場、電束密度、磁束密度が常に満たす4つの関係式であり、それらは


 \displaystyle{ 
\nabla \cdot \vec{D}( \vec{r}, t)  = \rho (\vec{r},t) \tag{第1式} \\
}  \displaystyle{ 
\nabla \cdot \vec{B} \rm{} (\vec{r}, t)   = 0 \tag{第2式} \\
}  \displaystyle{ 
\nabla \times \vec{E} \rm{}  ( \vec{r} , t) = - \frac{\partial \vec{B} ( \vec{r}, t) }{\partial t} \tag{第3式} \\
}  \displaystyle{ 
\nabla \times \vec{H} ( \vec{r}, t)  = \vec{j} ( \vec{r}, t) + \frac{ \partial \vec{D} ( \vec{r}, t) }{\partial t} \tag{第4式} \\
}


と書くことが出来ます。 \rhoについては電気力を発生させる電荷の密度、 jは電流の密度を表す物理量です(今回の話ではあまり関わらないです)。

波動

まずは簡単に波動というものの説明をしていこうと思います。

物体の一部分を揺らしてあげると、一般的にそれにつながった別の部分に振動が伝わっていきます。このような1つの部分の動きが他の場所に伝わっていく現象のことを波動または単にと呼びます(音波、電磁波、水面の波 etc.)。

このため、波動の本質としては「物体の動き」であり、波動は元居た位置から移動した量である変位によって表現することが出来ます。最も簡単な波としては波の変位 \Phi(x) sinによって表されるsin波があります。図として表示するとこのような形です。

sin波

波において出っ張っている部分は、凹んでいる部分はと呼びます。この時、山の高さ、谷の深さのことを振幅と呼びます。また、山から谷になってもとに戻るまでの1周期にかかる距離を波長と言い、その波がどれだけ速く振動しているかを示しています。

このsin波は xの点と波長\lambdaだけ進んだ点 x + \lambdaは一緒になってほしいので式として表すと以下の様に変位を書くことが出来ます。Aは振幅を表しています。


 \displaystyle{ 
\Phi(x) = A \sin(2 \pi \frac{x}{\lambda})
}\tag{4.1}


こうして単純なsin波について書くことが出来ました。 sinのカッコ内の値は位相と呼ばれる量でこの点が波におけるどこの状態なのかを示すものとして表されます。

水面に石を投げたら、それによって生じる波はどんどん広がって進行していくことが想像できると思います。このような広がっていく波は行波と呼ばれ、波の進行の速度は位相速度と呼びます。先ほどのsin波を位相速度 vで進行する波として表すときは t = 0, x = 0の時の変位が t = 1では x = vのところに移動してほしいので、以下の様に表すことが出来ます。


 \displaystyle{ 
\Phi(x,t) = A \sin \lbrace 2 \pi \frac{1}{\lambda}(x - v t)\rbrace
}\tag{4.2}


こうして進行波の波を表すことが出来ました。いちいち 2 \piとかを付けるのも大変なので 2 \piを含めた波数 k = 2 \pi / \lambda角速度 \omega = 2 \pi v / \lambdaを用いて書かれる場合もあります。また、ここでは原点で0になる波を考えていましたが、任意の波を表せるように原点からのずれを表す位相差 \phiという定数を用いることで、一般のsin波は以下の様に表記することが出来ます。


 \displaystyle{ 
\Phi(x,t) = A \sin( k x - \omega t + \phi)
}\tag{4.3}


このような波を表す関数 \Phi(x,t)波動関数と呼ばれます。1次元の進行波はこのようなsin波で書くことができるのですが、物理学では進行波 \sinではなく複素数によって表記することが多いです。


 \displaystyle{ 
\Phi(x,t) = A e^{i(k x - \omega t + \phi)} = A(\cos (k x - \omega t + \phi) + i \sin (k x - \omega t + \phi))
}\tag{4.5}


「え?全然式合わなくない?」「そもそも複素数の波って何?」と色々疑問がわくと思いますが、これはあくまで計算を楽にするために導入されたものでしかありません。この表現における実部が実際の波を表しており、虚部は物理的には何も意味していません*4。なので、複素数で色々計算した後に最終的には実部を取ってくることで実際の波がわかるというわけです。

これが効果を発揮するのは位相がずれた波の計算であり、例えば


 \displaystyle{ 
sin(kx) + sin(kx + \phi)
}\tag{4.6}


と位相がずれた波同士の足し算を考えると、これは一見しただけではちょっと性質が分かりづらいし、加法定理で分解してうんぬんと計算も面倒です。ですが、複素数では指数関数の計算のしやすさからぱっぱと分解して性質を分かりやすく見ることが出来ます。


 \displaystyle{ 
e^{ikx} + e^{i(kx + \phi)} = e^{ikx} (1 + e^{i \phi})
}\tag{4.7}


この結果の実部はsinでやった場合と同じ結果が出てきており、複素数を使うと何かと波動の計算が便利なので物理学だと複素数表示が用いられているというわけです。

今までは1次元の波動について述べてきましたが、一般的な進行波波動方程式と呼ばれる基本方程式によって表されます。


 \displaystyle{ 
\nabla^2 \Phi(\vec{r},t) =\frac{1}{v^2} \frac{\partial^2}{\partial t^2} \Phi(\vec{r},t)
}\tag{4.8}


その解である一般的な進行波というのは以下の様に表されます。


 \displaystyle{ 
\Phi(\vec{r},t) = A \exp \lbrace i (\vec{k} \cdot \vec{r} - \omega t) \rbrace
}\tag{4.9}


ここで用いられている \vec{k}とは波数ベクトルと言い、波の進行方向を \vec{e_t}と表現すると (2 \pi / \lambda) \vec{e_t}で表現される量です。

波動方程式波動関数が満たすべき条件であるため、逆に考えればある関数が波動方程式の形で書かれた場合、これはその関数が波であることを意味します。ある条件下でMaxwell方程式を求めてみると、この波動方程式が最終的に出てきたことから電磁波という波動が存在していることが証明されました。次節では簡単にMaxwell方程式から波動方程式を導出して、電磁波の証明をしてみようと思います。

電磁波の導出

今考える空間は真空と仮定し、一切の電荷、磁荷が存在しないことにします。このような条件下では元となる電荷が存在しないので電荷密度\rhoも電流密度j\rho = j = 0が成立します。この時のMaxwell方程式は以下の様に表されます。


 \displaystyle{ 
\nabla \cdot \vec{D} (\vec{ r} , t)  = 0 \tag{5.1} \\
}  \displaystyle{ 
\nabla \cdot \vec{B} \rm{} ( \vec{ r}, t)  = 0 \tag{5.2} \\
}  \displaystyle{ 
\nabla \times \vec{E}   ( \vec{r} , t) = - \frac{\partial \vec{B}(\vec{r}, t)}{\partial t} \tag{5.3} \\
}  \displaystyle{ 
\nabla \times \vec{H} ( \vec{r} \rm{}, t)  = \frac{ \partial \vec{D} ( \vec{r}, t) }{\partial t} \tag{5.4} \\
}


また、電場と電束密度、磁場と磁束密度には真空の誘電率\epsilon_0\mu_0によって以下の関係にあります(物体方程式)。


 \displaystyle{ 
\vec{D} \rm{} = \epsilon_0 \vec{E} \rm{} \tag{5.5} \\
}  \displaystyle{ 
\vec{B} \rm{} = \mu_0 \vec{H} \rm{} \tag{5.6} \\
}


ここで、式(3.3)式について両辺にrotを掛けた式を考えます。


 \displaystyle{ 
\nabla \times (\nabla \times \vec{E} \rm{}  ( \vec{r} \rm{}, t)) = - \nabla \times ( \frac{\partial \vec{B} ( \vec{r}, t)}{\partial t}) \tag{5.7} \\
}


ここで以下の公式を用います。これは任意のベクトル場 \vec{A}に2度rotを掛けたものは勾配 grad 発散divとラプラシアンで表現できるという数学的な公式です。純粋に数学としての公式なのでどんなベクトル場でも使うことが出来ます。


 \displaystyle{ 
\nabla \times (\nabla \times A) = \nabla (\nabla \cdot A) - \nabla^2 A \tag{5.8} \\
}


この公式を左辺に代入し、また右辺は多変数の二回微分については微分の順序を入れ替えていいため、代入すると以下の様に書くことが出来ます。


 \displaystyle{ 
\nabla (\nabla \cdot \vec{E}   ( \vec{r} \rm{}, t) ) - \nabla^2 \vec{E} \rm{}  ( \vec{r} \rm{}, t)   = -  \frac{\partial  }{\partial t} (\nabla \times \vec{B} ( \vec{r}, t) \rm{} )  \\
}


ここで式(5.5),(5.6)を用いると電場 Eが磁束密度 Dに、磁束密度 Bが磁場 Hに変換できるので、以下の様に書くことが出来ます。


 \displaystyle{ 
\frac{1}{\epsilon_0} \nabla (\nabla \cdot \vec{D} ( \vec{r} \rm{}, t) ) - \nabla^2 \vec{E} ( \vec{r}, t)   = -  \mu_0  \frac{\partial  }{\partial t} (\nabla \times \vec{H} ( \vec{r}, t) \rm{} )  
\tag{5.9} \\
}


この式とMaxwell方程式を見比べてみれば、左辺の第一項目に(5.1)、右辺の項には(5.4)が代入できそうな場所があります。これらを代入してみると、


 \displaystyle{ 
\frac{1}{\epsilon_0} \nabla (\nabla \cdot \vec{D} ( \vec{r} \rm{}, t) ) - \nabla^2 \vec{E} \rm{}  ( \vec{r} \rm{}, t)   = -  \mu_0  \frac{\partial  }{\partial t} (\nabla \times \vec{H} ( \vec{r} \rm{}, t) \rm{} )  
\\

\frac{1}{\epsilon_0} \nabla ( 0 ) - \nabla^2 \vec{E}( \vec{r} \rm{}, t)   = -  \mu_0  \frac{\partial  }{\partial t} (\frac{ \partial \vec{D} \rm{}  ( \vec{r} \rm{}, t) }{\partial t} )  
\\
}



 \displaystyle{ 
\nabla^2 \vec{E} ( \vec{r}, t)   =  \mu_0 \epsilon_0 \frac{\partial^2 \vec{E}   ( \vec{r}, t)}{\partial t^2}   
\tag{5.10 電場の波動方程式}
}


という式を得ることが出来ました。驚くべきことにこの方程式は波動方程式と呼ばれる波を表す方程式と同じ形をしています。つまり、真空中の電場というのは周期的に変化する波の関数であることが示唆されているわけです

これは磁場に関しても同様に求められ、電場と磁場はお互い変化し合うことによって真空中を進行波として伝播していくことがこのことから分かります。Maxwellらがこの真空中の電場と磁場の波動を発見し、この波動を電磁波と名付けました。

電磁波の一例 [エネルギーClub 電磁波って何だろう]より引用

ここで波動方程式と(5.10)を見比べると、電磁波の位相速度は v = 1 / \sqrt{\mu_0 \epsilon_0}と求めることが出来ます。これに対して、実際の誘電率透磁率を入れてみて計算してみるとなんと光速 cに一致することが知られています。電磁波の発見当時では既に光速の測定は比較的精度が高く調べられており、光は波動であることはわかっていたので、こんな特徴的な速度で波である以上光って電磁波なんじゃ?という仮説が生まれ、その後実験的に光が電磁波であることが確かめられました。

真空中を考えていましたが、電荷が存在しない物質中でも同様に電磁波を求めることができます。その場合は物質の誘電率 \epsilon透磁率 \muを用いて単に \mu_0 \rightarrow \mu, \epsilon_0 \rightarrow \epsilonと置き換えればいいので、物質中の電磁場は以下の様になります。


 \displaystyle{ 
\nabla^2 \vec{E} ( \vec{r}, t)   =  \mu \epsilon \frac{\partial^2 \vec{E}   ( \vec{r}, t)}{\partial t^2}   
\tag{5.11 物質中の波動方程式}
}


つまり速度v v' = 1/ \sqrt{\mu \epsilon}に変化した電磁波として存在していることが分かります。屈折率 nの定義は媒質における波動の速度比であるため、この物質の屈折率 nについては以下の様に書くことが出来ます。


 \displaystyle{ 
n = \frac{c}{v'} = c \sqrt{\epsilon \mu}
}\tag{5.12}


また、真空中では波長 \lambda_0だった電磁波は物質中に入ると波長は \lambda = \lambda_0 / nになることが知られています。 色々な物理量が物質中に入ると屈折率 nによって変わりますが、角速度 \omegaに関しては物質中でも真空のものと同じ値になります。


 \displaystyle{ 
\omega = 2 \pi \frac{n c}{n \lambda_0} = 2 \pi \frac{c}{\lambda_0}
}\tag{5.13}


幾何光学近似

かなり長くなってきましたがようやく本題の幾何光学近似に入っていこうと思います。

光路長と電磁波

幾何光学におけるアイコナール方程式は光路長 Lについての式でしたが、今のところ電磁波については全く光路長という概念が出てきていませんでした。このため、同じアイコナール方程式を出すためには波動でも光路長に相当する量について考える必要があります。

光路長は光線の方向ベクトルに沿って進んだ時の(真空での)幾何的な長さとして定義されていました。波動においても波動には進行方向を示す \vec{k}ベクトルというものがあり、そこから位相を作る項 \vec{r} \cdot \vec{k}部分があります。この項とsin波の例を見比べればここはある地点における波が進んだ距離 dによって


 \displaystyle{ 
\vec{r} \cdot \vec{k} = \frac{2\pi}{\lambda} d
}\tag{6.1}


という風に解釈することが出来ます。 dに対して屈折率 nをかけたら、真空における距離、つまり光路長 L(\vec{r})に相当することになります。従って nで分解すると


 \displaystyle{ 
\vec{r} \cdot \vec{k} = \frac{2\pi}{n \lambda} nd = k_0 L(\vec{r})
}\tag{6.2}


となるはずです。かなりアバウトな議論で進めましたが、なんとなく位置に関わる位相と光路長への関係性がなんとなく見出すことが出来ました。ということで、位置に関わる位相について調べていこうと思います。

まだ幾何光学近似の条件がどんな条件なのかわからないため、より一般的に空間中に何らかの物体があるような環境を考えて進めていく必要があります。電磁波からすれば物体というのは誘電率 \epsilon透磁率 \muの値が異なる領域としてしか捉えることが出来ないので、空間中に任意の物体が存在することは \epsilon \muが位置に依存するという形で表すことが出来ます。

物体がある空間

強磁性体などの例外はありますが、一般的によく見るような物質(誘電体)では透磁率 \muは基本的に真空と殆ど一緒なので \mu\vec{r}に依存せず、ここでは真空の透磁率 \muとしておきます。誘電率 \epsilonが位置 \vec{r}によって変化する環境を考えて同様の変形をしてみましょう。(5.7)から進めて


 \displaystyle{ 
\nabla (\nabla \cdot \vec{E}   ( \vec{r} \rm{}, t) ) - \nabla^2 \vec{E} \rm{}  ( \vec{r} \rm{}, t)   = -  \frac{\partial  }{\partial t} (\nabla \times \vec{B} ( \vec{r}, t) \rm{} )  \\
}\tag{6.3}


また、今回の場合 \epsilon(\vec{r}) \vec{r}に依存しているため、Maxwellの第一式より、


 \displaystyle{ 
\nabla \cdot (\epsilon(\vec{r}) \vec{E}(\vec{r},t)) = (\nabla \epsilon) \cdot \vec{E}(\vec{r},t) + \epsilon(\vec{r}) (\nabla \cdot \vec{E}(\vec{r},t)) = 0  \\
}\tag{6.4}


ということが成り立ちます。この式を(7.1)の \nabla \cdot E(\vec{r},t)に代入すれば


 \displaystyle{ 
\nabla (\frac{(\nabla \epsilon(\vec{r})) \cdot \vec{E} ( \vec{r} \rm{}, t)}{\epsilon(\vec{r})} )  - \nabla^2 \vec{E}   ( \vec{r} \rm{}, t)   = -  \frac{\partial  }{\partial t} (\nabla \times \vec{B} ( \vec{r}, t))  \\
}\tag{6.5}


という式が得られます。この後、電磁波の導出と同様に磁束密度の代入すれば以下のように書くことが出来ます。


 \displaystyle{ 
\nabla (\frac{(\nabla \epsilon(\vec{r})) \cdot \vec{E} ( \vec{r} \rm{}, t)}{\epsilon(\vec{r})} )  - \nabla^2 \vec{E}   ( \vec{r} \rm{}, t)  = - \mu_0 \epsilon(\vec{r}) \frac{\partial^2 \vec{E}  }{\partial t^2}
}\tag{6.6}


ここで、「誘電率 \epsilon(\vec{r})の位置変化量は電場 \vec{E}の位置変化量より極小さい」という仮定を置きます。急に言われてもこれがどういう状況だかぱっとは分かりづらいと思います。具体的には数式として以下の様にしたいことをここでは述べています。


 \displaystyle{ 
\nabla (\frac{(\nabla \epsilon(\vec{r})) \cdot \vec{E} ( \vec{r} \rm{}, t)}{\epsilon(\vec{r})} )  - \nabla^2 \vec{E}   ( \vec{r} \rm{}, t)  \approx - \nabla^2 \vec{E}   ( \vec{r} \rm{}, t)  
}\tag{6.7}


つまり第一項目を消してしまいたいわけです。誘電率の変化量がとても小さいということはある一点を見た時、近くに誘電率が異なる物体があまりないことを示しており、もう少し平たく言えば「物体がそこまで細かく置かれていない状況」に相当します。

そして、そこで言う「細かく」というのはどの程度なのかというと電場 \vec{E}の変化量に対して小さいスケールという意味になります。これがなかなか分かりづらいですが、式としてもう少し見ればなんとなくわかるかもしれません。

誘電率の変化が小さいということは電磁波の波長があまり変わることがないことを示しているので、ここでは波長 \lambdaを場所に依存しないこととします。この時、電磁波のベクトルを微分すると波数が出てくるため、第二項目のラプラシアンをちょっと部分的に計算すると係数として波数 kが出てきます。(残りの関数は一旦V(\vec{r},t))と置いておきます)


 \displaystyle{ 
\nabla (\frac{(\nabla \epsilon(\vec{r})) \cdot \vec{E} ( \vec{r} \rm{}, t)}{\epsilon(\vec{r})} )  + k^2 V( \vec{r},t)
}\tag{6.8}


そして[tex: k2]で割り、誘電率の変化量の部分に括り付けてあげると以下の様になります。


 \displaystyle{ 
\nabla ( \frac{\nabla \epsilon(\vec{r})}{k^2 \epsilon} \cdot \vec{E})  + V( \vec{r},t)
}\tag{6.9}


先ほどの仮定はここにおいて以下の量が0に近づいてくれることを求めています。


 \displaystyle{ 
\frac{\nabla \epsilon(\vec{r})}{k \epsilon} = \lambda \frac{\nabla \epsilon(\vec{r})}{ 2\pi \epsilon} \rightarrow 0 
}\tag{6.10}


つまり、先ほどの仮定は「波長がほぼ0に近いぐらい小さく」「波長に対してそこまで誘電率の変化量が大きくない」ことを要請していることになります。こうして考えれば式(6.9)の第一項目はこの極限において0となり、第二項目については極限しても問題なく残ります。従って、(6.7)のような近似が成立することが分かります。この近似を幾何光学近似と呼びます。

幾何光学近似と物体

かなりごちゃごちゃした話になりましたが、かなり平たく言えば「波長が極小さく、波長スケールにおいて物体が細かく存在していない」状況において式(6.7)の近似式が成立するわけです。従って、近似式を代入すれば最終的には


 \displaystyle{ 
\nabla^2 \vec{E}   ( \vec{r} \rm{}, t)  = \mu_0 \epsilon(\vec{r}) \frac{\partial^2 \vec{E}  }{\partial t^2}
}\tag{6.11}


という一様媒質と同様の波動方程式を得ることが出来ました。

ここで一旦計算を楽にするため、 \vec{E}が単一方向にのみ振動しているとしてこれをスカラー波 \Phi(\vec{r},t)と表すこととします。これは \vec{E}に関してある一例を考えているだけに過ぎないのであまり気にしないでください、次節でもっと一般的な\vec{E}について議論します。ここで電磁波を以下の様に表記します。


 \displaystyle{ 
\Phi(\vec{r},t) = a(\vec{r}) \exp \lbrace i (\phi(\vec{r}) - \omega t) \rbrace
}\tag{6.12}


一般的に電磁波は同じ媒質内では振幅は変化せず、他の媒質に移動したとき振幅が減少したりします*5。なので、ここでは振幅 a(\vec{r})は位置依存性を持つものとして扱っています。

また、この式では位置に関する位相は \phi(\vec{r})という関数で表しており、これはアイコナールと呼ばれます。幾何光学の話で突然アイコナール方程式なんて名前が出てきていましたが、人名とかではなくこれが由来になっています。なので本来は(多分)位置に関する位相の方程式としてアイコナール方程式が出てきたんだと思います。

では、これを波動方程式に代入すると以下の様な複素数の方程式が得られます。([tex: \mu_0 \epsilon(\vec{r}) = 1/ c2 (\vec{r})]と表記)


 \displaystyle{ 
\nabla^2 a(\vec{r}) - a(\vec{r}) (\nabla \phi(\vec{r}) )^2 + \frac{\omega^2}{c^2 (\vec{r})} + i \lbrace 2 \nabla a(\vec{r}) \cdot \nabla \phi(\vec{r}) + a(\vec{r}) \nabla^2 \phi(\vec{r}) \rbrace
}\tag{6.13}


実部、虚部については各々0になる必要があるため、2つの方程式として以下が得られます。


 \displaystyle{ 
\nabla^2 a(\vec{r}) - a(\vec{r}) (\nabla \phi(\vec{r}) )^2 + \frac{\omega^2}{c^2 (\vec{r})} = 0
}\tag{6.14}
  \displaystyle{ 
 i \lbrace 2 \nabla a(\vec{r}) \cdot \nabla \phi(\vec{r}) + a(\vec{r}) \nabla^2 \phi(\vec{r}) \rbrace = 0
}\tag{6.15}


幾何光学近似

今回の条件は「誘電体の変化率は小さい」というもので、言ってしまえば小さい領域では一様媒質の空間としてみてしまっても良いというわけです。位置 \vec{r_0}から進んでいく一様媒質の進行波


 \displaystyle{ 
\Phi(\vec{r}, t) = a(\vec{r_0}) e^{\phi(\vec{r_0})} e^{i \lbrace \vec{k}(\vec{r_0}) \cdot (\vec{r} - \vec{r_0}) - \omega t \rbrace}
}\tag{6.16}


と書くことができ、 \vec{r_0}の近傍ではこのような波であることが考えられます。

一方で、(6.12)式から \vec{r_0}でのテイラー展開を行うと、 \vec{r_0}近傍での波は以下のように示すこともできます。


 \displaystyle{ 
\Phi(\vec{r}, t) = (a(\vec{r_0}) + ... ) e^{i\lbrace \phi(\vec{r_0}) + \nabla \phi(\vec{r_0}) \cdot ( \vec{r} - \vec{r_0}) + ...) - \omega t \rbrace}
}\tag{6.17}


この2つの波は同じ波を表しているため、比較するとアイコナールの勾配 \nabla \phi(\vec{r_0})と波数ベクトル[tex: \vec{k})(\vec{r_0})は一致していることが言え、あらゆる点においてこれは成立するので


 \displaystyle{ 
\vec{k}(\vec{r}) = \nabla \phi(\vec{r_0})
}\tag{6.18}


ということが成り立ちます。

このことから、式(6.14)について先ほど述べた(6.7)の近似と同様のことが考えることができ、振幅の変化量について以下の様な近似を求めることを考えます。


 \displaystyle{ 
\lambda^2 \frac{\nabla^2 a(\vec{r})}{ a(\vec{r})} \rightarrow 0
}\tag{6.19}


振幅の変化というのは誘電率の変化によって引き起こされると先ほど述べたため、前節の「波長スケールで誘電率の変化量が小さい」という仮定はそのまま「波長スケールで振幅の変化が小さい」とみなすことが出来ます。従って、この近似は成立することが分かります。なので、


 \displaystyle{ 
(\nabla \phi)^2 = \frac{\omega^2}{c(\vec{r})}
}\tag{6.20}


という式が求められました。そしてここで c(\vec{r})はその点における位相速度であることから、屈折率 n(\vec{r})を用いれば、右辺は


 \displaystyle{ 
\frac{\omega^2}{c(\vec{r})} = \frac{\omega^2}{c^2} n(\vec{r})^2 = k_0^2 n(\vec{r})^2
}\tag{6.21}


となる。従って先ほどの式は以下の様に求めることが出来ます。


 \displaystyle{ 
(\nabla \phi)^2 = k_0^2 n(\vec{r})^2
}\tag{6.22}


なんか見たことがあるような形の方程式になりました。この式もアイコナール方程式と呼ばれるものであり、ようやく幾何光学と同じアイコナール方程式を導出することが出来ました。

ですが、幾何光学で求めたアイコナール方程式と比べるとちょっと式が違うように思えます。そもそも幾何光学の光路長が式に入っていませんし、真空中の波数 k_0も含まれています。ですが、もし(6.2)の関係さえ求めることが出来れば、これは幾何光学におけるアイコナール方程式と等価であること分かります。

なのでアイコナール \phiと光路長 Lの関係性について見ていきましょう。

アイコナールと光路長

波動における波数ベクトル \vec{k}は波動つまり光が伝播する方向ベクトルに波数 kを掛けたものになります。一方、幾何光学において光が伝播する方向というのは散々やったように光線方向のベクトルでありました。従って、波数ベクトル \vec{k}と光線ベクトル \vec{e_t}には以下のような関係があると言えます。


 \displaystyle{ 
\vec{k(\vec{r})} = k(\vec{r}) \vec{e_t}(\vec{r})
}\tag{6.23}


このことから、アイコナール \phi(\vec{r})の光線方向の微分は以下の様に求めることが出来ます。


 \displaystyle{ 
\frac{d \phi}{ds} = \nabla \phi \cdot \vec{e_t} = \nabla \phi \frac{\nabla \phi}{|\nabla \phi|} = k_0 n(\vec{r})
}\tag{6.24}


これより、 \vec{r_0}を基準とした \vec{r}までのアイコナール \phi{r} \vec{r}というのは光線に沿った積分によって


 \displaystyle{ 
\phi(\vec{r}) = \int_{r_0}^{r} k_0 n(\vec{r}) ds
}\tag{6.25}


という形で得られる。ここで真空の波数 k_0は定数なので外に出せば、この積分というのは見事に光路長 L(\vec{r_0},\vec{r}の定義に一致することから、アイコナールと光路長は以下のような関係にあることが求められます。


 \displaystyle{ 
\phi(\vec{r}) = k_0 L(\vec{r})
}\tag{6.26}


つまり、先ほどのアイコナール方程式は幾何光学におけるアイコナール方程式と等価であることが求められます。


 \displaystyle{ 
(\nabla \phi)^2 = k_0^2 (\nabla L)^2 = k_0^2 n(\vec{r})^2
}
 \displaystyle{ 
(\nabla L)^2 = n(\vec{r})^2
}\tag{6.27}


アイコナールと光路長の関係から、等光路長面は波動においては等位相面に対応しており、波動の広がり方は幾何光学の光線によって完全に再現できることがこのアイコナール方程式によって保障されることとなります。

幾何光学近似

ただし、ここではスカラー波という一部の波しか考えていませんでした。実際に一般的に全ての光に対してこの保証が成立するかはちゃんとベクトル波でも考える必要があります。次節ではベクトル波での幾何光学近似について求めていきます。

ベクトル波に対する幾何光学近似

先ほどの議論を基に電場、磁場がベクトル波であった場合でも同様にアイコナール方程式が成立するかを求めていきます。ここでの議論においても同様に「波長が極小さく、尚且つ誘電率の変化と振幅の変化は小さいものである」という仮定をして、近似を行っていきます。

ここで電磁波が生じていると考え、アイコナールと光路長の関係が成り立つので電場と磁場が任意の進行波として以下の様に書くことができます。


 \displaystyle{ 
\vec{E}(\vec{r},t) = \vec{E}(\vec{r}) \exp \lbrace i (k_0 L(\vec{r}) - \omega t) \rbrace \\
}\tag{7.1}
  \displaystyle{ 
\vec{H}(\vec{r},t) = \vec{H}(\vec{r}) \exp \lbrace i (k_0 L(\vec{r}) - \omega t) \rbrace \\
}\tag{7.2}


(電荷は空間中に存在しないとして)これをMaxwell方程式に代入していきます。ただちょっとややこしいのでちょっとづつ見ていきましょう。第3式については


 \displaystyle{ 
\nabla \times \vec{E}(\vec{r},t) - \mu \frac{\partial H(\vec{r})}{\partial t} = 0
}\tag{7.3}


となります。ここでrotに関する公式


 \displaystyle{ 
\nabla \times (f(\vec{r} \vec{g}(\vec{r})) = (\nabla f(\vec{r}) ) \times \vec{g} (\vec{r}) + f(\vec{r}) \nabla \times \vec{g}(\vec{r})
}\tag{7.4}


を用いれば \nabla \times \vec{E}(\vec{r},t)は具体的に以下の様に計算できます。


 \displaystyle{ 
\nabla \times \vec{E}(\vec{r},t) = \nabla \times (\vec{E}(\vec{r}) \exp \lbrace i (k_0 L(\vec{r}) - \omega t) \rbrace)) \\
}
  \displaystyle{ 
 = (\nabla \times \vec{E}(\vec{r})) \exp \lbrace i (k_0 L(\vec{r}) - \omega t) \rbrace +  \vec{E}(\vec{r}) \times (\nabla  \exp \lbrace i (k_0 L(\vec{r}) - \omega t) \rbrace) \\
}
  \displaystyle{ 
 = (\nabla \times \vec{E}(\vec{r})) \exp \lbrace i (k_0 L(\vec{r}) - \omega t) \rbrace +  \vec{E}(\vec{r}) \times ik_0 \nabla L(\vec{r}) \exp \lbrace i (k_0 L(\vec{r}) - \omega t) \rbrace \\
}


ということになるため、 \expの部分を取り除いて \omega = k_0 cを用いれば


 \displaystyle{ 
ik_0 \lbrace (\nabla L) \times E(\vec{r}) - \mu c \vec{H} \rbrace + \nabla \times \vec{E}(\vec{r}) = 0
}\tag{7.5}


と書くことが出来ます。他の式も同様に求めると以下の様になります。(面倒なので \vec{r}は省略します)


 \displaystyle{ 
ik_0 (\epsilon E \cdot \nabla L) + \nabla \cdot ( \epsilon \vec{E}) = 0
}\tag{7.6}
  \displaystyle{ 
ik_0 (\mu H \cdot \nabla L) + \nabla \cdot ( \mu \vec{H}) = 0
}\tag{7.7}
  \displaystyle{ 
ik_0 \lbrace (\nabla L) \times E - \mu c \vec{H} \rbrace + \nabla \times \vec{E} = 0
}\tag{7.8}
  \displaystyle{ 
ik_0 \lbrace (\nabla L) \times H + \epsilon c \vec{E} \rbrace + \nabla \times \vec{H} = 0
}\tag{7.9}


ここで、幾何光学近似の仮定を用いると振幅ベクトルの変化量は波長に対して小さいものであるので、(7.6)の式を ik_0で割ると k_0 = 2 \pi / \lambda_0という関係から第二項目については


 \displaystyle{ 
\lambda \frac{1}{2\pi} \nabla \cdot (\epsilon \vec{E}) \rightarrow 0
}\tag{7.10}


とみなすことが出来ます。このことから、他の式も同様に振幅の変化量部分は消えて以下のような式になります。


 \displaystyle{ 
\epsilon E \cdot \nabla L= 0
}\tag{7.11}
  \displaystyle{ 
\mu H \cdot \nabla L= 0
}\tag{7.12}
  \displaystyle{ 
 (\nabla L) \times E = \mu c \vec{H}
}\tag{7.13}
  \displaystyle{ 
 (\nabla L) \times H   = -\epsilon c \vec{E}
}\tag{7.14}


(7.11)と(7.12)は \vec{H},\vec{E},\nabla Vが直交する関係にあることがわかり、その関係は(7.13),(7.14)から以下のような右手直行系になっていることが読み取れます。また、 \nabla Vの大きさについて(7.13)から、

 \displaystyle{ 
|\nabla L| |E| = \mu c |H|
}\tag{7.15}


が成立し、(3.14)から同様の関係を導くことが出来ます。


 \displaystyle{ 
|\nabla L| |H| = \epsilon c |E|
}\tag{7.16}


この二つを合わせて \nabla Lの大きさについて求めてみると


 \displaystyle{ 
|\nabla L|^2 = c^2 \mu \epsilon 
}\tag{7.17}


と求めることが出来ました。この時、屈折率の関係 n = c \mu \epsilonを用いればこれは


 \displaystyle{ 
|\nabla L|^2 =n^2
}\tag{7.18}


となります。この式はまさにアイコナール方程式であり、ようやく幾何光学近似が任意の光において成立することが導出できました。

結論

非常に長い証明となりましたが、確かに幾何光学近似の条件下においては光をレイ(幾何光学)として扱っても問題ないことが数式的に分かりました。幾何光学近似の条件*6は「波長はごく小さく、振幅の変化量が波長に比べて大きくない」というものでしたが、これをもう少し分かりやすい言い方をすれば

  • 「波長がものすごい小さくて、物体に波長ぐらいの大きさの凹凸や穴といった幾何的な形状が存在しない」

というものになります。これは振幅の変化量が誘電率の変化量に依存しており、誘電率の変化量は近くにある物体の幾何的形状に依存することから求められます。

文献によっては波長を0にした時の極限と述べているものもありますが、式(6.10)のように当然これも正しいです。ですがこの言い方だと一体いつ近似を使っていいのかがよくわからないので、今回はどの程度のスケールなら近似が効くのかを分かりやすくするために波長と形状の関係を書いています。

実際に私たちが目で見る可視光は700nm~500nmというとても小さなものであり、私たちが肉眼で見るような物体がどんな形状をしていても、光の波長スケールではとんでもなく大きな形状として取り扱われることとなります。従って、私たちがレンダリングするスケールでは幾何光学近似が成立して、レイトレをしても全く問題ないことになるわけです。

一方で例えば1μmぐらいの物体表面の凹凸や膜などが引き起こすような光学現象について調べる際には幾何光学ではあまり正確な結果を求めることが難しくなっていきます。なのでBSDFの理論などミクロなスケールでの理論を考える際にはこのスケールについてちゃんと考える必要があるかもしれません。(ただあんまり波動光学まで考えたものとかは見たことがないですね。Microfacetは幾何光学でやることが明記されてたりしますし*7

今回の話は光に関してフォーカスして話していましたが、これは音波や水面の波動などにも同様に考えることができ、音波といった波面をレイトレで表現する技術は結構あるみたいです。しかしながら、可視光とは違い音の波長というのは結構大きく1000Hzぐらいの音でも30cmぐらいだったはずで、かなり現実のスケールに近いことから幾何光学近似の誤差がかなり出てしまうようです*8。なので、他のレイトレみたいなを考える際は幾何光学近似の条件は注意していく必要があります。

おわり

とても長い記事を見て頂きありがとうございました。

幾何光学近似に関しては「凹凸が波長より大きければ大丈夫」というぐらいなんとなく知ってはいたのですが、理由については全くしらず最近なんとなく気になったので調べてみたのがきっかけでした。この記事は自分が納得するまで勉強した結果を折角なのでまとめた感じなんですが、中々に長い記事になってしまいました。もしなんかレイトレに疑問をもった人の助けになれば幸いです(そんな人いる?)。

今回の記事では特に「幾何光学の正準理論」(山本義隆 著)をかなり参考にさせて頂きました(というかほぼそのまま持ってきた感じになってしまった)。解析力学的な観点から幾何光学について述べている本で、幾何光学のかなり根本の理論を知りたいのであればとても良い本だと思いますので興味がある方はぜひ

参考文献、引用文献

今回の記事では特に「幾何光学の正準理論」(山本義隆 著)をかなり参考にさせて頂きました(というかほぼそのまま持ってきた感じになってしまった)。解析力学的な観点から幾何光学について述べている本で、幾何光学のかなり根本の理論を知りたいのであればとても良い本だと思いますので興味がある方はぜひ

レイトレ合宿があるみたいだから急いでレンダラー書きたいけど もう疲れちゃって 全然動けなくてェ・・・

*1:光路長に他の光線の影響がないこと自体を仮定してるので既に光線の独立性が内包されている気がしないでもないです

*2:不連続面での反射、屈折があるが、それぞれ反射後、屈折後もオイラーラグランジュ方程式が成り立つので0として見なせる。厳密にはワイヤシュトラス=エルドマンの条件というもので示すことが出来ます

*3:ここで示される物質方程式は「等方的」で「均一」な物質に対してのみ成立するもの。異方性などを持つ物質ではまた異なる物質方程式が存在する

*4:古典物理における波では虚部は物理的に意味はありませんが、量子力学で現れる波動関数は虚部も意味を持ちます。ここでは古典力学の範疇で話しています

*5:誘電体に限ります

*6:ここで証明した議論では暗黙に「空間内に電荷が存在しない」「強磁性体は存在しない」の条件があります

*7:Torrance Sparrowの論文で書いてあった

*8:誤差として出てくるのは回折の有無で、それを再現するため物体のエッジで新たにレイを生成して回折を表現する手法があるようです