TOP > n.s.研究所 > 講義 > コンピュータ・サイエンス講座
1.運動の法則の歴史的背景
2.物体の位置座標と時間軸の導入
3.速度と距離の関係を実証する実験
4.物体の速度の定義を言語から数式にする
5.物体の運動を記述するアルゴリズムを構築する
6.C言語によってプログラムを書き、物体の運動をシミュレーションする
ステップ1(実験)
初速度を正確にコントロールし、目的の場所にボールを落とす実験を行います。実際、コンピュータシミュレーションは、ミサイルの弾道計算を計算するために生まれたという歴史があります。ボールを発射する角度と速さをコントロールし、飛距離を測定します。飛距離を決めている本質的な要素を考察します。
ステップ2(コンピュータシミュレーション)
第1回の実験で得られた結果をもとにボールの運動の本質的な要素から、ボールの運動のアルゴリズムを構築します。アルゴリズムの構築には日本語と数学とプログラミング言語の3つの言語を用います。ボールの位置を定義することからはじめ、次に速度を定義します。ある瞬間のボールの位置と次の瞬間のボールの位置を記述する数式から、プログラム言語を用いてコンピュータ画面上でボールの運動を実現します。プログラム言語は汎用性の高いC言語を用いますが、プログラム言語の習得のためにC言語を基礎から講義をします。
ステップ3(概念の構築)
ボールの運動の実験した結果とコンピュータシミュレーションを行った結果をもとに「位置、速度、加速度」の3つの階層の関係性を理解します。自然が移り変わる姿を予測する法則を探求します。
※ コンピュータ・サイエンスにつきましては「コンピュータ・サイエンス講座とは?」をご覧ください。
物体の運動を空間と時間の座標軸で捉えます。ある瞬間におけるボールの位置をとらえ、速度を定義することによって、ある瞬間と次の瞬間をつなぐ数式を導きます。この数式をもとにシミュレーションを構築し、等速で運動するボールを実現します。
ボールが壁に衝突する際の因果関係を理解します。速度が大きさと方向をもったベクトル量であることを認識し、衝突の際の因果関係を捉えます。条件分岐という手順を使って、ボールがビリヤードのように四方の壁に反射して帰ってくる様子をシミュレーションします。
「だんだん速くなる」という現象をどのように捉えればよいのでしょうか。日本語の言葉の意味を、加速度という数学という言葉に変換し、プログラミング言語に翻訳します。
「位置、速度、加速度」を画面上に書き出すプログラミングの方法を学び、加速度運動における物理量の時間変化をグラフに書き出します。加速度運動をシミュレーションする中で、「位置、速度、加速度」という概念の階層性とそれらのつながり理解します。
等速運動と加速度運動を理解した上で、ボールの運動を水平方向と鉛直方向に分解して考えます。 地球上における物体の運動では、鉛直方向に重力が働いています。物体の放物運動をシミュレーションできたところで、力と加速度の因果関係をニュートンの運動の法則から説明します。
応用問題として、ボールがバウンスして転がって行く様子をシミュレーションしましょう。一見、複雑な運動のように見えますが、「物体の放物運動」と「物体の衝突」という二つの現象を組み合わせ、ボールの運動を理解します。
運動の法則をミサイルの弾道計算に応用します。速さが同じ場合、どのような発射角度でもっとも水平方向の飛距離が最大になるのでしょうか? 実際、コンピュータシミュレーションはミサイルの弾道計算のために発展してきたという歴史があります。
加速度と力の関係を理解した上で、物体の運動に対して「空気抵抗はどのように働く力なのか」を考え、運動と空気抵抗の因果関係を構築します。物理の問題においては、理想的な状態から始めることで、問題の本質的な部分をつかみ、次に他の要素も考慮しながら、より現実的な状態に近づけていきます。
地球上における物体の運動を記述できるようになった後は、物体の放物運動における因果関係をさらに発展させ、宇宙における天体の運動をシミュレーションします。天体の複雑にみえる天体の運動から、どのように法則にたどりついたのか、ニュートンから始まる力学体系の歴史をたどります。
ニュートンの運動方程式からえられる運動量の保存則を使って、ボール同士の衝突をシミュレーションします。あらかじめ速度がわかっている二つの物体が衝突した際に、衝突後の物体の速度はどのように変化するのでしょうか?衝突の際に働く物体間の力に注目し、ニュートンの運動方程式を使って、運動量保存の法則を導き出します。このように一つの法則から他の法則を導出し、より多くの自然現象を明らかにする方法をここでは学びます。