デュアルペンデュラム

二重振り子のシミュレータを作ってみた。

Posted on

00wmx1in

二重振り子のシミュレータをCで作ってみた。夏休みだから何か、作ってみる絶好のチャンスだと思ったから作ってみた。これを作るのに、大きく分けて描写の部分、微分方程式を解く部分が必要だったが、後者が少し大変だった。

前者の描写の部分はありあわせの(私には利用はできるが、配布する権利のないようなライブラリの)ものを使ったので、色々整備されており、別になんということはなかった。

後者は、運動方程式を使って、加速度、速度を求めつつ位置を設定させるような数値解析的な方法を使った。運動方程式の解法はかなり大変だったので、こちらを参考にした。

二重振り子のシミュレータ

 

Wikipediaによると、こんな感じの、カオスになるようなものは、初期値敏感性を持っててちょっとでも初期値を変えると全く動きが変わってしまいうるということから、厳密なシミュレータではないので(動画の場合は1秒あたり32分割しています)もちろん現実と同様な動作ではない。らしい。