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

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

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

【2-8-1】ばね弾性力による運動の運動方程式とアルゴリズムでは、ばね弾性力がある場合の運動方程式の導出と、コンピュータでシミュレーションを行うためのアルゴリズムの導出を行ないました。さらに、【2-8】ばね弾性力による運動:単振動運動(1次元)では、ばねが x 軸方向のみに変位するばねの単振動のシミュレーションを行ないました。

本節では、x-y 平面上でばねが変位する場合をシミュレーションするためのアルゴリズムの導出をおこないます。 自然長 L[m] のばねの片側を固定した動かない支柱を原点に置き、ばねの反対側をボールつけ、x-y 平面上に伸ばします。時刻 t=t_n[s] のときのボールの位置を r_n とします。

パラメータ

■ ボールの位置 r_n=(x_n,y_n)[m]
■ ばねの長さ L[m]
■ ばねの変位 ΔL[m]
■ ばね弾性力 f=(f_x,f_y)[N]
■ 変位の方向と x 軸方向とのなす角度 θ[rad]
パラメータの関係性のみを図示します。

ばね弾性力 f[N] の導出

【13日目】ばね弾性力がある場合の運動方程式で導出したとおり、 ばね弾性力 f[N] とばねの変位 ΔL[m] との関係は、フックの法則と呼ばれる次の関係式を満たします。

(2.9.1)
フックの法則

ばね弾性力 f[N] が、ニュートンの運動方程式から、シミュレーションのアルゴリズムを導出できます。ばね弾性力 f[N] を導出するために、ばねの変位 ΔL[m] を得る必要があります。関係性をわかりやすくするために、パラメータの関係を模式的に図示します。

原点からボールまでの距離 |r_n| は、三平方の定理から、

(2.9.2)

のように得られます。これにより、ばねの変位 ΔL[m] を導出します。

(2.9.3)

ばねの変位 ΔL[m] が導出できたので、これを 式(2.9.1)に代入することで、ばね弾性力 f[N] を求めることができます。しかしながら、ニュートンの運動方程式に当てはめるためには、ばね弾性力の x 成分 f_x と y 成分 f_y を得る必要があります。各成分を導出するために必要な情報は、ばねの変位の方向と x 軸方向とのなす角を θ[rad] です。cosθとsinθは、ボールの座標 r_n = (x_n, y_n) とを用いて次のように表すことができます。

(2.9.4)

式(2.9.4)を用いることで、ばね弾性力の各成分 f=(f_x, f_y) を導出することができます。

(2.9.5)

式(2.9.5)に ばね弾性力 f[N]、ばねの変位 ΔL[m]、cosθ、sinθを代入します。

(2.9.6)

上式は、ボールの位置 r_n = (x_n, y_n) が得られれば、ばね弾性力の各成分 f=(f_x, f_y) が決まることを表しています。上式は、任意の時刻 t[s] の位置 r(t) =(x(t), y(t)) でも成り立ちます。

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

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

(2.9.7)
力

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

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

に代入することで、空気抵抗がある場合のボールの運動方程式が得られます。

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

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

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

式(2.9.9)として得られたニュートンの運動方程式を【13日目】ばね弾性力がある場合の運動方程式と同様に、コンピュータでシミュレーションするためのアルゴリズム導出します。 式(2.9.9)を差分で表すと、

(2.9.10)
差分方程式

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

(2.9.11)
速度

(2.9.12)
位置

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

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との接続に失敗しました