[PR]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
プログラミング、3DCGとその他いろいろについて
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
以前のシミュレーションの2次元バージョンを書きました。
下のキャンバスのマス目をクリック:線を描きます。描かれた線は、上のキャンバスに反映されます。
ペンの色:ペンの色を設定します。□は白で、■は黒です。
これはイカ墨が水の中を拡散していくシミュレーションです。普通の拡散シミュレーションと違うのは、一部の宇宙論やSFに出てくる宇宙のように、時間が繰り返しているという点です。途中で時間の流れが逆転するので、拡散したイカ墨はまたどこかに集結します。下のキャンバスではどのようにイカ墨が集まるのか設定できるというわけです。SF映画の『メッセージ』に出てくる異星人は吐いたイカ墨を固めて文字にしますが、このシミュレーションではそれと同じことが出来るわけです。
ところで、このシミュレーションにはやむを得ない誤差があるということを白状しておきます。本来は濃さが均一になるべきイカ墨にムラができてしまうのです。
これは過去2を作り出す確率の歪みが過去1に反映されるのを省略するという今回の計算法に由来するもので、計算法を変えれば均一にできるはずなのですが、そうすると今度は応用範囲が狭くなったり、あるいは計算量が増えすぎてしまいます。まあ、今回のシミュレーションは練習問題なので、こういう計算方法だとこういう誤差が出るのだとわかっただけでも良しとしましょう。