3次元ランダムウォークのシミュレーションをブラウザ上で実行し、粒子が空間内を移動する様子が観察できるサイトツールです。
上の埋め込み内でも使えますが、うまく動かない・大きなページで使いたいというときは、元の3次元ランダムウォークシミュレーションページへ(新しいタブで開きます)。
三次元ランダムウォーク シミュレーション
このシミュレーションは、3次元空間における「ランダムウォーク(酔歩)」を視覚的に体験できる、インタラクティブなプログラムです。
JavaScriptのビジュアルライブラリ「p5.js」を使って作成されており、ブラウザ上で実行可能です。
ランダムウォークとは、粒子がランダムな方向に1ステップずつ動き続ける運動モデルで、物理・化学・生物学・金融など幅広い分野で応用されています。
3次元ではランダムウォークは原点に戻らない
3次元空間では、ランダムウォークをしている粒子がいつか原点に戻る確率は約34%しかありません。
逆に言うと、66%は戻ってこないまま永遠に離れていきます。
これは次のような直感で理解できます:
- 移動できる方向(自由度)が多いほど、一度離れたら戻るのが難しくなる
- 3次元では周囲が広く、迷子になりやすいイメージです
これを表で表すとこうなります。
次元 | 原点にいずれ戻る確率 |
---|
1次元(線) | 100%(必ず戻る) |
2次元(平面) | 100%(ほぼ確実に戻る) |
3次元(立体) | 約34%(3回に1回くらい) |
4次元以上 | 0%(ほぼ絶対に戻らない) |
このプログラムでは、プレイヤーはランダムウォーカーの動きを観察しながら、以下の操作を行うことができます。
ツールの機能と使い方
▷▶️ 開始 / 一時停止ボタン
「開始」ボタンを押すと、3D空間内でウォーカー(粒子)がランダムな方向に動き始めます。
もう一度押すと、一時停止します。
🔄 リセットボタン
リセットを押すと、ウォーカーは原点に戻り、歩いた軌跡とステップ数が初期化されます。
視点操作は維持されるため、すぐに再スタート可能です。
👁️🗨️ 3D表示と視点操作
このシミュレーションでは、WEBGL
モードと orbitControl()
を使っており、マウスのドラッグ操作で自由に視点を回転できます。
まるで空間内をドローンで観察しているような感覚が得られます。
マウスホイールで拡大と縮小が可能です。
📈 ステップ数の表示
UI右下には現在のステップ数がリアルタイムで表示されており、ウォーカーが何回動いたかが直感的にわかります。
💡 学習・応用のヒント
- 物理学の拡散モデルとしての応用(ブラウン運動など)
- 人工知能の強化学習の初期行動モデリング
- ゲーム内の非決定的行動(NPCのうろつきなど)
- 芸術作品としての生成系アートにも転用可能
📌 まとめ
- 3D空間でのランダムウォークをブラウザ上で体験できる
- p5.js の
WEBGL
とorbitControl()
を使い、3D視点で観察可能 - ボタン操作で開始・停止・リセットが簡単にできる
- ステップ数や軌跡をリアルタイムで表示
- 応用分野:物理・AI・アート・教育など
1次元や2次元は「原点に戻ってくる」という性質が観察できますが、3次元だとまったく違った挙動が観察できるのが興味深いです。