VisualC++ と OpenGL を利用した仮想物理実験室
【2-1-1】加速度・力・質量の関係:ニュートンの運動方程式
第1章では、時刻 t[s]、位置 r[m]、速度 v[m/s]、加速度 a[m/s^2]、加加速 j[m/s^2]と物理量の定義を行い、対応する運動(等速度直線運動、等加速度直線運動、等加加速度直線運動)についてのアルゴリズムの構築と、シミュレーションの実行を行ないました。しかしながら、これまで定義した物理量には、これらの運動が「どのようにして」起こるのかという情報は含まれていません。本章では、運動を引き起こす物理量「力」を定義することから始めます。
力と加速度
位置 x=0[m] に静止している物体があるとします。日常的な感覚では、このまま外から何もしなければ物体は動き出すことはないし、外から「力」が加えられればきっと動き出すことでしょう。これは物体に「力」という物理量が加えられた瞬間に、速度 v=0[m/s]から速度が大きくなる(加速する、加速度をもつ)ということです。また「力」は大きいほど、より大きな加速を得ることも直感的です。「力」という物理量を「加速度[m/s^2]」との関係を次のように仮定します(「力」の単位はまだ決まりません)。
「加速度」と「力」の関係式
上記の関係式は、「加速度」と「力」は比例関係にあることを表しています(「∝」は「比例関係」を表す数学記号です)。逆の言い方をすれば、「加速度」に比例する量を「力」と定義するということです。
また一方で、物体の加速には「力」だけではなく、物体の「重さ」も関連があることも我々は日常生活で知っています。同じ「力」が加えられたとしても、軽い物体は加速しやすく、また逆に重い物体は加速しにくいでしょう。物理学ではこの因果関係を、「力」を加えたときの物体の加速しにくさとして物理量「質量[kg]」を定義します。
物理量5「質量」:(「加速のしずらさ」を表す物理量)
この「質量」と「加速度」は反比例の関係になります。逆の言い方をすれば、「加速度」に反比例する量を「質量」と定義するということです。
「加速度」と「質量」の関係式
上記の2つ式(5-1)と式(5-3)を組み合わせることで、「加速度」と「質量」「力」の関係式が導かれます。
上記の関係式から「力」の単位も決定でき、新しい物理量「力」を定義します。
物理量6「力」(1次元)
力の単位
新しく定義した物理量「力[N]」を用いて、上記の式は次のように表すことができます。
この式は、質量 m[kg]の物体に力 F[N]を加えたら(右辺)、物体は加速度 a[m/s^2]で運動する(左辺) という因果関係を意味します。 つまり、質量 m[kg]と力 F[N]がわかっていれば、加速度 a[m/s^2]が決まるという意味です。この式を移項して、力 F[N]を左辺にする。
この式は数学的には単に恒等式を移項しただけですが、物理学因果関係が逆になり、意味が異なります。 物体の質量 m[kg]を加速度 a[m/s^2]で運動させたら(右辺)、物体には力 F[N]が加えられている(右辺) という因果関係を意味します。つまり、質量 m[kg]と加速度 a[m/s^2]が判っていれば、力 F[N]が決まるという意味です。また、3次元空間では、速度 v[m/s]、加速度[m/s^2]同様にベクトル表すことができます。
物理量6「力」(3次元)
地球の重力加速度の測定
我々は日常生活で、地球上では重力が働いていることを知っています。このことは非常に古くからも知られていたということです。様々な質量 m[kg]を持つ物体を重力に従って運動させます。時刻 t=0[s] からの運動をはじめ、時刻 t[s]と位置 x[m]の関係を測定します(中学3年生で学習する力学台車の実験です)。計測結果から計算することで、速度 v[m/s^2]、加速度[m/s^2]、加加速度[m/s^3]が得られます(速度の求め方:【2日目】等速度直線運動、加速度の求め方: 【3日目】等加速度直線運動、加加速度の求め方:【4日目】等加加速度直線運動を参照ください)。
その結果は、どんなの質量 m[kg]の物体でも、加速度 a = 9.80665[m/s^2]で 等加速度直線運動を行ないました。 この重力による特別な加速度は重力加速度 g[m/s^2]と呼ばれます。
物理定数1:重力加速度
重力と重さ
物体が地球からの重力で加速運動する場合(a = g[m/s^2])、物体に作用している力 F[N]は、式(5-8)で求めることができます。つまり、F[N] = m[kg] × g[m/s^2] となります。この力は物体に働く重力を表しています。我々が普段の生活で「重い」「軽い」と感じているというのは、この「物体に働く重力の大きさ」を指しているのです。 新しい物理量「重さ[N]」を定義します。
物理量7:重さ(物体に働く重力の大きさ)
重さの単位は[N]の他に[kgw](キログラム重)があります。 普段の生活の中では、質量[kg]と重さ[N]を混同しています。 例えば、「2リットル のペットボトルの重さは 2[kg] です」という表現は、正確には間違いです。正しくは、「2リットル のペットボトルの質量は 2kg です」、もしくは「2リットル のペットボトルの重さは 2×9.80665[N] です」と表現しなければなりません。
ニュートンの運動方程式
次に、式(5-8)の恒等式の辺々を移項して、左辺に 質量 m[kg] 加速度 a[m/s^2]、右辺に力F[N]を持って、次の関係式導きます。
ニュートンの運動方程式(1次元)
この関係式は、力 F[N]を加えたら(右辺)、質量 m[kg]の物体が加速度 a[m/s^2]で運動する(左辺) という意味を表しています。これは式(5-7)とほぼ同じ意味を持ちますが、物体のに関する情報がすべて左辺にあり、式(5-7)と比べて、力と物体の運動との因果関係が明示的になります。これはニュートンの運動方程式と呼ばれ、我々が生活しているスケールで成り立つ方程式として知られています。
またこの方程式は、3次元空間ではベクトルで表します。
ニュートンの運動方程式(3次元)
ベクトルで表した場合、加速度 a[m/s^2]と力 F[N] のそれぞれの x, y, z 成分で成り立ちます。
【5日目】「重力加速度、重力、ニュートンの運動方程式」では、シミュレーションはありませんでした。次の章からは、この方程式を利用して様々な運動をシミュレートしていきます。
VisualC++ と OpenGL を利用した仮想物理実験室
第0章 仮想物理実験室の構築
- 【0-1】OpenGL と Visual C++ 2008 Express Edition の準備
- 【0-2】仮想物理実験室の構築 ・(0-2-1)ver1.0:基本形 ・(0-2-1)ver1.1:基本形+ばねの描画 ・(0-2-2)ver1.2:基本形+ばねの描画
- 【0-3】グラフ作成ソフト gnuplot のインストールと使い方
- 【A-1】参考文献
・(A-1-1)OpenGL について
・(A-1-2)VisualC++ について
・(A-1-3)物理シミュレーション
・(A-1-4)数値計算
第1章 様々な運動
- 【1-1】等速度直線運動
- ・(1-1-1)物理量について
- ・(1-1-2)等速度直線運動のアルゴリズムの導出
- ・(1-1-3)等速度直線運動のシミュレーション
- ・(1-1-4)等速度直線運動のグラフ化
- ・(1-1-5)等差数列を用いた等速度直線運動の解析解の導出
- ・(1-1-6)等速度直線運動のシミュレーション結果と解析解との比較
- 【1-2】等加速度直線運動
- ・(1-2-1)等加速度直線運動のアルゴリズムの導出
- ・(1-2-2)等加速度直線運動のシミュレーション
- ・(1-2-3)等加速度直線運動のグラフ化
- ・(1-2-4)階差数列を用いた等加速度直線運動の解析解の導出
- ・(1-2-5)等加速度直線運動のシミュレーション結果と解析解との比較
- ・(1-2-6)差分と微分
- ・(1-2-7)和分と積分
- ・(1-2-8)微分・積分を利用した等加速度直線運動の解析解の導出
- 【1-3】等加加速度直線運動
- ・(1-3-1)等加加速度直線運動のアルゴリズムの導出
- ・(1-3-2)等加加速度直線運動のシミュレーション
- ・(1-3-3)等加加速度直線運動のグラフ化
- ・(1-3-4)等加加速度直線運動の解析解の導出
- ・(1-3-5)等速度直線運動のシミュレーション結果と解析解との比較
- 【1-4】等速度円運動
- ・(1-4-1)等速度円運動のアルゴリズムの導出
- ・(1-4-2)等速度円運動のシミュレーション
- ・(1-4-3)等速度円運動のグラフ化
- ・(1-4-4)等速度円運動の解析解の導出
- ・(1-4-5)等速度円運動のシミュレーション結果と解析解との比較
- 【1-5】等加速度円運動
- ・(1-5-1)等加速度円運動のアルゴリズムの導出
- ・(1-5-2)等加速度円運動のシミュレーション
- ・(1-5-3)等加速度円運動のグラフ化
- ・(1-5-4)等加速度円運動の解析解の導出
- ・(1-5-5)等加速度円運動のシミュレーション結果と解析解との比較
第2章 ニュートンの運動方程式
- 【2-1】重力による運動:自由落下運動
- ・(2-1-1)加速度・力・質量の関係:ニュートンの運動方程式
- ・(2-1-2)重力による運動のアルゴリズムの導出
- ・(2-1-3)重力による自由落下運動のシミュレーション
- ・(2-1-4)重力による自由落下運動のグラフ化
- ・(2-1-5)重力による自由落下運動の解析解の導出
- ・(2-1-6)重力による自由落下運動のシミュレーション結果と解析解との比較
- 【2-2】重力による運動:鉛直投射運動
- ・(2-2-1)重力による鉛直投射運動のシミュレーション
- ・(2-2-2)重力による鉛直投射運動のグラフ化
- ・(2-2-3)重力による鉛直投射運動の解析解
- ・(2-2-4)重力による鉛直投射運動のシミュレーション結果と解析解との比較
- 【2-3】重力による運動:水平投射運動
- ・(2-3-1)重力による水平投射運動のシミュレーション
- ・(2-3-2)重力による水平投射運動のグラフ化
- ・(2-3-3)重力による水平投射運動の解析解
- ・(2-3-4)重力による水平投射運動のシミュレーション結果と解析解との比較
- 【2-4】重力による運動:斜方投射運動
- ・(2-4-1)重力による斜方投射運動のシミュレーション
- ・(2-4-2)重力による斜方投射運動のグラフ化
- ・(2-4-2)重力による斜方投射運動の解析解
- ・(2-4-3)重力による斜方投射運動のシミュレーション結果と解析解との比較
- 【2-5】重力による運動:斜方投射運動2
- ・(2-5-1)重力による斜方投射運動における初速度の分解
- ・(2-5-2)重力による斜方投射運動2のシミュレーション
- ・(2-5-3)重力による斜方投射運動2のグラフ化
- ・(2-5-4)重力による斜方投射運動2の投射角度と飛距離の関係
- ・(2-5-5)重力による斜方投射運動2の解析解
- ・(2-5-6)重力による斜方投射運動2のシミュレーション結果と解析解との比較
- 【2-6】重力+空気抵抗力による運動:自由落下運動
- ・(2-6-1)重力+空気抵抗力による運動の運動方程式とアルゴリズム
- ・(2-6-2)重力+空気抵抗力による自由落下運動のシミュレーション
- ・(2-6-3)重力+空気抵抗力による自由落下運動の解析解の導出
- ・(2-6-4)重力+空気抵抗力による自由落下運動のシミュレーション結果と解析解との比較
- 【2-7】重力+空気抵抗力による運動:斜方投射運動
- ・(2-7-1)重力+空気抵抗力による斜方投射運動のシミュレーション
- ・(2-7-2)重力+空気抵抗力による斜方投射運動の解析解の導出
- ・(2-7-3)重力+空気抵抗力による斜方投射運動のシミュレーション結果と解析解との比較
- 【2-8】ばね弾性力による運動:単振動運動(1次元)
- ・(2-8-1)ばね弾性力による運動の運動方程式(1次元)とアルゴリズム
- ・(2-8-2)ばね弾性力による単振動運動(1次元)のシミュレーション
- ・(2-8-3)ばね弾性力による単振動運動(1次元)の解析解の導出
- ・(2-8-4)ばね弾性力による単振動運動(1次元)のシミュレーション結果と解析解との比較
- 【2-9】ばね弾性力による運動:単振動運動(2次元)
- ・(2-9-1)ばね弾性力による運動の運動方程式と(2次元)アルゴリズム
- ・(2-9-2)ばね弾性力による単振動運動(2次元)のシミュレーション
- ・(2-9-3)ばね弾性力による単振動運動(2次元)の解析解:微分・積分を利用した解析解の導出
- ・(2-9-4)ばね弾性力による単振動運動(2次元)のシミュレーション結果と解析解との比較
- 【2-10】ばね弾性力+重力がある場合の運動:単振動運動(3次元)
- ・(2-10-1)ばね弾性力+重力による運動の運動方程式(3次元)とアルゴリズム
- ・(2-10-2)ばね弾性力+重力による単振動運動(3次元)のシミュレーション
- ・(2-10-3)ばね弾性力+重力による単振動運動(3次元)の解析解の導出
- ・(2-10-4)ばね弾性力+重力による単振動運動(3次元)のシミュレーション結果と解析解との比較
- 【2-11】ばね弾性力+重力がある場合の運動:多重連結ばねの運動
- ・(2-11-1)ばね弾性力の一般化
- ・(2-11-2)ばね弾性力+重力による多重連結ばねの運動の運動方程式
- ・(2-11-3)ばね弾性力+重力による多重連結ばねの運動のアルゴリズムの導出
- ・(2-11-4)ばね弾性力+重力による多重連結ばねの運動のシミュレーション
- 【2-12】ばね弾性力+遠心力がある場合の運動:円運動
- ・(2-12-1)遠心力の導出
- ・(2-12-2)遠心力+ばね弾性力による運動の運動方程式
- ・(2-12-3)遠心力+ばね弾性力による運動のアルゴリズムの導出
- ・(2-12-4)遠心力+ばね弾性力による運動のシミュレーション
- 【2-13】張力+重力がある場合の運動:単振子運動.html
- ・(2-13-1)張力の導出
- ・(2-13-2)張力+重力による多重連結ばねの運動の運動方程式
- ・(2-13-3)張力による多重連結ばねの運動のアルゴリズムの導出
- ・(2-13-4)張力による多重連結ばねの運動のシミュレーション
- 【2-14】万有引力による運動1:楕円運動
- ・(2-14-1)万有引力の導出
- ・(2-14-2)万有引力による運動の運動方程式
- ・(2-14-3)万有引力による運動のアルゴリズムの導出
- ・(2-14-4)初速度と軌道の関係
- ・(2-14-5)万有引力による運動のシミュレーション
- 【2-15】万有引力による運動2:円運動
- ・(2-15-1)万有引力による運動が円運動になるための条件
- ・(2-15-2)初速度の与え方
- ・(2-15-3)万有引力による円運動のシミュレーション
- 【2-16】万有引力による運動3:3体運動
- ・(2-16-1)3体運動とは
- ・(2-16-2)万有引力による3体運動の運動方程式
- ・(2-16-3)万有引力による3体運動のアルゴリズムの導出
- ・(2-16-3)万有引力による3体運動のシミュレーション
第3章 剛体の運動(エネルギー保存則と運動量保存則)
- 【3-1】床と球の衝突
- 【3-2】壁と球の衝突
- 【3-3】円柱と球の衝突(1次元)
- 【3-4】円柱と球の衝突(2次元 x-y平面)
- 【3-4-2】円柱と球の衝突(2次元 x-z平面)
- 【3-5】球と球の衝突(1次元)
- 【3-6】球と球の衝突(2次元)
- 【3-7】球と球の衝突(3次元)
付録
- 【A-1】参考文献
・(A-1-1)OpenGL について
・(A-1-2)VisualC++ について
・(A-1-3)物理シミュレーション
・(A-1-4)数値計算
未分類
力学
- ・ 2体問題のシミュレーション(C言語+ルンゲクッタ法)
- ・ ラグランジュ未定乗数法を用いた2重振子のシミュレーション
- ・ ラグランジュ未定乗数法を用いた球面振子のシミュレーション
- ・ ラグランジュ運動方程式2:極座標を用いた球面振子
- ・ ラグランジュ運動方程式1:極座標を用いた単振子
量子力学
- ・ 1次元量子力学の調和振動子における単一エネルギーの時間発展
- ・ 1次元量子力学の調和振動子における任意の初期状態に対する時間発展
- ・ 1次元量子力学の調和振動子におけるコヒーレント状態の空間分布
- ・ 1次元量子力学の調和振動子におけるコヒーレント状態の時間発展
- ・ 1次元量子力学の調和振動子における n励起状態の運動量表示
- ・ 1次元量子力学の調和振動子における任意の初期運動量分布に対する時間発展
- ・ 1次元量子力学の調和振動子における任意の初期運動量分布+任意の中心座標に対する時間発展
- ・ 1次元量子力学の調和振動子における任意の初期空間分布+任意の中心運動量に対する時間発展(最も簡単な方法)
- ・ 無限に深い2次元井戸型ポテンシャル
- ・ 無限に深い2次元井戸型ポテンシャル2
- ・ 無限に深い2次元井戸型ポテンシャル3
- ・ 無限に深い2次元井戸型ポテンシャル
- ・ 2次元自由粒子
- ・ 無限に深い井戸型ポテンシャルの時間発展2
- ・ シュレディンガー方程式に従う粒子の時間発展2:無限に深い井戸型ポテンシャルの時間発展
- ・ シュレディンガー方程式に従う粒子の時間発展:自由粒子