忍者ブログ

Memeplexes

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

時間逆転した熱伝導+飛んでいく物体(1次元)

この前時間が逆転した熱伝導のシミュレーションを書きましたが、熱を生み出した物体の衝突より前まで時間が戻るとおかしな結果になってしまいました。今回は物体の衝突もきちんとプログラムに含めているのでその問題点は解決しました。あるのは計算の微妙な誤差くらいのもんでしょう。もっとも、時間を逆転するとこれがどんどん大きくなって、無視できない程になることもあるのですが。


デモ

遊び方

[時間逆転]:チェックを入れると、時間が巻き戻っていきます。

クリック:物体を発射。

マウスのホイールを回す:物体のエネルギーを調節。

解説

机の上に消しゴムを落とすと、消しゴムの持っていた運動エネルギーは机を構成している分子のランダムな運動へ変わります――つまり、机はほんのわずかに熱くなります(手で触ってもわからないほど)。その微妙な熱は、時間とともに衝突地点から周りに広がっていきます。

それを時間逆転させて考えてみると、周りから熱が集まってきて、衝突地点から吹き出ていく、となるわけです。このプログラムではその様子を眺めることができます。

ただしこのプログラムにはとても小さい誤差があります。その誤差は最初はとても小さいので無視できるほどですが、時間逆転による誤差の拡大により、後々目に見える違いになることもあるでしょう。普通の時間の流れなら、熱いものと冷たいものはまざってほぼ同じ温度になるわけですが、時間を逆転させると、ほぼ同じ温度の者同士が極端に違う温度になりかねません!びっくりしないでください!

拍手[0回]

PR