ライフゲームを三次元空間に配置し、そのシミュレーションをブラウザ上で実行し、セルの変化が観察できるサイトツールです。
上の埋め込み内でも使えますが、うまく動かない・大きなページで使いたいというときは、元の三次元ライフゲームシミュレーションページへ(新しいタブで開きます)。
🌱 ライフゲームとは
ライフゲーム(Game of Life)は、イギリスの数学者ジョン・コンウェイ(John Conway)が考案したセル・オートマトン(Cellular Automaton)の一種です。
このゲームでは、各セルが「生」または「死」の状態を持ち、周囲のセルの状態に応じて次の世代での生死が決まります。
平面上でのライフゲームでは、以下のようなルールが一般的です:
- 生きているセルは、隣接セルが2〜3個生きていれば生存。
- 死んでいるセルは、隣接セルがちょうど3個生きていれば誕生。
シンプルなルールながら、自己組織的なパターンや複雑な動きを生み出す点で、人工生命の研究やプログラミング教育でも人気があります。
🔷 三次元ライフゲームとは
本ツールは、ライフゲームのルールを三次元空間(x, y, z)に拡張したものです。
つまり、平面の代わりに立方体のグリッド(5×5×5)上で、セルの生死が進化します。
三次元化によって、セルは26方向(上下・左右・前後+斜め方向)に隣接するセルを持ちます。
このシミュレーションでは、次のルールを採用しています:
- 生きているセルは「5〜6個の隣接セル」が生きていれば生存。
- 死んでいるセルは「ちょうど5個の隣接セル」が生きていれば誕生。
このルールにより、2次元とは異なる動きや構造が現れ、より立体的な進化の様子を観察できます。
🧭 ツールの使い方
ボタンを押していくだけでライフゲームの観察ができます。
- UI構成
画面左にはセル操作用のUI、右には3D空間でのボクセル表示があります。
- 各階層(Z軸方向)のセルをクリックして「生(ON)」または「死(OFF)」を設定可能。
- セルの色は階層ごとに異なり、Z方向の深さを視覚的に把握できます。 - 操作ボタン
- 「ランダム」:グリッドをランダムに初期化します。
- 「スタート / 停止」:シミュレーションを開始または停止します。
- 「リセット」:全セルを死に戻します。 - 3D操作
- マウスのドラッグで回転、ホイールで拡大縮小が可能です(orbitControl()による操作)。
- 立方体枠の中に、生きたセルがボクセルとして表示されます。 - シミュレーション進行
スタート中は一定フレームごとに自動で世代が進み、「世代数」がUIに表示されます。
全てのセルが死滅すると自動で停止します。
🧩 まとめ
- ライフゲームは、セルの生死がルールで進化する数学的シミュレーション。
- 本ツールはその三次元版で、p5.jsによって3Dボクセルとして可視化。
- 階層ごとのUIで初期配置を編集し、「ランダム」「スタート/停止」「リセット」操作が可能。
- 教育・研究・アート用途にも応用できる、ブラウザ実行型の立体ライフゲーム。
3Dライフゲーム・シミュレーターは、立体的な生命進化のロジックを直感的に観察できる教育的・視覚的ツールです。
JavaScript(p5.js)とHTMLだけで動作するため、環境構築も不要で、誰でも気軽に試せます。


