SOFTWARE DOCUMENTATION

Physics Lab
物理シミュレーター

数学的な物理現象をリアルタイムでアニメーション表示するインタラクティブ学習ツール。パラメータを自由に操作しながら、物理の法則を視覚的に体験できます。

HTML5 CSS3 JavaScript Canvas API

ソフトウェア概要

Physics Lab は、振り子・放物運動・重力場・波動・軌道運動の5つの物理現象を、リアルタイムシミュレーションで可視化するWebアプリケーションです。スライダーでパラメータをその場で変更でき、計算結果が即座に画面に反映されます。
リアルタイム演算
毎フレーム60FPSで物理方程式を数値積分し、アニメーションとして描画します。
5種類のシミュレーター
タブ切り替えで5つの異なる物理現象をシームレスに切り替えられます。
パラメータ操作
重力・速度・減衰など各シミュレーター固有の変数をスライダーで即時調整できます。
計測値の表示
角度・速度・エネルギーなどの物理量を数値でリアルタイム表示します。

各シミュレーターの解説

5つのシミュレーターはそれぞれ独立した物理モデルで動作します。パラメータの変更は即座に反映され、自然現象の変化を直感的に理解できます。

01 振り子運動 タブ:振り子
説明

糸に吊り下げられた重りが重力によって往復運動する「単振り子」をシミュレートします。スライダーで振り子の長さ・重力・減衰係数を変更すると、周期や軌跡がリアルタイムに変化します。

「二重」ボタンを押すと二重振り子(カオス運動)が追加表示されます。初期条件の微小な差が時間とともに大きく発散する様子が確認できます。

調整パラメータ
  • 振り子長 80〜300px(糸の長さに比例)
  • 重力 g 1〜25 m/s²(地球=9.8)
  • 減衰係数 0.990〜1.000(空気抵抗)
運動方程式 α = −(g / L) × sin θ  ← 角加速度の計算式
02 放物運動 タブ:放物運動
説明

発射台から飛び出した物体が重力と風の影響を受けながら飛行する様子をシミュレートします。「発射」ボタンを押すたびに軌跡が追加表示され、条件の違いを比較できます。

青い破線で理想放物線(風なし)を常に表示しているため、風速の影響を視覚的に確認できます。

調整パラメータ
  • 初速度 5〜80 m/s
  • 発射角 5〜85°(最大射程は45°)
  • 重力 g 1〜25 m/s²
  • 風速 −20〜+20(横方向の加速)
計算式 x = v₀cos θ · t  y = v₀sin θ · t − ½gt²
03 重力場 タブ:重力場
説明

中心に固定された恒星の周囲を複数の天体が引力に従って運動するN体問題のシミュレーションです。背景には重力場のベクトル矢印が描画されており、重力の強さと向きを可視化しています。

「追加」ボタンで天体を増やすことができ、多体系のカオス的な動きを観察できます。速度スライダーでシミュレーションの進行速度を変更可能です。

調整パラメータ
  • 重力定数 G 50〜2000(引力の強さ)
  • 速度倍率 0.1〜4.0×(時間進行の速さ)
万有引力の法則 F = G × m₁m₂ / r²
04 波動・干渉 タブ:波動
説明

2つの正弦波を独立して設定し、それらが重ね合わさった合成波をリアルタイムで表示します。周波数の差によって生じる「うなり(ビート)」現象を視覚的に確認できます。

位相差スライダーでは2つの波がどれだけずれているかを調整でき、完全な打ち消し合い(逆位相)や強め合い(同位相)を体験できます。

調整パラメータ
  • 周波数1 0.2〜5.0 Hz(波1の振動数)
  • 周波数2 0.2〜5.0 Hz(波2の振動数)
  • 振幅 10〜100(波の高さ)
  • 位相差 0〜360°(波のずれ)
重ね合わせの原理 y = A·sin(ωt + φ₁) + A·sin(ωt + φ₂)
05 軌道運動 タブ:軌道
説明

中心の恒星を軸に、複数の惑星と衛星がケプラーの法則に従って公転する太陽系モデルです。内側の惑星ほど速く、外側の惑星ほどゆっくり公転する様子を確認できます。

軌道トレイルが残るため、楕円軌道の形状や惑星間の相互引力による軌道の乱れを観察できます。

調整パラメータ
  • 重力定数 G 500〜8000(軌道の安定性に影響)
天体構成
恒星(中心・固定)
惑星A・B・C(公転)
衛星(惑星Bに付随)
ケプラーの法則 T² ∝ a³ (公転周期² ∝ 軌道長半径³)

画面の見方・操作方法

シンプルな3ペイン構成で、直感的に操作できます。

ヘッダー(上部)

タブを選択することでシミュレーターを切り替えます。切り替えと同時に状態がリセットされます。

キャンバス(中央)

物理シミュレーションがリアルタイムで描画されるメインエリアです。軌跡・ベクトル・エフェクトが表示されます。

サイドパネル(右)

スライダーでパラメータを調整します。下部の数値ブロックで物理量をリアルタイム確認できます。

ボタン操作

各シミュレーターに「リセット」ボタンがあります。振り子は「二重」、重力場は「追加」で機能を拡張できます。


物理定数・法則の対照表

各シミュレーターで使用されている主要な物理定数と公式の一覧です。

定数・変数 意味 標準値 / 単位
g(重力加速度) 物体が地球に引き寄せられる加速度 9.8 m/s²
L(振り子長) 支点から重りまでの距離 px(表示スケール依存)
T(周期) 振り子が1往復する時間 T = 2π√(L/g) [s]
v₀(初速度) 発射時の速さ m/s
θ(発射角) 地面に対する発射方向の角度 度(°)
G(重力定数) 万有引力の強さを決める定数 6.674×10⁻¹¹ N·m²/kg²
f(周波数) 波が1秒間に振動する回数 Hz(ヘルツ)
φ(位相) 波の基準点からのずれ 度(°)または ラジアン
a(軌道長半径) 楕円軌道の長軸の半分の長さ px(表示スケール依存)