Gray-Scott モデルと呼ばれる反応拡散方程式を用いたインタラクティブデモがすごい!
Reaction diffusion simulation!
今回ご紹介するのは、GLSL を用いて高速に演算処理を行いつつ、インタラクティブに反応拡散方程式(Gray-Scott モデル)を解くデモ作品です。
私は恥ずかしながら、反応拡散方程式と言われても、またグレイスコットモデルと言われても、それがなんのことやらわかりませんでした。
ちょっと調べてみた感じでは、どうやら隣接するピクセルの色を参照しながら濃度を計算して決めていく仕組みのようですが、比較的単純な方程式を解くだけで、このような模様ができるというのはとても驚きました。
自然界にも存在する不思議な模様たち
今回のこの反応拡散方程式を使うと、非常に多彩な、様々な表情を持った模様が描き出されます。
単純な反復する計算の連続によってこれだけ多彩な模様が生み出されることから、自然界の生命が持つ体の模様などとも、関連性があるのではないかと言われているものだそうです。
その計算に使われるパラメータをほんの少しだけ変化させると、模様も劇的にその表情が変化します。今回のデモはこれを手軽に観察することができるものとなっています。
デモの右側のカラム部分には、パラメータを操作するスライダや、画像として保存するためのボタンなどが並べられています。
そのなかに、ひとつドロップダウンリストがあるのですが、このリストにはあらかじめいくつかのプリセットが用意されており、これらを選択するだけで、奇妙な模様が描き出されるその様子に変化を与えることができます。
デフォルトの状態でも十分に面白いのですが、このプリセットから様々なタイプを選択していくと、全く異なる模様が次々と描画されていき、とても面白いですね。
描画エリアの部分は、プリセットをぽちぽち切り替えていると時折真っ暗になってしまうこともあるかもしれませんが、そんなときは描画エリアをおもむろにマウスでドラッグ操作してみましょう。
マウスカーソルでなぞった部分に新しくシードが発生し、その部分を起点にして再び描画が始まると思います。
私は反応拡散方程式については本当に無知なのですが、隣接するピクセルを参照しながら処理するというのは、いかにも GLSL 向きな処理だと言えますね。とても高速に、それこそヌルヌルと描画されるようすは見ているだけでとても刺激的ですね!
自然界に溢れる模様にも通ずるものがあると、考える人がいるというのもうなづけるような、とても美しい模様が次々と現れては消えていく今回のデモ。
GLSL を用いたことで、高速に、かつインタラクティブにこれだけの処理が行えるというのは、とても素晴らしいですね。
これもいわゆる幾何学系のデモという分類になるのかなあとは思いますが、その超自然的な模様の動きや柄には、なんだか不思議なロマンのようなものを感じます。
比較的単純な計算だけで成り立っているだけあって、かなり負荷は控えめな感じです。割と低スペックなマシンでもちゃんと動くと思います。
非常に面白いデモ作品となっていますので、ぜひチェックしてみてください。