生命・工学 統合シミュレーションエンジン
生物学・生命科学・流体力学の主要現象を、数学的モデルとインタラクティブな可視化によってリアルタイムに体験できる統合型シミュレーションプラットフォーム。6つの独立モジュールが単一アプリケーションに統合されています。
BioSim Engine は、複雑な自然現象を支配する数理モデルを、視覚的かつインタラクティブに探索できるよう設計されたシミュレーションソフトウェアです。
遺伝的アルゴリズムによる人工生命の進化から、ナビエ–ストークス方程式に基づく流体シミュレーションまで、生物・生命・工学の各分野にわたる6つのモジュールを搭載しています。
外部ライブラリに依存せず、標準のHTML5 Canvas APIのみで実装されており、ブラウザ上で即座に動作します。すべてのパラメータはスライダーで動的に調整でき、現象の変化をリアルタイムで観察することができます。
"Simulation is the telescope of the mind — it lets us see what equations alone cannot reveal."— BioSim Engine Design Principle
| ファイル構成 | 単一HTMLファイル(約1,300行) |
| 外部依存 | Googleフォントのみ(機能に非必須) |
| 対応ブラウザ | Chrome / Firefox / Safari / Edge(最新版) |
| 最適解像度 | 1280px 以上推奨(レスポンシブ対応) |
| シミュレーション数 | 6 モジュール(生物3 + 生命2 + 工学1) |
| 並列実行 | タブ切替による独立実行(メモリ共有なし) |
人工生命進化エンジン
遺伝的アルゴリズムをベースに、複数の個体が「速度」「視野」「空腹係数」「旋回バイアス」などのDNA情報を持ち、食物を探索・摂取しながら自然選択の圧力を受けて世代を重ねます。エネルギーが十分に蓄積された個体は自律的に繁殖し、突然変異率に応じて形質が変化します。個体群が絶滅すると再起動し、累積絶滅回数が記録されます。
DNA変異シミュレーター
塩基配列(A・T・G・C)の4種の塩基からなるDNA鎖を生成し、点突然変異(置換)・挿入・欠失の3種類の変異を確率的に適用して世代を進化させます。各世代の配列は履歴として保存され、塩基表示・コドン表示・変異ヒートマップの3種類のビジュアライゼーションモードで観察可能です。さらに2つの配列を任意の位置で組み合わせる交叉(クロスオーバー)操作もサポートします。
感染症拡散モデル
古典的SEIRモデルを拡張し、死亡コンパートメントDを加えたSEIRD微分方程式系を数値積分(前進オイラー法・日次ステップ)で解きます。COVID-19の3つの変異株(原株・デルタ・オミクロン)のパラメータプリセットを搭載。ワクチン接種率による初期免疫集団の設定、ピーク感染者数・累計死亡者数のリアルタイム計算、粒子シミュレーションによる感染拡大の視覚化も同時に表示します。
脳神経ネットワーク可視化
スパイキングニューロンモデルにより、各ニューロンが膜電位を積算し閾値を超えると発火(Action Potential)し、シナプスを通じて興奮性・抑制性信号を隣接ニューロンへ伝播します。ネットワーク構造はランダム・階層型・リング型・スモールワールドの4種類から選択可能。ヘッブ則的な学習(重みの更新)も部分的に実装されており、外部刺激ボタンで局所的な興奮波を手動で誘発できます。
生態系シミュレーター
ロトカ=ボルテラ方程式の精神をAgent-Basedモデルとして実装。植生・草食動物・肉食動物の三者が空間上でリアルタイムに相互作用します。草食動物は植生を探して食べ、天敵から逃走し、エネルギーが蓄積すると繁殖します。肉食動物は草食動物を追跡・捕食し、飢えると死滅します。個体数の時系列グラフにより、ロトカ=ボルテラ振動(被食–捕食の位相差サイクル)をリアルタイムで観察できます。
流体シミュレーター
Jos Stamの安定流体法(Stable Fluids, 1999)に基づき、非圧縮性粘性流体をリアルタイムで計算します。拡散ステップ(線形ソルバー)・移流ステップ(バックトレース法)・圧力投影(連続の式の保持)の3ステップによりナビエ–ストークス方程式を近似。速度場・圧力場・密度場・渦度場の4種類のカラーマップ表示、マウスによるインタラクティブな流体操作、カルマン渦・管内流・乱流の3つの自動プリセットを搭載します。
感受性(S)・潜伏(E)・感染(I)・回復(R)・死亡(D) の5コンパートメントモデル。基本再生産数 R₀ = β/γ が1を超えると感染が拡大する。
非圧縮性粘性流体の運動方程式。左辺は慣性力(移流加速)、右辺は圧力勾配力と粘性拡散力のバランスを表す。Jos Stam (1999) の安定流体法により実時間計算を実現。
被食者(N)と捕食者(P)の個体数ダイナミクス。両者の個体数は周期的振動(ロトカ=ボルテラ振動)を示し、位相がずれながら共存する。Agent-Basedモデルで空間的に実装。
漏れ積分発火モデル(LIF近似)。膜電位Vがシナプス入力を積算し、閾値θを超えると発火(スパイク)し膜電位がリセットされる。興奮性・抑制性シナプスの両方を実装。
BioSim Engine は「単一ファイル・ゼロ依存」を核心設計方針とします。すべてのシミュレーションロジック、UIコンポーネント、スタイリングが1つのHTMLファイルに完結しており、インターネット接続なしでも(フォントを除き)完全動作します。
各モジュールは即時関数式(IIFE)でスコープを分離し、モジュール間の状態汚染を防止。Canvas APIを直接操作することでフレームワーク抽象化のオーバーヘッドを排除し、最大パフォーマンスを実現します。
| モジュール分離 | IIFE(即時実行関数)によるスコープ隔離 |
| レンダリング | Canvas 2D Context / ImageData API |
| アニメーション | requestAnimationFrame ループ |
| 数値計算 | Float32Array による高速バッファ |
| UI制御 | イベントリスナー + CSS変数 |
| 状態管理 | クロージャによるローカル状態 |
| レスポンシブ | CSS Grid + ResizeObserver |
sliderSetup()ヘルパーで一元管理。BioSim Engine はHTMLファイルをブラウザで開くだけで即座に起動します。インストール・設定は一切不要です。
bio_sim.html をChromeやFirefoxなどのモダンブラウザにドラッグ&ドロップするか、直接ダブルクリックして開きます。