微分方程式とアニメーションの描画
これまでは、 を横軸にとったグラフとして微分方程式の初期値問題の解を描画してきました。 今度は、微分方程式で表される量の時間変化を Processing のアニメーションで表してみましょう。
前回扱った以下の初期値問題を考えます。
これは以下の連立微分方程式の初期値問題に書き換えることができました。
これをアニメーション表示するためには、 が 0 から始まり、 ずつ と を更新していく様子を描画する必要があります。。 球の x 座標を 、y 座標を 0 として、、の範囲で幅 300、高さ 300 のウィンドウに球の運動を描画するプログラムは以下のようになります。
See the Pen コンピューティング2 3-3-1 by Yosuke Onoue (@likr) on CodePen.
ポイントは、現在の と の状態を保持する変数 t1
と x1
をグローバル変数に移し、1 回の draw
関数の実行ごとに h
だけ t1
を更新するようにしたところです。
h
の値を変えるとどうなるか確認してみましょう。
また、グローバル変数を利用することで、プログラム全体の見通しが悪くなってしまう場合があります。 このようなプログラムを、クラスなどを使用して整理する方法は各自で考えてみましょう。