あけましておめでとうございます 2012 - なめらかライフゲーム

あけましておめでとうございます。日本のプログラマには古来より「正月はフラクタル」という習わしがあります。正月はフラクタルに触れて心穏やかに過ごそうというものです。
というわけで動画を作りました。何かわかるでしょうか。

答えは、ライフゲームのグライダーとブロックの衝突です。セルをそのまま四角で表示するのではなく、アニメーションでなめらかにつないで表示してみました。

グライダー銃 (上) と宇宙船 (下) をグライダーから作る様子。

銀河 (å·¦) とヒキガエル (中央) とパルサー (右) 。かなりきもい。

まあ、ライフゲームはフラクタルかというと違う気がしますが気にしない。一応フラクタルらしいドラゴン曲線も。辰年だし。

実装を簡単にいうと

  • 普通のマスの代わりに電荷みたいなものを配置して、ポテンシャル場を計算する
  • ポテンシャル場に対して marching squares で等高線を描く

という感じですが、いずれ詳細をきちんと書きたい。ソースコードも意外とぐちゃぐちゃになったので、整理してから公開したい。
あと、参考にしたもの。