あけましておめでとうございます 2012 - なめらかライフゲーム
あけましておめでとうございます。日本のプログラマには古来より「正月はフラクタル」という習わしがあります。正月はフラクタルに触れて心穏やかに過ごそうというものです。
というわけで動画を作りました。何かわかるでしょうか。
答えは、ライフゲームのグライダーとブロックの衝突です。セルをそのまま四角で表示するのではなく、アニメーションでなめらかにつないで表示してみました。
グライダー銃 (上) と宇宙船 (下) をグライダーから作る様子。
銀河 (左) とヒキガエル (中央) とパルサー (右) 。かなりきもい。
まあ、ライフゲームはフラクタルかというと違う気がしますが気にしない。一応フラクタルらしいドラゴン曲線も。辰年だし。
実装を簡単にいうと
- 普通のマスの代わりに電荷みたいなものを配置して、ポテンシャル場を計算する
- ポテンシャル場に対して marching squares で等高線を描く
という感じですが、いずれ詳細をきちんと書きたい。ソースコードも意外とぐちゃぐちゃになったので、整理してから公開したい。
あと、参考にしたもの。