8.2 重力のシミュレーション その2

M先生
重力の意味は分かったかな?
Aさん
難しかったです.大学生になって,ようやく重力の意味が分かったような気がします.
M先生
なるほど,今度は,同じ問題を 放物線 を使って解いてみよう.
Aさん
また数学ですか...
M先生
これで最後.がんばろう.まず,放物線ってどういうものだったっけ?
Aさん
たしか,こんな感じだったかと.
M先生
そうだね.この式は物理ではどういうことをあらわしているの?
Aさん
xは時間です.yはその時間に進んだ距離です.aは加速度かな?
M先生
そうだね.加速度を考慮すると,進んだ距離はxの2乗に比例するわけだね.これを直接使っても,さっきと同じ落下のシミュレーションプログラムが書けそうじゃない?
Aさん
なるほど.
M先生
考えやすいように,加速度はさっきと同じく1ということにしておこう.
Aさん
ええと,まず,マウスが離されてからの時間を記憶する変数が必要ですね.
M先生
それにマウスが離されたときの初期位置も記憶しておく必要がある.距離の引き算はそこが起点になるからね.
Aさん
なるほど,では,時間は常に1ずつ増やすようにして,時間の2乗を初期位置から引けばいいのかな?
M先生
すばらしい.それでうまく動くはずだよ.
Aさん
なんと,前のプログラムと比較しても同じ動きになっています.
M先生
このProjectでは,現実のシミュレーションの方法の考え方と,いろんなプログラミングの方法があることを学んだね.
Aさん
数学って役にたつんですね(笑)
M先生
そう,シミュレーションでは,数学が重要になってくる.でも,ゲームを作るときにも大事なんだよ.ジャンプゲームやビリヤードゲームなど,ほとんどのゲームは,現実をシミュレートしているものだからね.
Aさん
もっと数学を勉強しておけばよかった...

練習問題8.1

このProjectで議論した,重力をシミュレーションする2つの方法の違いを議論せよ.(数学的に証明できるとすばらしい.)