[PR]
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
プログラミング、3DCGとその他いろいろについて
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
ボールを今から投げようというときに、未来のあなたから未来のそのボールの位置がメッセージとして送られてきたとすると、あなたはタイムパラドックスを起こさないためにどのような場所からどのような角度とスピードで投げればよいでしょうか?この問題をとこうと思ったら、ふつう2次方程式を使うことになるはずですが、実はもっと簡単な方法があります。バネと重りを利用するのです。
かつて人類は石や木の棒を計算に使っていました。バネとおもりでタイムパラドックスが回避できないはずありません。
(バネの表示されたキャンバスの)●をマウスでドラッグ:●を動かす。
(バネの表示されたキャンバスの)◎をマウスでドラッグ:◎を動かす。
これは、バネとおもりを組み合わせたしかけによって、あなたがこれからどのようにボールを投げなければいけないかを計算する装置です。あなたは未来からボールの位置を知らされているので、タイムパラドックスを避けるためにはボールがかならずそこに来るように投げなければいけません。この装置を使えば、数式を使わずとも単純なしかけで正しいボールの投げ方と、そのボールの軌道が分かります。
バネおもり装置の●や◎をマウスで動かしてみて下さい(●は現在のボールを表し、◎は未来のボールを表します。マウスを離すと、●と◎のおもりはそこに固定されます)。そうすると、一時的に動きが乱れるものの、やがて安定した滑らかな形になることがわかります。この形が実は、スタートとゴールが決まっている時の、ボールの軌道になっているのです!つまり、この装置を使えば、タイムパラドックスは避けられます。
この装置の動く様子をじっと見ていると、ポテンシャルエネルギーの大きい方から小さい方へ変化していくことがわかります。バネは伸びているとエネルギーが大きくなり、おもりは高い場所にあると重力によるエネルギーが大きくなるので、エネルギーを開放するため、バネは縮もうとし、おもりは重力に引かれて下に落ちようとするのです。タイムパラドックス解決計算は、この装置のポテンシャルエネルギーを下げることによって行われるのです。
しかしここにはジレンマがあります。バネを完全に縮めると、おもりは重力に逆らったように宙に浮いてしまい、一方おもりを完全に下に落とすと、バネは伸びに伸びます。バランスが必要なのです。わたしたちが今欲しいのは、片方のエネルギーが最小化された状態ではなく、合計のエネルギーが最小化された状態です。そのような状態が達成できたら、バネもおもりの高さもほどほどの、なめらかな曲線が描かれます。それこそが、数学的にはちょうど、ボールを投げた時の動きと等しいのです。
これは実は、光の不思議な性質――スタートとゴールがわかっている時、光は時間が最も短くなる経路を通る――と関係があります。光はかかる時間を最小化するのに対し、ボールは、バネおもり装置でその経路を表した時ののポテンシャルエネルギーを最小化するのです。
無重力状態の宇宙でボールがまっすぐ進むのは、バネおもり装置を宇宙に持っていったら、バネの縮みにより軌道がまっすぐになるからです。スタートとゴールは固定されているので、その間のバネが全部縮めば、おもりはまっすぐに並びます。宇宙に持っていったバネおもり装置は、光がゴールまでにかかる時間を最小化するように、バネの歪みを最小化しているとみなせます。
光もボールも、スタートとゴールの間にはいろいろな経路が考えられるものの、最終的には何かが最小となった軌道でおちつくのです。
以下のリンク先のシミュレーションは、このサイトのシミュレーションとは違って、最小化される量を図や数値できちんと表示しています。