力学の入門 : 4 「ニュートンの運動方程式」

アバター
GRAM
記事: 164
登録日時: 14年前
住所: 大阪

力学の入門 : 4 「ニュートンの運動方程式」

投稿記事 by GRAM » 13年前

さて、超初歩的な力学をやるのに最低限必要と思われる武器は大体そろったので、ニュートンの運動方程式(ふつう単なる運動方程式といった場合これを指す)に
ついて話したいと思います。


[ 1 ] 運動方程式とは

高校1年生で物理を習った場合はやったと思いますが、運動方程式とは次のような「超短い式」であらわされる方程式のことです
ma = F

この式が言っていることはごく単純です。
「物体のある時刻の加速度は、その時刻における力の向きと同じで、かつその大きさは、力の大きさを質量で割ったものに等しい」ということです。
これは直観的かと思います。

つまり物体は力を加えた方向に加速し、力が大きいほど早く加速します。 一方質量が大きいほどゆっくり加速し、軽いと加速は容易だということです。

このあまりにも当たり前な方程式は 「世の中の目に見えるほとんどの運動」を記述できてしまします。

[ 2 ]運動方程式の適用範囲

しかし運動方程式はどんなときにも使えるわけではありません。たとえば「加速する車に固定した座標系」などではそのまま使えません。
運動方程式が使えるのは

慣性系

と呼ばれる座標系に限ります。

慣性系とは「力を加えなければ物体は静止するか、等速度で運動するかのどちらか」という座標系です。

つまり自動車で加速するときなどは、後ろに引っ張られるような感覚とともにものが勝手に動いてしまいますので、運動方程式の適用範囲外といえます。

[ 3 ] プログラム


さて、加速度が力から求まってしまえば、運動をシミュレートすることは容易です。
つまり、加速度を力と質量から求め、 加速度から速度を、速度から位置を求めれば、もうあとは表示するだけです。
また、複数の力が加わるときは力を足していき最後に加速度を求めればいいので一旦力をメンバ変数にバッファしておいて、Updateで一気に加速度を求めるという
処理にしています。


このプログラムでは、マウスポインタの位置との距離に比例した力を質点に加え、マウスポインタの位置へ向かうようになっています。
それだけでは面白くないので、ついでに質点の速度に比例した抵抗を加えています。
抵抗を加えることでマウスポインタの位置まで来たら減速して止まる(後の減衰振動)ような運動をします。

ClearDrawScreen() をコメントアウトしてみるとわかりますが、質点は単純にマウスポインタの位置に一直線に向かうのではなく、
それまでの運動を継続しながらマウスポインタの位置に向かっているため、マウスの運動を追従しようとしているように見えます。
► スポイラーを表示
Vector.hの中身
► スポイラーを表示
実行結果
無題.png

次回はばねの運動かな?
最後に編集したユーザー GRAM on 2012年9月15日(土) 13:37 [ 編集 1 回目 ]

コメントはまだありません。