反応拡散シミュレーター 戻る
自己組織化

反応拡散シミュレーター

Gray-Scottモデルで斑点・縞・珊瑚などのチューリングパターンをリアルタイム生成。拡散係数・フィード率・消滅率を自由に操作してください。

パラメータ

Du(U拡散係数)
Dv(V拡散係数)
F(フィード率)
k(消滅率)
速度

プリセット

計算結果
0
ステップ
斑点
パターン
0
FPS
U平均
反応拡散パターン
理論・主要公式

$$\frac{\partial u}{\partial t}=D_u\nabla^2 u - uv^2+F(1-u)$$

$$\frac{\partial v}{\partial t}=D_v\nabla^2 v + uv^2-(F+k)v$$

U(青=0, 黄=1)の濃度を疑似カラーで表示。F・kの組み合わせで多彩なパターンが出現します。

反応拡散シミュレーターとは

🙋
このシミュレーターで出てくる斑点や縞模様って、全部数学で決まってるんですか?生き物の模様みたいなのに見えるけど。
🎓
そうなんだ。大まかに言うと、2種類の仮想的な化学物質の「反応」と「広がる(拡散)」速度のバランスで、模様が自己組織化するんだ。例えば、上のスライダーで「フィード率F」をちょっと変えるだけで、斑点が縞に変わったりするよ。操作してみて。
🙋
え、そうなんですか!「消滅率k」も変えると模様が変わるということ?この2つのパラメータがどう効くのか、仕組みがよくわからないな。
🎓
実務では、Fとkの組み合わせをマップ(パラメータ空間)で整理して考えることが多いね。Fが小さくkが大きいと斑点が、Fが中くらいでkも中くらいだと縞が現れやすい。シミュレーターのプリセットボタンは、その代表的な組み合わせを一発で設定できるんだ。
🙋
なるほど。でも、この数式が現実の何に役立つんですか?模様を作るだけに見えるけど…。
🎓
いいところに気づいたね。例えば、魚の体表の模様や、サンゴの枝分かれした成長パターンのモデル化に使われるよ。材料科学では、合金の表面で起こる複雑な腐食パターンの予測にも応用されているんだ。パラメータをいじると、自然界に似た多様な構造が「湧き出て」くるのが面白いよね。

よくある質問

シミュレーションはリアルタイムで進行します。パラメータ変更後、新しい模様が安定するまでに数十〜数百ステップの時間が必要です。数秒待つか、画面上の「リセット」ボタンで初期化してから再度パラメータを調整してください。
一般的にDvをDuより大きく(例:Du=0.1, Dv=0.05)設定すると斑点模様が、Dvをさらに大きくすると縞模様や珊瑚状のパターンが現れやすくなります。比率を変えながら試すと多彩なチューリングパターンが得られます。
Fは物質Uの供給速度で、値を上げると模様が密になり、下げると疎になります。kは物質Vの消滅速度で、値を上げると模様が細かく複雑になり、下げると太く単純なパターンになります。両者のバランスがパターン形成の鍵です。
はい、ヒョウ柄や魚の縞模様など、自然界のチューリングパターンを近似的に再現可能です。ただし、実際の生物模様は遺伝子や成長過程の影響も受けるため、完全な再現にはなりません。あくまで反応拡散モデルによる近似としてお楽しみください。

実世界での応用

生物の形態形成:チューリングパターンとして知られ、魚(ゼブラフィッシュ)の縞模様や哺乳類の毛並みのパターン、羽毛の配置などの理論的モデルとして研究されています。発生生物学における自己組織化の基本原理の一つです。

材料表面の現象:金属の腐食(孔食)パターンや、特定の条件下での燃焼フロントの伝播、電気化学的な沈殿パターン(リースガングリング)などの複雑な現象をシミュレートし、理解するために用いられます。

化学反応工学:非線形化学反応、特にオシレーター反応(BZ反応など)における空間パターン形成の解析に応用されます。反応器内の均一性が崩れて生じるパターンを予測するのに役立ちます。

画像処理・CG:このモデルから生まれる有機的で自然なテクスチャは、コンピュータグラフィックスにおいて、動物の皮膚や岩石の風合いなど、リアルな質感を生成するアルゴリズムのインスピレーション源となっています。

よくある誤解と注意点

まず、「初期状態は何でもいい」と思っていない? 実は初期状態は非常に重要で、わずかなノイズ(ランダム性)がパターン形成の「種」になります。完全に均一な状態からは何も生まれません。このシミュレーターでは初期状態として中央にVの「種」を置いていますが、実務では現実の観測データに基づくノイズを設定する必要があります。

次に、パラメータ調整で「狙った模様」をすぐ作れると期待しがちですが、Fとkの組み合わせは非常に繊細です。例えば、プリセットの「斑点」から「縞」に移行する際、その中間のパラメータでは無秩序な模様(カオス)が現れることがよくあります。これはバグではなく、系の非線形性の本質です。実務では、パラメータ空間を系統的に掃引して「安定領域」を見つけることが第一歩です。

また、「拡散係数比(Dv/Du)は固定でいい」という思い込みも要注意。Gray-Scottモデルの本質は、活性化子Vが抑制子Uよりもずっと狭い範囲に留まる(Dv < Du)ことにあります。この比率を1に近づけると、模様は形成されず均一な状態に収束してしまいます。シミュレーションで模様が出ない時は、まずこの前提を確認しましょう。

使い方ガイド

  1. 拡散係数Du(通常0.16)とDv(通常0.08)をスライダーで設定し、物質U と物質Vの拡散速度を制御
  2. フィード率F(0.02~0.1範囲)とキル率K(0.04~0.06範囲)を調整してGray-Scottモデルのパターン形成条件を変更
  3. シミュレーション実行後、格子上に生成されたチューリングパターン(縞模様、スポット、螺旋など)の時間変化を観察

具体的な計算例

Du=0.16、Dv=0.08、F=0.055、K=0.062の条件でシミュレーション開始時、初期濃度はU=1.0、V=0.5に設定。反応式∂U/∂t=Du∇²U-UV²+F(1-U)、∂V/∂t=Dv∇²V+UV²-(K+F)Vにより、約5000ステップ後に200×200格子上に六角形スポットパターンが形成。F=0.03、K=0.055に変更するとストライプパターンへ遷移し、パターン波長は約30ピクセルに減少。

実務での注意点