[PR]
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
プログラミング、3DCGとその他いろいろについて
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
量子力学ではニュートンの運動方程式ではなく、シュレディンガー方程式で物体を表します。ここではシュレディンガー方程式(の解である波動関数)のシミュレーションで遊ぶことができます。
[観測]ボタン:観測すると、ランダムに選ばれたある領域以外の波動関数の値はすべて0になります。選ばれる領域は完全にデタラメというわけではなく、波動関数が太いところが選ばれやすいです。
位相の表示方法:波動関数の位相を、水色のバネで表示するか、色として表すかを設定します。この2つは見た目は違いますが同じものを表しており、どちらにするかは好みの問題です。
キャンバスをマウスでドラッグ:カメラを動かし波動関数を違う方向から見ます。
キャンバスをマウスで右ドラッグ:カメラを平行移動します。マウスのホイールを回す:カメラを波動関数に近づけたり遠ざけたりします。
これは電子が一次元の空間の中を行ったり来たりしているシミュレーションです。空間の端と端は壁で遮られているので、電子はその中から出ることはできません。表示されているうねった波のような図形は電子の状態を表す「波動関数」というものです。量子力学ではこれを使って物体の未来を計算します。
この波動関数というやつがなんなのかかんたんに説明します。
ニュートン力学は投げたボールの動きを計算するのには十分使えます。しかしとても小さな物体、たとえば電子の動きを計算するとなると誤差が多くなるため、そういう時はより正確な量子力学を使います。量子力学では物体の状態を波動関数で表します。今回のシミュレーションで波のように動いているやつです。2つの壁に挟まれた電子を波でシミュレートしているのです。ではこのうねうねとした動きが具体的に電子のどのような状態を表しているのか見てみましょう。
量子力学は確率的なものです。ニュートン力学では初期条件をきちんときめてやれば宇宙の終わりまで完全に計算できたのですが、現実の宇宙はそうなっておらず、「こうなる確率はこのくらいの確率だ」、ということしか言えないのです(当時このことについて納得の行かなかった物理学者は大勢おり、たとえばアインシュタインやシュレディンガーはきちんと100%正しい未来を計算したかったようです)。
波動関数はその断面積によって確率を表します。つまり太いところに電子がある確率が大きいというわけです。次の図でいうと、真ん中に電子がある確率が大きいです。
このシミュレーションでは、[観測]ボタンを押すと、この確率に基づいて電子の現在の位置を決めます。それに伴って波動関数は「収縮」します。つまり、電子が存在しない場所の波動関数は0になり、存在する場所の値は――確率の合計を1にするために――大きくなります。
電子の位置が波動関数の太さによってだいたい分かるのだとしたら、速度はどうやって表されているのでしょう?それは、波動関数の山と山の間の間隔(波長)です。
このシミュレーションで波動関数の動きを見ると、真ん中に取り残されている波の波長が長いことがわかります。それは、波長の長い波は遅いからです。
エネルギーも波動関数によって表されています。波の回転速度です。
といっても、これはさっきの速度の話と内容が重複します。速度が速ければ速いほどエネルギーは大きいからです。しかし、たとえばビルの屋上のボールは地面付近のボールより重力によるエネルギーが大きいわけで、ここで言っているのはそういうのも含めたエネルギーです。速度がほとんどないのにエネルギーはいっぱいあるという状況はあるわけです。今回のシミュレーションでは残念ながらそんな状況はありませんが、もしあったとすれば、波長は長いのに回転は速いでしょう。
ニュートン力学では位置と速度(2つとも自分の持っている情報)、そしてエネルギー(重力など、周囲からの影響を表したもの)があれば質量がわかっている物体の動きを計算できました。ご覧の通り波動関数も同じものを表現できているわけで、つまりまあだいたい現実世界を計算できるというわけです。