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つの方法の違いを議論せよ.(数学的に証明できるとすばらしい.)