// 01 — OVERVIEW
ソフトウェア概要
SimLab は、ブラウザだけで動作する高性能シミュレーション・プラットフォームです。 物理・工学モデルから社会科学・複雑系まで、8つの独立したシミュレーターをタブで切り替えながら パラメーターをリアルタイムに操作し、現象の本質を視覚的に理解できます。
工学系シミュレーション
材料力学・電気回路・ロボット工学の基礎理論をリアルタイム可視化。数値解析と2D描画を組み合わせた直感的な操作環境。
社会・都市シミュレーション
都市成長・交通流などの巨視的社会現象を数理モデルで再現。セルオートマトンとNS交通モデルを採用。
複雑系・カオス理論
非線形力学・群知能・ネットワーク科学の中核アルゴリズムを実装。Boids・ロジスティック写像・BA/ERモデルに対応。
// 02 — INTERFACE
画面構成
3ゾーン レイアウト
Zone A
🔝 ヘッダーナビゲーション
- 8タブで瞬時に切り替え
- カテゴリラベル付き表示
- アクティブタブは紫でハイライト
- 横スクロール対応(モバイル可)
Zone B
◀ サイドバー(制御パネル)
- スライダーでパラメーター調整
- ドロップダウンでモード切替
- リアルタイム数値表示
- 実行・停止・リセットボタン
Zone C
▶ メインキャンバス
- HTML5 Canvas 2D 描画
- ウィンドウサイズに自動追従
- 60fps アニメーション対応
- グラフ・図形・波形を統合表示
// 03 — SIMULATORS
各シミュレーター詳細
材料強度解析ツール
Material Stress Analysis単純支持梁に集中荷重をかけたときの応力・たわみ・安全係数を有限要素的手法で解析します。 材料と断面形状を変えると断面2次モーメントが再計算され、カラーマップでリアルタイムに可視化されます。 降伏点を超えると赤色の警告表示が現れます。
回路シミュレーター
Circuit SimulatorRLC直列回路の過渡応答・定常応答を波形とフェーザー図で同時表示します。 電圧・電流・コンデンサ電圧の3波形をリアルタイム描画。 共振周波数付近でインピーダンスが最小となる現象を直感的に体験できます。
ロボット運動シミュレーター
Robot Kinematics Simulator3自由度ロボットアームの順運動学(Forward Kinematics)を2Dで可視化します。 各関節角度θ₁・θ₂・θ₃を操作するとエンドエフェクタ(先端)の座標がリアルタイムで更新されます。 軌跡アニメーションボタンで関節が周期的に動き、可動域(リーチ)円も表示されます。 関節ごとに異なる色のアームで視認性を高めています。
都市成長シミュレーター
Urban Growth Simulatorセルオートマトン (CA) を用いて都市の空間的拡大を再現します。 80×80 グリッドの各セルが「空地・住宅・商業・工業・緑地・道路」のいずれかに変化。 隣接するセルの種類・密度・道路アクセスが次のステップの土地利用を確率的に決定します。
交通流シミュレーション
Traffic Flow (NS Model)Nagel-Schreckenberg (NS) モデルに基づく渋滞発生シミュレーション。 加速→前方確認→ランダム減速→移動の4ルールで自然な渋滞波が出現します。 信号機の追加や車線数変更で流量変化を観察できます。 車両色はリアルタイム速度を緑(高速)〜赤(停止)でコードします。
経済カオスモデル
Economic Chaos Modelロジスティック写像 で経済成長のカオス的挙動を可視化。 成長率 r を上げると定常→周期2→周期4→カオスへと bifurcation(分岐)が起こります。 初期値をわずかにずらした2本の軌跡を重ね、初期値敏感性を直感的に確認できます。 「分岐図」ボタンで r=2.5〜4.0 の全ての定常点を一望できます。
群れ行動(Boids)
Flocking BehaviorCraig Reynoldsの Boidsアルゴリズム による群れ行動シミュレーション。 個々は①分離(衝突回避)②整列(方向統一)③結合(群れ維持)の3つの単純なルールだけで複雑な群れを形成します。 捕食者を追加すると群れが一斉に逃避する緊急回避行動も観察できます。
ネットワーク進化モデル
Network Evolution Model4種類の複雑ネットワーク生成モデルを切り替えて構造を比較します。 BA (Barabási–Albert) は優先的選択により少数のハブが多数の接続を持つスケールフリーネットワーク(インターネット・SNSに相当)を生成。 ER (Erdős–Rényi) はランダム接続、WS (Watts–Strogatz) はスモールワールド(高クラスター+短距離)を生成します。 「情報拡散」でハブからの伝播速度を、「ハブ除去攻撃」でネットワーク耐性を確認できます。 Force-Directed Layout でノードが自動整列されます。
// 04 — ALGORITHMS
採用アルゴリズム一覧
| シミュレーター | コアアルゴリズム | 計算手法・特徴 |
|---|---|---|
| 材料強度解析 | 梁の曲げ理論 | 断面2次モーメント I を形状・寸法から解析的に算出。応力 σ=Mc/I、たわみ δ=PL³/(48EI) を100点セグメント分布で描画 |
| 回路シミュレーター | 交流回路解析 (フェーザー法) | 複素インピーダンス Z = R + j(ωL−1/ωC) で各波形を直接計算。フェーザー図をSVG風Canvas描画 |
| ロボット運動 | 順運動学 (DH変換行列) | 3段の同次変換を合成して先端座標を算出。アニメーションは3関節の周期的正弦波制御 |
| 都市成長 | 確率的セルオートマトン (CA) | Moore近傍 (半径2) の密度・道路状態から遷移確率を計算。ランダムサンプリングによる非同期更新 |
| 交通流 | Nagel-Schreckenberg (NS) モデル | 加速→前方確認→確率的減速→移動の4ステップ離散時間更新。周期境界条件・信号機拡張付き |
| 経済カオス | ロジスティック写像 / 分岐図 | x_{n+1}=rx_n(1-x_n) の繰り返し写像。リアプノフ指数 λ=⟨log|r(1-2x)|⟩ を数値計算。分岐図は r×800点で800反復 |
| 群れ行動 | Craig Reynolds Boids (3ルール) | 全ペアO(N²)近傍探索。速度上限クリップ・トロイダル境界・捕食者ポテンシャル場を追加 |
| ネットワーク進化 | BA / ER / WS / 格子生成 | BAは優先的選択 (Preferential Attachment)。クラスター係数はO(k²)三角形カウント。Force-Directed Layout で50反復整列 |
// 05 — TECHNOLOGY
技術スタック
HTML5
単一ファイル構成。インストール不要でブラウザで即起動
CSS3
CSS Variables / Flexbox / Grid。ダークテーマ統一デザイン
Canvas 2D API
全シミュレーターの描画エンジン。requestAnimationFrame で滑らか更新
Pure JavaScript
外部ライブラリ0。数値解析・物理演算・グラフ描画をすべて自前実装
// 06 — QUICK START
使い方ガイド
ファイルをブラウザで開く
simulation_platform.html をダブルクリックするか、ブラウザにドラッグ&ドロップします。Chrome / Firefox / Edge / Safari 最新版に対応しています。
タブでシミュレーターを選択
画面上部のタブバーから目的のシミュレーターをクリックします。工学 社会 複雑系 のカテゴリラベルで素早く識別できます。
サイドバーでパラメーターを調整
左パネルのスライダーを動かすと、メインキャンバスがリアルタイムで更新されます。数値は自動的に計算されて表示されます。
実行・停止・リセットを活用する
継続アニメーション系(都市成長・交通流・Boids)は▶ 開始ボタンで動作します。リセットで初期状態に戻せます。
特殊機能を試す
経済カオス:分岐図ボタン /
群れ行動:捕食者追加ボタン /
ネットワーク:情報拡散・ハブ除去ボタン /
ロボット:軌跡アニメボタン
// 07 — TIPS
観察ポイント
材料強度:破断境界
安全係数が 1.0 を下回ると降伏発生。荷重を増やしながら赤色警告が現れる瞬間を確認しよう。断面をI型に変えると同じ荷重でも安全係数が大幅に改善される。
回路:共振現象
周波数スライダーを動かして共振周波数 f₀ 付近に合わせると電流が最大になる。この時、コンデンサとコイルの電圧が電源電圧を大きく上回る「電圧拡大」現象が起きる。
カオス:臨界点 r≈3.57
ロジスティック写像の成長率を r = 3.57 付近まで上げると、きれいな周期運動が突然カオスに崩壊する。分岐図で全体像を確認するとフラクタル構造が現れる。
交通流:相転移
車両密度を 0.3 → 0.5 以上に上げると、流量が突然落ちる「相転移」が観察できる。低密度では流量∝密度だが、高密度では渋滞が支配的になる。
Boids:創発
3つのルールだけで魚の群れや鳥の編隊に見える動きが生まれる「創発」を観察できる。分離を0にすると重なり、整列を0にするとランダムになる。捕食者を追加して緊急回避を見てみよう。
ネットワーク:ハブ脆弱性
BAスケールフリーで情報拡散後に「ハブ除去攻撃」を実行すると、少数のハブ削除でネットワークが孤立化する。ランダム(ER)では同じ攻撃に強い耐性を持つ。