コンピュータサイエンス基礎講座6
コンピュータサイエンス基礎講座 4/10
コンピュータサイエンスとは
今週のコンピュータサイエンス
ボールを手から離したら、どうして落ちるのか。
それは、重力がはたらいているから、と、誰もが答える。
では、ボールが放物運動するのはなぜか...。
という問いに対しては、公式がなければ分からない、とたいていの人が答える。
直線的な運動に関しては重力が関係するらしいが、弧を描くような、放物運動に関しては公式が関係するらしい。
放物運動というと、数学で習う公式のイメージが強いので、今回は自然と放物運動するシミュレーションを作成して、まずは公式と放物運動という連想を切ることにした。
そのために、机の上を転がっているボールが地面に落ちるというシミュレーションを作成した。
ボールが机から落ちて、地面につくと、跳ね返る。そして跳ね返る時には放物運動している。
皆がプログラムしていく手順は、
1.ボールが机の上を転がっている。このときはx軸方向にしか動かない。
2.ボールが机の上から落ちる。y軸方向にも動いて、重力もかかる。
3.ボールが地面について跳ね返る。
4.ボールが放物運動する。
という感じで、実際にプログラムにしてみると、
-------初期値------
x = -0.8;
y = 0.0;
Vx = 0.0005;
Vy = -0.001;
A = 0.00001; //加速度
------------------------
1.x = x + Vx;
2.if(x >= -0.5) //机の最端が-0.5だとした
{
y = y + Vy;
Vy = Vy - A;
}
3.if(y <= -0.5) //地面をyが-0.5にした
{
Vy = -Vy;
}
と、3のボールが地面についたら跳ね返るところまでプログラムを作成すると、
不思議とボールはその後放物運動していく...。
どうやら公式がなくても放物運動という現象は生じるらしい...。
では、物体が放物運動するときは何がどうなっているのか?
ここから放物運動を考えてみると、速度と加速度が少しややこしいが、そんなに難しい現象ではないようだということがわかる。
加速度は、ボールを下向きに引っ張る、重力である。だから、加速度は一定、同一の方向である。
x軸方向には最初に与えられている速度以外には力はかかっていない。
y軸方向には、最初下向きの速度と、重力(下向きの力)がかかっているので、どんどん速くなっていくが、跳ね返ると、速度は上向きで、重力が下向きにかかるのでどんどんと遅くなっていく。
今回は、自分の作ったプログラムから、放物運動という自然現象を考えてみた。