HOME > natural science Laboratory > コンピュータ・シミュレーション講座 > 仮想物理実験室

VisualC++ と OpenGL を利用した仮想物理実験室
【2-8-1】ばね弾性力による運動の運動方程式とアルゴリズム

文責:遠藤 理平 (2010年8月30日) カテゴリ:仮想物理実験室(325)

ここまで、重力空気抵抗力の2つの力[N]という物理量を定義し、そのシミュレーションを行ないました。 そして、初期値(初期位置、初期速度など)を設定することで、様々な運動を行なうことを理解しました。 本節では、ばね弾性力という力を定義します。 ばね弾性力とは、その名のとおり、ばねを引いたときの元に戻ろうとする力(復元力)のことで、 我々の日常生活でも非常におなじみの力です。

ボールと箱がばねでつながれていて、x軸方向にばねが伸び縮みする系を考えます。 上図は、ばねが自然長で長さが L[m] で、ボールには何の力もかかっていない状態であるとします。この状態からボールを x軸方向に動かすと、ばねが自然長から変位します。変位したばねが戻ろうとして、変位と反対方向に力が発生します。これがばね弾性力と呼ばれる力です。

ばね弾性力は、ばねの変位 ΔL に対して比例の関係があります。 。ばねの変位を ΔL[m] は、上図からわかるとおり、

(2.8.5)

となります。

ばね弾性力とばねの変位の関係

(2.8.1)

また、力の単位である[N]は、【5日目】 重力加速度、重力、ニュートンの運動方程式で定義したとおり、

(2.8.2)
Nの定義

なので、比例定数の単位は[kg m/s^2]と決まります。ばね弾性力における比例定数は、ばね定数と呼ばれます。

物理量:ばね弾性力[N]とばね定数[kg/s^2]

(2.8.3)

ばね弾性力を f_x[N]、ばね定数を k[kg m/s^2]、ばねの変位を ΔL[m] と表すと、 上記の関係は次の式で書くことができます。

(2.8.4)

この関係式はフックの法則として知られています

ばね弾性力がある場合の運動方程式

ばね弾性力以外にボールに力が働かないとすると、 ボールに作用するすべての力 F[N] は、ばね弾性力 f_x[N] のみとなります。 x,y,z 成分それぞれに作用する力は、

(2.8.6)
力

となります。式(10-6)を【5日目】 重力加速度、重力、ニュートンの運動方程式で導出したニュートンの運動方程式

(2.8.6)
ニュートンの運動方程式

に代入することで、ばね弾性力がある場合のボールの運動方程式が得られます。

(2.8.7)
ニュートンの運動方程式

ばね弾性力を考慮すると、x 軸方向のボールの加速度 a_x[m/s^2]は、質量 m[kg]に反比例することがわかります。つまり上式は、「ばね弾性力による加速度は重いほど小さく、軽いほど大きくなる」ことを意味しています。これは、直感的に成り立っていることがわかります。

ばね弾性力による運動のアルゴリズムの導出

式(2.8.7)として得られたニュートンの運動方程式を【6日目】重力による運動:自由落下と同様に、コンピュータでシミュレーションするためのアルゴリズム導出します。 式(2.8.7)を差分で表すと、

(2.8.8)
差分方程式

となります。上式は、t = t_n[s] のときの加速度 a_n[m/s^2] は、そのときの速度 v_n[m/s]で得られることを表しています。得られた加速度と等加速度直線運動のアルゴリズムを用いることで、速度 v[m/s] と位置 x[m]とを決定することができます。

(2.8.9)
速度

(2.8.10)
位置

本節では、ばねの変位を x軸方向に限定しているので、初期位置 x_0, 初速度 v_{x0} を指定することで、様々な運動のシミュレーションを行うことができます。 次節では、具体的なシミュレーションを行ないます。

20100222-01.gif

VisualC++ と OpenGL を利用した仮想物理実験室

第0章 仮想物理実験室の構築

第1章 様々な運動

第2章 ニュートンの運動方程式

第3章 剛体の運動(エネルギー保存則と運動量保存則)

付録

  • 【A-1】参考文献
    ・(A-1-1)OpenGL について
    ・(A-1-2)VisualC++ について
    ・(A-1-3)物理シミュレーション
    ・(A-1-4)数値計算

未分類

力学

量子力学

波動論



▲このページのトップNPO法人 natural science トップ

関連記事

仮想物理実験室







▲このページのトップNPO法人 natural science トップ




Warning: mysqli_connect(): (28000/1045): Access denied for user 'xsvx1015071_ri'@'sv102.xserver.jp' (using password: YES) in /home/xsvx1015071/include/natural-science/include_counter-d.php on line 8
MySQL DBとの接続に失敗しました