HTML5による仮想物理実験室(物理シミュレーション)
本コンテンツについて
「HTML5による仮想物理実験室(物理シミュレーション)」は、HTML5の強みを活かして物理現象を可視化することを目的として作成しています。 本コンテンツは、中・高・大学の授業等で利用してもらうことを意図して、MIT licenseの元、自由に改変、再配布等を認めています。 興味のある方は下記からダウンロード後、ご利用ください。
なぜHTML5?
物理シミュレーション環境の構築に必要な要素として、【入力】【演算】【描画】の3つが挙げられます。これまで【入力】は各実行環境に応じたGUI、【演算】はC言語などのプログラミング言語、【描画】は二次元グラフ描写ならgnuplot、3次元グラフィックスならOpenGLというように、独立したアプリケーションをそれぞれ習得する必要がありました。
しかしながら、HTML5の登場により、状況は劇的に変化しつつあります。【入力】はHTMLが本来得意とするインタラクティブ・インターフェース、【演算】はウェブブラウザ上で高速実行可能なJavascript、【描画】はcanvas要素によるリアルタイムな二次元ならびに三次元のグラフィックス描画と、HTML5の各要素によって、物理シミュレーション環境の構築に必要な3つの要素すべてが高レベル、かつウェブブラウザだけで完結することが可能となりました。
さらにHTML5で作成したアプリケーションはウェブブラウザを介して様々な環境で実行することができる上に、当然ながら、HTMLの本領であるウェブ上での公開も容易です。すなわち、アプリケーションの共通プラットフォームであるHTML5の一つの応用例として、HTML5は、新しいインタラクティブな科学コミュニケーションツールとしての可能性を大きく秘めていると考えています。
物理シミュレーションは、様々な条件で何度でも、また実際の実験系では再現の難しい条件ですらパラメータ1つで「実験」することができ、さらには様々な情報(本書では軌跡や速度ベクトル、ストロボ撮影を実装)を付加することもでき、中学校・高校・大学における物理教育にも活用できると考えています。
プロ・アマ問わず、それぞれの方々の興味のもと物理現象の解説や発見などを発表できれば面白いなと思っています。
ダウンロード
・HTML5_PHYSICS_r4.zip(2016年05月23日、2個追加)
・HTML5_PHYSICS_r3.zip(2016年05月22日、7個追加)
・HTML5_PHYSICS_r2.zip(2016年05月21日、9個追加)
・HTML5_PHYSICS_r1.zip(2016年05月21日)
注意!
ローカル環境でWebWorkersやテクスチャマッピングを行う場合、セキュリティ関連エラーを発生する可能性があります。
GoogleChromeの場合のエラー文は「'◯◯◯' cannot be accessed from origin 'null'」です。
GoogleChromeの場合、起動オプション「--allow-file-access-from-files」を設定することで回避することができます。
物理学分野ごとのサンプルプログラム
古典力学
プログラム名 | 説明 | オススメ度 | 参考 | |
---|---|---|---|---|
等速直線運動の時間発展 | 初期位置が異なる場合の運動の違いをストロボ表示。 | ☆☆ | 書籍 フレームワーム | |
重力場中の水平投射運動の時間発展 | 初期位置が異なる場合の運動の違いをストロボ表示。 | ☆☆ | 書籍 フレームワーム | |
単純な単振動の時間発展 | バネによる単純な単振動の様子。 | ☆☆ | 書籍 フレームワーム | |
重力場中の単振動の時間発展 | 重力場中のバネによる単振動。 | ☆ | 書籍 | |
重力場中の単振動の時間発展(支点をマウスドラック可) | 重力場中のバネによる単振動。時間発展中に支点をマウスドラックで移動可。 | ☆☆ | 書籍 | |
減衰振動運動シミュレーション | バネによる減衰振動。 | ☆☆ | 書籍 | |
重力場中の減衰振動運動シミュレーション | 重力場中のバネによる減衰振動。 | ☆☆ | 書籍 | |
強重力場中の制振動運動シミュレーション | 重力場中のバネによる制振動運動。共鳴状態の時間発展。 | ☆☆ | 書籍 | |
支柱が固定された振り子運動 | 重力場中の伸び縮みのしない紐による振子運動。 | ☆☆☆ | 書籍 | |
支柱が固定された振り子運動(初速度が与えられた場合) | 重力場中の伸び縮みのしない紐による振子運動。支柱に向かう方向とは垂直な方向の初速度を与えた場合。 | ☆☆☆ | 書籍 | |
支柱が固定された振り子運動(異なる初期角度の運動の比較) | 重力場中の伸び縮みのしない紐による振子運動。異なる初期角度の運動の時間発展を比較。 | ☆☆ | 書籍 | |
長さの異なる振り子運動のシミュレーション | 重力場中の伸び縮みのしない紐による振子運動。長さの異なる振り子運動の時間発展を比較。 | ☆☆ | 書籍 | |
振り子の強制振動運動のシミュレーション | 重力場中の伸び縮みのしない紐による振子運動。支柱を周期的に水平に振ることで強制振動させる。 | ☆☆☆☆ | 書籍 | |
経路を円形に拘束された球の運動シミュレーション | 重力場中の球の運動を円形経路に固定した周期運動。 | ☆☆☆☆ | 書籍 | |
経路を放物線に拘束された球の運動シミュレーション | 重力場中の球の運動を放物線経路に固定した周期運動。 | ☆☆☆☆ | 書籍 | |
経路を楕円形に拘束された球の運動シミュレーション | 重力場中の球の運動を楕円形経路に固定した周期運動。 | ☆☆☆☆ | 書籍 | |
経路をサイクロイド曲線形経路に拘束された球の運動シミュレーション | 重力場中の球の運動をサイクロイド曲線形経路に固定した周期運動。 | ☆☆☆☆ | 書籍 | |
経路に拘束された球の運動シミュレーション(サイクロイド曲線/円/楕円/2次方程式の比較) | 重力場中の球の運動を指定した任意の経路上を固定した周期運動。サイクロイド曲線、円、楕円、2次方程式を比較した様子。 | ☆☆☆☆☆ | 書籍 | |
2重振り子シミュレーション | 重力場中にて伸び縮みのしない紐で繋がれた2つの振り子の運動。任意の初期値に対する時間発展を計算。 | ☆☆☆ | ウェブページ |
波動論
プログラム名 | 説明 | オススメ度 | 参考 | |
---|---|---|---|---|
1次元拡散方程式の解析解 | ガウス分布している拡散粒子の分布密度の時間発展をグラフで表示。WebWorkers利用。 | ☆☆☆ | 書籍 | |
2次元拡散方程式に対するノイマン境界条件とディリクレ境界条件 | ノイマン境界条件とディリクレ境界条件を切り替えて時間発展を計算 | ☆☆ | 書籍 | |
2次元拡散方程式の数値解 | 水中に置いた銅板に点熱源を与えた時の温度変化の時間発展を計算。 | ☆☆☆☆☆ | 書籍 | |
1次元波動方程式の時間発展の解析解 | ガウス分布している変位の時間発展をグラフで表示。WebWorkers利用。 | ☆☆ | 書籍 | |
2次元波動方程式の数値解 | ガウス分布している変位の時間発展を計算。 | ☆☆☆☆☆ | 書籍 | |
2次元波動方程式の数値解(回折現象) | 2重スリットを通過する平面波の回折現象をシミュレーション。 | ☆☆☆ | 書籍 | |
2次元波動方程式の数値解(ドップラー現象) | 点波源を移動させた時のドップラー現象をシミュレーション。 | ☆☆☆ | 書籍 | |
異なる媒質に入射した平面波の時間発展 | 異なる媒質に入射した平面波に対する透過波・反射波の解析解をそれぞれ表示。 | ☆☆ | 書籍 | |
異なる媒質に入射したパルスの時間発展 | 異なる媒質に入射したパルスの解析解を表示。 | ☆☆☆☆☆ | 書籍 | |
2次元平面波ビューア | 2次元平面波を特徴づける進行方向(角度)、波長、周波数を指定可能。 | ☆☆☆☆ | 書籍 | |
円形膜の基準振動ビューア | 波動方程式の解であるベッセル関数のゼロ点を表す指数を指定可能。 | ☆☆☆☆☆ | ウェブページ |
電磁気学
プログラム名 | 説明 | オススメ度 | 参考 | |
---|---|---|---|---|
点電荷による電気力線の可視化 | 4つの点電荷(四極子)による電気力線。 | ☆☆ | グラフ | |
2つの点電荷(正と負)による静電ポテンシャルの可視化 | 2つの点電荷(正と負)による静電ポテンシャルの高低をz軸方向で表現。 | ☆☆ | グラフ | |
コンデンサー風電荷配置による静電ポテンシャルの空間分布 | 正負の点電荷を2列並べた時の静電ポテンシャルの高低をz軸方向で表現。 | ☆☆ | グラフ | |
サイクロトロン運動シミュレーション | 空間分布が一様な静磁場中を運動する荷電粒子の時間発展。異なる初速度による運動を比較。 | ☆☆☆☆ | ウェブページ | |
ラザフォード散乱の散乱角のグラフ(衝突径数 vs. 散乱角) | 荷電粒子同士がクーロン力によって散乱される運動。 | ☆☆☆☆ | ウェブページ |
統計力学
プログラム名 | 説明 | オススメ度 | 参考 | |
---|---|---|---|---|
2次元ランダムウォーク | 2次元ランダムウォーク。2次モーメントをリアルタイムに計算。 | ☆ | ? | |
2次元自己回避ランダムウォーク. | 2次元自己回避ランダムウォーク。2次モーメントをリアルタイムに計算。 | ☆ | ? | |
ポテンシャル中を運動するブラウン粒子シミュレーション | ランジュバン方程式によるブラウン粒子の時間発展を計算。 | ☆ | ? | |
雪の結晶シミュレーション(2次元DLA) | 結晶成長の単純なモデルである拡散律則凝集のシミュレーション。 | ☆☆☆ | ウェブページ |
量子力学
プログラム名 | 説明 | オススメ度 | 参考 | |
---|---|---|---|---|
水素原子の波動関数ビューア | 水素原子様ポテンシャルの1電子解析解に対する確率密度の点描画。 | ☆☆☆ | ウェブページ | |
電子パルスのトンネル効果 | 電子パルスをポテンシャル障壁へ照射した時のトンネル効果の結果を描画(解析解)。読み込みに時間が掛かるため気長に待つ必要あり。 ローカルで実行するには別途データダウンロードが必須。 | ☆☆☆☆☆ | 動画 | |
水素原子の電子軌道(d_z^2軌道)(不透明版) | 水素原子の電子軌道の3次元空間分布をx平面、y平面、z平面上のカラーマップで表現。マウスドラックでカラーマップ面を移動可能。 | ☆☆☆☆ | ウェブページ |
物理数学
プログラム名 | 説明 | オススメ度 | 参考 | |
---|---|---|---|---|
テーラー展開によるsin関数 | テーラー展開の項数を増加させるほどsin関数に近づいていく様子を確認。 | ☆ | 書籍 | |
sin関数によるデルタ関数の描画 | sin関数の振動数を増加させるほどデルタ関数に近づいていく様子を確認。 | ☆☆ | 書籍 | |
矩形関数のフーリエ級数展開 | 矩形関数のフーリエ級数展開。 | ☆☆☆ | 書籍 | |
ステップ関数のフーリエ級数展開 | ステップ関数のフーリエ級数展開。 | ☆☆☆ | 書籍 | |
ガウス分布のフーリエ級数展開 | ガウス分布のフーリエ級数展開。 | ☆☆☆ | 書籍 | |
シンプソン法による積分(sin関数) | 積分計算アルゴリズム「シンプソン法」による数値積分。解析解との差も表示。 | ☆☆☆ | 書籍 |
その他
プログラム名 | 説明 | オススメ度 | 参考 | |
---|---|---|---|---|
ライフゲーム | セル・オートマトンの有名な数理モデルの一つ。単純なルールの奥に潜む創造を絶する様々な安定解は多くの人の心を捉えて離しません。 | ☆☆ | ? |
備考
動作環境
HTML5が動作する最新ウェブブラウザ。ただし、一部の機能は「Google Chrome」のみで動作。
◎ Google Chrome 35(全機能動作)
◎ Opera 26(全機能動作)
◯ Mozilla Firefox 32(動画生成不可)
△ Internet Explorer 11(動画生成不可・画像ダウンロード不可)
ライセンス
MIT licenseの元、変更、再配布、商用利用などによる利用を認めます。
Copyright (c) 2015 Rihei Endo
Released under the MIT license
http://opensource.org/licenses/mit-license.php
問い合わせ
作者:遠藤理平
mail:info@natural-science.or.jp