忍者ブログ

Memeplexes

プログラミング、3DCGとその他いろいろについて

光の部分反射

リチャード・ファインマンが光の振る舞いを一般大衆向け説明するために考案したストップウォッチ方式のデモプログラムです。


"というのは、この計算法が難解だからではなく、何ともこっけいだからです"

ガラスの厚さ:

操作方法

ガラスの厚さ:ガラスを厚くしたり薄くしたりします。

表示の意味

これは、ガラスに光を当てた時の反射のシミュレーションです。●は光源を表しており、◎は光が到達する場所、オレンジ色は光の経路、水色はガラスです。

ここには3つの経路があり、●から上の◎へガラスを反射する経路が2つ、ガラスをそのまま通り過ぎて下の◎へいく経路がひとつあります。表示をごちゃごちゃさせないため上の2つの経路はゴールがずれているように見えますが、実際には同じゴールに辿り着いているのだと考えて下さい。キレイにゴールを合わせた表示にしようとすると、複数の経路の表示が絡み合ってわけがわからなくなります。

2つの○の中に→が描かれたものはストップウォッチで、光がその場所に到達するまでの時間を表します(すべての経路は自分だけのストップウォッチを持ちますが、ここでは上の2つの経路だけストップウォッチを表示しています)。灰色の四角は、光の反射率を表しており、その面積が大きければ光の反射率が高く、小さければ低いです。

解説

ガラスは完全に透明なわけではなく、すこし景色が反射します。だからネット上に存在する写真にはときどき撮影者が写り込んでいます(ガラスは匿名性の敵です)。それはともかく、この光の部分反射には奇妙な性質があり、それはガラスの厚さを変えると部分反射の強さも変わるということです。

ガラスの厚さつまみを動かしてみて下さい。ガラスの厚さが変わるだけではなく、反射する割合の表示も変わるはずです。しかも単純に増えたりするわけでなく、これは周期的に増えたり減ったりするのです。これはどういうことでしょう?

最も有名な説明は、光は波なので、ガラスの厚さによっては違う経路の波と波が打ち消し合うというものです。しかしファインマンは別の説明を考えつきました。光が移動する時間を表すストップウォッチを使うのです。

ここでは上のゴールに向かう2つの経路に集中して考えましょう。上の2つの経路は、片方はガラスの上で反射し、もう片方はガラスの下で反射します。つまりゴールにたどり着いた時の時間は異なり、その時間差が反射率の変化を生み出します。

ファインマンはこれをストップウォッチの針の方向で表現しました。2つのストップウォッチの矢印をつなげて、それを一辺とした正方形を描くと、その正方形の面積は光の反射する割合になるのです(矢印の長さは、ガラスの質によって決まります。ここでは0.2です)。2つの矢印が同じ方向を向いていると反射率は大きくなり(一辺の長さが0.4なので、16%)、逆方向を向いていたら反射率は0だというわけです。

気をつけてほしいのは、ガラスの上で跳ね帰った光のストップウォッチの針は、180°回転させなければならない点です。反射によって針が回転するのです。これが何を意味しているかというと、厚さ0のガラス(そんなものが現実にあったとすればですが)は全く光を反射しないということです。矢印が反対方向を向いているので、灰色の四角は消滅してしまうのです。

この話は、光の不思議な性質「スタートとゴールが決まっている時、光は最短時間で通れる経路を選んで通る」という話とつながっています。最短時間で通れる経路付近の経路はストップウォッチがすべて同じ方向を向いているので、灰色の四角は大きめになります。つまりその経路を通る割合は大きいのです。しかし、最短時間でない経路は、その付近でストップウォッチの針の方向がバラバラになりやすく(より時間の長い経路もより短い経路もあるため)、灰色の四角も小さめになるのです。

拍手[0回]

PR