物理シミュレータ置き場

2004/4/15作成 2004/4/22更新 2008/8/27追加

Windows用実行ファイルについて

Windows用の実行ファイルは、zip形式で圧縮してあります。例えば、Planets-*.zip
Project_Planets.exe
という実行ファイルのみが格納されています。これを動作させるためには、ランタイムライブラリ
が必要です。これをWindowsのシステムフォルダ、もしくは、zip形式ファイルを展開したフォルダにコピーして下さい。

2重振り子・多重振り子のシミュレータ

2重振り子や様々な多重振り子の運動をシミュレーションします。微分方程式はルンゲ・クッタ法により求解しており、「ラグランジュ運動方程式」と「ハミル トンの正準方程式」から選べます。
本プログラムの主な参考文献として以下をあげます。
  1. David Acheson, ``From Calculus to Chaos --- An Introduction to Dynamics,'' Oxford University Press, New York, 1997.
  2. 有本 卓, ``新版 ロボットの力学と制御,'' システム制御情報学会 編, 朝倉書店, March 2002.
使い方は、[Active]ボタンを押すと振り子の動作を開始します。この時、[Active]ボタンは[Disable]ボタンになっていますので、こ れを押すと振り子の動作を停止します。

[Reset]ボタンは、振り子を初期状態に戻します。いくつかの状態はマウスでドラッグすることによりユーザが指定することができます。動作停止中に指 定された状態は初期値とみなすようになっています。

各種パラメータは、テキスト入力エリアで数値を入力します。但し、[Enter]キーを押すことではじめて確定されますので注意してください。

惑星の3体問題・多体問題のシミュレータ

3個の天体が互いに万有引力を作用しあう場合の平面上の運動をシミュレーションします。微分方程式はルンゲ・クッタ法により求解しており、予め無次元化さ れています。
本プログラムの主な参考文献として以下をあげます。
  1. 原島 鮮, ``力学 I --- 質点・剛体の力学,'' 第22版, 裳華房, February 1989.
  2. 原島 鮮, ``力学 II --- 解析力学,'' 第20版, 裳華房, December 1989.
  3. David Acheson, ``From Calculus to Chaos --- An Introduction to Dynamics,'' Oxford University Press, New York, 1997.
使い方は、上述した振り子のシミュレータとほぼ同じです。

また、質点が可視化エリアから出て行ってしまったときには、[Adjust]ボタンを押すと、すべての質点がエリア内に入るように視点が変わります。

ビリアードモデルのシミュレータ

正方形の反射壁、つまりビリアード台の中心に円形の反射壁があり、初速度をもつ玉が内部で速さを保ったまま反射を繰り返す運動(シナイのビリアードモデ ル)を、離散時間力学系としてシミュレーションします。[2004/04/22] シナイビリアードモデルだけでなくスタジアムビリアードモデルなど、いくつかの反射壁のバリエーションを選べます。
本プログラムの主な参考文献として以下をあげます。
  1. David M. Bourg, 榊原 一矢 監訳,  ``ゲーム開発のための物理シミュレーション入門,'' オーム社, September 2003.
  2. 下條 隆嗣, ``カオス力学入門,'' シミュレーション物理学6, 近代科学社, September 1992.
使い方は、上述したシミュレータとほぼ同じです。

オートマトンのシミュレータ

セル・オートマトンの一種であるコンウェイのライフゲームです。
本プログラムの主な参考文献として以下をあげます。
  1. マーチン・ガードナー, 一松 信 訳, ``別冊サイエンス 数学ゲーム I,'' 第6版, 日経サイエンス社, May 1982.
使い方は、上述したシミュレータとほぼ同じです。

初期状態では生存している個体がいませんので、可視化エリアをマウスでクリックしていくつかの個体を置いてください。

Mac OS X

n3のキュービックパズル

物理シミュレータとは言えないかも知れませんが、かの著名な立方体パズルにおいて、その分割数を一般化したものを OpenGL+Cocoa for Mac OS X にて作成してみました。 アルゴリズムでそれを解かせるコードを書きたいと思っていますが、いまのところ私には難しいです。

Written by Taiji Yamada <taiji@aihara.co.jp>