HOME > natural science Laboratory

コンピュータ・シミュレーション講座
仮想物理実験室

「HTML5による物理シミュレーション【剛体編2】」出版決定(発売日:2015年2月24日)

978-4-87783-342-8.png

HTML5による物理シミュレーション【剛体編】
物理エンジンの作り方(2)

著者 遠藤 理平
出版社 株式会社カットシステム
発売日 2015年2月24日
判型 B5変型判、456頁
本体価格 4,500円(税込 4,860円)
ISBN 978-4-87783-342-8

 本書は、既刊『HTML5による物理シミュレーション 剛体編』の第2巻です。この巻では、視覚効果を高めるテクスチャ関連の機能と、振動運動を表現するための「ばね」、運動の拘束された物体の経路を表現する「曲線」の実装を行います。さらには、「仮想物理実験室」の状態の保存と復元、およびシミュレーション結果を動画として保存する方法についても解説します。
本書の詳細(はじめに、目次)につきましてはこちらをご覧ください


「HTML5による物理シミュレーション【剛体編】」出版決定(発売日:2014年8月24日)

978-4-87783-303-9.png

HTML5による物理シミュレーション【剛体編】
物理エンジンの作り方(1)

著者 遠藤 理平
出版社 株式会社カットシステム
発売日 2014年8月24日
判型 B5変型判、464頁
本体価格 4,500円(税込 4,860円)
ISBN 978-4-87783-350-3

 本書は物理学で取り扱う最も基本的な対象物のひとつである「剛体」の運動をシミュレーションするために必要な数値計算を本格的に実装していくことに主眼を置きます。
本書の詳細(はじめに、目次)につきましてはこちらをご覧ください


「HTML5による物理シミュレーション【拡散・波動編】」出版決定(発売日:2013年5月25日)

978-4-87783-303-9.png

HTML5による物理シミュレーション【拡散・波動編】
JavaScriptライブラリとCanvas 2D Context/Web Workersを使う

著者 遠藤 理平
出版社 株式会社カットシステム
発売日 2013年5月25日
判型 B5変型判、456頁
税込価格 4,410円(本体4,200円)
ISBN 978-4-87783-312-1

 本書は、HTML5を利用しウェブブラウザだけで完結した「物理シミュレーション環境」を構築するまでの手順を示すことで、実践を交えながら、HTML5によるアプリケーションの開発の手順と、物理シミュレーションの基礎を習得することを目的としています。
本書の詳細(はじめに、目次)につきましてはこちらをご覧ください


「HTML5による物理シミュレーション」出版決定(発売日:2013年2月22日)

978-4-87783-303-9.png

HTML5による物理シミュレーション
JavaScriptでThree.js/jqPlot/jQuery UIを使う

著者 遠藤 理平
出版社 株式会社カットシステム
発売日 2013年2月22日
判型 B5変型判、392頁
税込価格 3,990円(本体 3,800円)
ISBN 978-4-87783-303-9

 本書は、HTML5を利用しウェブブラウザだけで完結した「物理シミュレーション環境」を構築するまでの手順を示すことで、実践を交えながら、HTML5によるアプリケーションの開発の手順と、物理シミュレーションの基礎を習得することを目的としています。
本書の詳細(はじめに、目次)につきましてはこちらをご覧ください

最新のthree.jsで利用するために必要な変更点をまとめました:three.js仕様変更による変更点(PDF)


デジタルコンテンツ:
【GSL・VisualC++・OpenGLによる仮想物理実験室】円形膜(太鼓)の振動

本稿では、無料で利用できるC++言語の開発環境として「Microsoft Visual C++ 2010 Express」、科学計算ライブラリとして「GSL(GNU Scientific Library)」、描画には OpenGL(+GLSL) を用いて、「仮想物理実験室」を構築します。 題材としては、円形膜(太鼓)の振動を取り上げ、 物理学で非常によく出くわす、(1)「ヘルムホルツ方程式」、(2)「極座標形式」、(3)「関数の直交性と完全性」、(4)「境界条件」、(5)「初期条件」 などの概念の理解を目的とします。最終的には基準振動だけでなく、任意の膜の形状(初期条件)に対する時間発展の計算までを行います。
 本稿は初めて物理シミュレーションする方を対象に、GSLの導入から数値計算までの実行手順、計算結果を3次元グラフィックとして出力するまでのOpenGLの使い方までの一連の流れを体感できる内容となっています。このような概念の習得は物理シミュレーションに留まらず、昨今著しい発展をみるゲームプログラミングや画像処理といったコンピュータ・グラフィックの分野でも、今後重要になってくると考えられます。 多くの方の学習の一助になることを願っています。

【GSL・VisualC++・OpenGLによる仮想物理実験室】円形膜(太鼓)の振動(2012.10.23 公開)

販売形態ダウンロード
価格2,100円(税込)
購入方法 ■ 銀行振込
【取引銀行】七十七銀行 本店営業部
【口座番号】7732899
【口座名義】特定非営利活動法人 natural science (トクヒ ナチュラルサイエンス)
※振込手数料お客様負担となります

※本コンテンツの詳細については、【GSL・VisualC++・OpenGLによる仮想物理実験室】円形膜(太鼓)の振動をご覧ください。


デジタルコンテンツ:
【量子力学入門】電子パルスのダイナミクス

本稿は、量子力学を学習する際に序盤で登場するポテンシャル障壁に対する電子パルスの動的現象を数値シミュレーションするために必要な知識を習得することを目的とした、HTML5 を利用した量子力学初学者向けのデジタルコンテンツです。 本稿の特徴は、(1)物理系の解析的取り扱い(2)計算アルゴリズムの導出(3)C++言語によるプログラミング を統一的に取り扱うことで、量子力学の基礎から数値シミュレーションまでの道筋を修得することができる点です。 さらに、ポテンシャル障壁に対する電子波は解析的に取り扱うことが可能な系であるにもかかわらず、本稿で取り扱う電子波の重ね合わせで表現される電子パルスの動的特性は非自明な点もあるため、非常に興味深いシミュレーション結果を得ることも可能です。 また、本稿の手法は波動現象一般で成り立つため、電磁気学などにも適用することが可能です。
本稿を通じて量子力学の基礎、波動現象、並びに数値シミュレーションに対する理解が深まることに本稿が少しでもお役に立てば幸いです。

デジタルコンテンツ:【量子力学入門】電子パルスのダイナミクス(2012.08.11 公開)

販売形態ダウンロード
価格2,100円(税込)
購入方法 ■ 銀行振込
【取引銀行】七十七銀行 本店営業部
【口座番号】7732899
【口座名義】特定非営利活動法人 natural science (トクヒ ナチュラルサイエンス)
※振込手数料お客様負担となります

※本コンテンツの詳細については、【量子力学入門】電子パルスのダイナミクスをご覧ください。


HTML5による物理シミュレーション環境の構築

HTML5 + Javascript + WebGL を利用した物理シミュレータを構築します。 上記の環境は、現在(2012年2月)まだ標準と言えるところまではいたっていませんが、ウェブブラウザの高機能化にともなって次世代クロスプラットフォームの基幹技術として、今後益々発展していくと考えられている技術です。 最新技術の勉強ついでに、教材目的、プレゼン目的、数値データの3次元ビューアを目的としてのツールを開発していきます。

ポテンシャル障壁に対する2次元電子パルスのトンネル現象(2012.08.21 公開)

本稿は、「電子パルスのトンネル現象シミュレーション」の2次元描画版です。HTML5+WebGLで作成しました。

↓デモ画像(「ポテンシャル障壁に対する2次元電子パルスのトンネル現象」はこちら

HTML5+WebGL版の実物の方がなめらかに動作します。

※本稿は「デジタルコンテンツ:【量子力学入門】電子パルスのダイナミクス」の一部として公開します。詳細につきましては、こちらをご覧ください。

数値計算結果汎用ビューア「物理シミュレーションビューア(1次元版)」(2012.08.17 公開)

C言語などのプログラミング言語で数値計算した結果を描画するには、gnuplot など優れたフリーのソフトが多数存在します。 一方、物理量の時間発展などの物理シミュレーションの結果を連続描画(アニメーション)しようとした場合、gnuplot で gif アニメーションの作成や、OpenGL で出力した画像データから MPEG動画を作成するなどを行う必要があります。 「natural science 仮想物理実験室」では、数値計算結果を連続描画(アニメーション)できる汎用ビューア「物理シミュレーションビューア(1次元版)」を公開します。

↓デモ画像(「数値計算結果汎用ビューア「物理シミュレーションビューア(1次元版)」」はこちら

特徴

  • ・連番ファイル番号の数値データを連続描画することで、ウェブブラウザ上でアニメーションすることができる
  • ・タブ切り替えをすることで、複数の描画データを切り替えることができる
  • ・HTML5 対応ウェブブラウザ上で実行するため、インストール作業が不要
  • ・Javascript 言語で制御しているため、細やかな改変が可能

※本ツールは、「デジタルコンテンツ:【量子力学入門】電子パルスのダイナミクス」による数値計算結果描画用に開発しました。


2次元平面波シミュレーション(平面波の復習)(2012.08.11 公開)

分野波動論
アルゴリズムの導出波動方程式の平面波解の描画
利用 Javascript ライブラリglMatrix-0.9.5.min.js(WebGL における行列演算のため)
jQuery(インタフェース)

↓デモ画像(「2次元平面波シミュレーション(平面波の復習)」はこちら

特徴

(1)本シミュレータは Three.js などの WebGL のライブラリを利用をしていないため、拡張が容易。
(2)平面波を特徴付けるパラメータのうち「波数ベクトル」と「角振動数」を指定可能。

水素原子の波動関数ビューア(2012.04.06 公開)

分野量子力学
アルゴリズムの導出水素原子のシュレディンガー方程式の解析解
数値積分法解析解のため、数値積分なし
利用 Javascript ライブラリThree.js
(Javascript 並列化計算のための WebWorker 利用)

↓デモ画像(「水素原子の波動関数ビューア」はこちら

特徴

(1)本ビューアは、水素原子の波動関数の解析解を用いて、波動関数の振幅に比例した確率に従って点描画しています(「赤」と「青」は波動関数の正負を表します)。
(2)「K核」「L核」「M核」「N核」の各電子状態の波動関数のそれぞれに計算し(「計算ボタン」をクリック)、「描画」チェック欄にチェックを入れることで、波動関数を描画します(再計算も可)。
(3)「Web worker」と呼ばれるJavascriptの並列化技術を用いています(計算途中でも操作可能)。

今後の発展

(1)摂動論を取り入れた計算 → 磁場を加えることでエネルギー縮退が取れるゼーマン効果の可視化
(2)ヘリウム原子や水素分子の電子状態の可視化

点電荷による電気力線シミュレータ(2012.03.11 公開)

分野電磁気学
アルゴリズムの導出クーロンの法則
数値積分法中心差分法
利用 Javascript ライブラリThree.js

↓デモ画像(「点電荷による電気力線シミュレータ」はこちら

特徴

(1)点電荷からの放射状に電場の向きに応じて線(電気力線)を引いています
(2)「点電荷の設定」欄にて4つの点電荷の電荷と位置を任意に設定し、「リセット」ボタンを押すとシミュレートすることができます
ただし、電荷の単位は電気素量 1.60217733*1E-19[C]、長さの単位は 1E-6[m]です。
(3)電荷の大きさを球の大きさで表現しています。
(4)「結果出力」ボタンを押すと、電気力線の座標をスペース区切りのデータを出力します

今後の発展

(1)等電位面の計算と描画
(2)電荷の数の動的変更

2重振り子シミュレータ(2012.02.20 公開)

分野解析力学+力学系
アルゴリズムの導出直交座標系+ラグランジュ未定定数法
数値積分法4次のルンゲクッタ
利用 Javascript ライブラリThree.js
flotr2

↓デモ画像(「2重振り子シミュレータ」はこちら

特徴

(1)直交座標系で記述した2重振子を4次のルンゲクッタを用いてJavascriptで計算しています
(2)計算結果をリアルタイムにcanvas要素にWebGLを用いて描画しています (canvas要素はjavascriptで動的に生成されています)
(3)グラフ描画ライブラリ flotr2 を利用して、おもりの位置(z座標)とひもの張力をリアルタイムにグラフ描画します
(4)マウスドラックとマウスホイールで視点を移動することができます
(5)各物理量がリアルタイムに表示されます
(6)「スタート」ボタンを押すと、シミュレーションを開始します
(7)「ストップ」ボタンを押すと、仮想物理実験室の時間がストップします
(8)「リセット」ボタンを押すと、フォームで設定した初期条件にてスタートします
(9)「出力」ボタンを押すと、その時刻までの「時間」「張力」「z座標」のスペース区切りのデータを出力します

今後の発展

(1)初期値による「非カオス」or「カオス」の定量的議論(ヤコビ行列の固有値、リアプノフ指数)
(2)カオス時におけるマルチフラクタル解析
(3)N重振り子への拡張

WebGLライブラリThree.js 入門

本稿では新しいWEBページ用の言語であるHTML5+WebGLを利用して、 ウェブブラウザ上で、物理シミュレーションの計算と描画をリアルタイムに実行する「物理シミュレータ」の作成までの手順を記述します。 本稿では、物理シミュレータの例として、任意の初期条件に対する2重振り子の時間発展を4次のルンゲクッタ法を計算する「2重振子シミュレータ」を構築します。 また、本稿では WebGL を簡単に利用することができるWebGLライブラリとして著名な Three.js を用いています。 物理や工学とは無関係に、初めて Three.js を利用する人がチュートリアルとしても利用できることも意図しております。

HTML5による物理シミュレーション環境の構築 ~WebGLライブラリThree.js 入門(1/3)~
HTML5による物理シミュレーション環境の構築 ~WebGLライブラリThree.js 入門(2/3)~
HTML5による物理シミュレーション環境の構築 ~WebGLライブラリThree.js 入門(3/3)~

VisualC++ と OpenGL を利用した仮想物理実験室

第0章 仮想物理実験室の構築

第1章 様々な運動

第2章 ニュートンの運動方程式

第3章 剛体の運動(エネルギー保存則と運動量保存則)

付録

  • 【A-1】参考文献
    ・(A-1-1)OpenGL について
    ・(A-1-2)VisualC++ について
    ・(A-1-3)物理シミュレーション
    ・(A-1-4)数値計算

未分類

力学

量子力学

波動論

【目次】シュレディンガー方程式とマクスウェル方程式

記事リスト






























































































▲このページのトップNPO法人 natural science トップ