2011年11月27日日曜日

OpenGLによる3Dシミュレーション

3Dシミュレーションのプログラムってあまり需要ないんですかね?
2Dのものは多く存在するんですけどね。
OpenGLによる3D万有引力シミュレーションプログラムを作成しました。ソースコード載せます(NYSLライセンス)。
ソースコード
プログラム(実行にはglut.dllが必要)
4次のルンゲクッタ法によってシミュレーションを行なっています。
シンプレクティック法を用いてないので、エネルギーが発散してしまいます。
プログラムでは、3つの物体が動いています。 実は、万有引力だけが働く3物体の挙動というのは一般に解析的解けないことが知られています。(特殊な条件下では解析的に解ける)
解析的に解けないことがコンピュータシミュレーションによって、数値的に解けるんです。
少しすごいと思いませんか?
「5年になるとこんなこともできちゃうよ」という報告でした。