忍者ブログ

Memeplexes

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

タイミングの悪い経路を自動的に消す

光はどこかを遮るとかえって明るくなることがあります。このページのプログラムは、どこを遮れば良いのか自動的に計算するかんたんなデモンストレーションを行います。


間の悪い経路を消す

操作方法

[スタート]ボタン:このボタンはシミュレーションを開始しますが、1回目と2回めでシミュレーションの行うことは異なります。一回目は、経路にかかる時間を計測します。2回目は、邪魔な経路を消してくれます。

解説

このプログラムは、光の経路をのいくつかさえぎることで逆に光を強くできるという不思議な現象のデモンストレーションです。光が強くなるのは、全体の足を引っ張っている経路を消すからです。身近なところでは、CDの輝きがそうです。CDには目に見えないほど小さな穴が空いていて、そのパターンによってデータを表しているのですが、穴が開いている事によって逆に目に入ってくる光が強くなる角度というのがあるのです。このプログラムは、目に入ってくる光を強くするにはどのようなパターンで穴を開ければいいのか計算するわけです。

たて軸は時間、●は光源、◎は光がたどり着くゴールで、あいだのオレンジ色の線は光源からゴールまでの可能な経路です。

スタートボタンを2回押して下さい(ただし、ダブルクリックせよと言っているのではなく、ボタンを押してシミュレーションを眺め、バーが一番上に移動したら、もう一度ボタンを押すというぐあいです)。そうすると、どの経路を遮ればよいのかが、経路が灰色に変わることによってわかります。

このシミュレーションは1回目と2回目で行うことが違います。1回目はそれぞれの経路にどれくらい時間がかかるかを計測します。2回目はその時間から、他の経路の足を引っ張っている邪魔な経路を削除します。ある経路の矢印が、矢印を全部つなげたものと違う方向を向いているのなら、それを粛清するのです!

どうしてわざわざ2回もシミュレーションを行うのかというと、光は出発する前に自分がゴールした時の状況を知っておかなくてはいけないからです。一度シミュレーションをすれば、自分がこれからどんな事を体験するのかがわかりますからね。もちろん現実の光は時間の巻き戻し&再挑戦などしないでしょうが、あたかもそういうことをしているかのような結果にはなります。このデモプログラムはあくまで、イメージをつかむためのものです。

たとえ話

これはいわば、気難しい作家に初めて電話で連絡を取ろうとしているようなものです。その作家はいつ寝てるのかわからないのですが、もしこちらが電話をかけたときに寝ていたら、機嫌を損ねてその電話番号は着信拒否になるに違いありません。そこでいろんな携帯電話を用意し、それぞれ違うタイミングでかけてみるのです。そうすればいくつかは起きているときにつながるでしょう。繋がらなかった時間には電話をかけないようにすれば、その作家につながる確率はぐんと上がります!

最初は間の悪さによって相手を不機嫌にさせてしまうかもしれませんが、そのような時間をさければ、相手の機嫌は良くなるでしょう。寝ている時間には電話をかけないことによって、相手との心理的なつながりが強くなるのです。

拍手[0回]

PR