ダウンロード

Posted on 5月 4, 2008

トリロジー銀河シミュレーター

概要
特殊な空間上で重力多体シミュレーションを行い、その不可思議な挙動を見て楽しみます。データ出力をまず行い、次に表示用のプログラムで再生します。WindowsXP,Vistaで動作確認。

ファイル

[NBodyGravitySim.7z] プログラムパッケージ 7zip Ver.2009-11-19

[gravity20080509-224724.3dp] サンプルデータ 100MB 銀河
[gravity20090526-014217.3dp] サンプルデータ 100MB トリプルブラックホール

内容

[NBodyGravity-QLP.exe]
トリロジー銀河シミュレーター データ出力型 Ver.0.6 Up 2008/08/01

[3dpplayer.exe]
3DP Player 表示用プログラム。汎用的な3Dプロッター Ver.0.32 Up 2008/06/22

[glut32.dll]
GLUT for Win32 再配布です。
配布元Nate Robins – OpenGL – GLUT for Win32
GLUT for Win32 README

[gravity_3d.exe]
通常3次元空間の重力多体シミュレーション

[4ds-locus.exe]
2008 年 6 月 4日 の投稿で載せた画像をぐるぐる回転

[Trilogeographic.exe]
2008 年 7 月 8日 の投稿で載せた画像をぐるぐる回転

使用方法
データ出力のプログラムを実行するとgravity(時刻).3dpというファイルができます。そのファイルを3dpplayer.exeへドロップして再生します。もしくは拡張子3dpを関連付けすると便利。
OpenGL使用プログラムでは、glut32.dllがパスの通ったフォルダに置かれている必要があります。
コマンドラインベースです。これだけでやる気しません。batファイルを利用してください。
かつては、リアルタイムで出力するWinプログラムを作っていたが、高速性を追求しているうちに消滅しましたw

NBodyGravity-QLP.exeのコマンドライン引数
n[整数] – 粒子数を設定できます。1万以上だとだいぶきついです。初期値2048。
g[実数] – 重力定数を設定できます。初期値10。内部的に100万分の1に変換されています。単位はこの宇宙空間独自のもの、ということになりますか。
s[実数] – 初期運動量の平均を設定できます。初期値1。単位不明。。
c[実数] – 光速度を設定します。初期値10。0にすると光速度限定は行わない。
r[実数] – 宇宙半径。初期値32。
l[整数] – 初期粒子位置集積度。初期値128。小さいほどばらつく。-32 ~
m[整数] – 距離計算方式。0か1。初期値0。
f[整数] – 出力するフレーム数を設定できます。要はリミッターです。出力はいつ中断してもファイルが壊れることはまずないです。止めたい時には閉じちゃってください。そこまでのデータを再生できます。今のところ、レジュームはできません。
o[文字列] – 出力ファイル名を設定できます。
(例)
粒子数8192個で、重力定数0.000005、1024フレーム出力の場合
NBodyGravity-QLP.exe n8192 g5 f1024

3dpplayer.exeの操作法
マウスでドラッグするとグリグリできます。
[ g ]キー : グリッド線をオンオフします。
[ p ]キー : 再生を中断、再開。
[ b ]キー : コマ送りで1つ戻る。
[ f ]キー : コマ送りで1つ進む。
[ s ]キー : 最初にジャンプ。
[ PageUp ] : 原点に近づく。
[ PageDown ] : 原点から遠ざかる。
[ ↑ ][ ↓ ][ ← ][ → ] : 原点を中心に回転。

履歴

Ver.0.6 マルチスレッド化。(2008-08-01)

「四元数空間」というのもわかりにくいと思い、四元数による(四次元中の)三次元球面の対数関数投影であるトリロジーグラフ(造語)であることから「トリロジー銀河シミュレーター」と改名しました(2008-07-07)。

「四次元球」という言葉は誤解を含むため、「四元数空間」と改めました(2008-06-17)。

その他、細かい点はソースコードのページを参照してください。

免責事項

ここで配布されているプログラムを使用したことによるいかなる損害に関しても、これを保障するものではありません。