[PR]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
プログラミング、3DCGとその他いろいろについて
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
海で溺れている人を助けに行く時、どのような経路で行くのが最短時間なのかを表示するプログラムです。
泳ぐ速度:ライフガードの泳ぐ速度を調節します。左に行くほど速いです。
マウスで溺れた人をドラッグ:溺れた人の位置を調節します。溺れた人は海の外に出すことができません。
マウスでライフガードをドラッグ:ライフガードの位置を調節します。ライフガードは砂浜にいなければいけません。
これは、海で溺れた人を助けに行くときの最も早いルートを表示するプログラムです。水色は海を表し、茶色は砂浜、泣いている人は溺れた人、笑顔の人はそれを救助するライフガードです。
ライフガードは溺れた人まで一直線に移動してはいけません。泳ぐより走るほうが速いからです。海に入る前、陸にいる間にある程度溺れた人に近づかねばならないのです。つまり、砂浜と海の境界線で折れ曲がるルートで救助に向かうことになります。
これは光の屈折する仕組みと同じです。光は、あたかも自分が未来に当たる場所をあらかじめ知っており、そこへ最短時間で到達しようとしているかのようなルートを通ります。水中は空中より光の速度が遅いので、最短で到達するには空気と水の境界線で折れ曲がるようなルートを通らなくてはならないのです。