ソフトウェア開発したい日記

「面白い!」と思った頭の体操や、数学の問題を載せていきます
その他ロードバイクででかけた先の写真や、ソフト開発のメモ等

ボールの移動による摩擦と、回転による表面速度

2010年05月21日 19時13分28秒 | ソフト開発日記
ボールを床に転がしたとき、
コロコロ転がるボールと床の間にも摩擦力は生じ、
ボールは床を移動しながら回転する。

この力についてのメモ。
今回は単純のため、水平な床を考える。

重力加速度をg,ボールの質量をmとすると、
垂直抗力は重力による力mgに等しく、
動摩擦係数をμとすると、摩擦力はμmgと表される。
また、摩擦力はボールの移動方向と逆向きである。

ここで、加速度aは

a = F/m -μmg/m = -μg
(今回水平方向の移動のみを考え、向きベクトルは省略)

となる。
単位時間⊿t(シミュレーションの1フレーム)での速度変化、位置変化は

x' = x + v
v' = v - μg⊿t

と計算できる。
次いで、回転しながら運動するボールを考える。
ここでは、床とボールの接点の、床に対する表目速度を考える。

ボールの移動による表面速度は、移動速度vに等しい。
ボールの回転による表面速度は、床の単位法線ベクトルをnとし、
角速度ベクトルをω、ボールの半径をrとすると、

u = ω×c = r(n×ω)

となる。(cは、ボールの中心から床との接触点へのベクトルで、c=-rn

2つの表面速度ベクトルの合成が、床との相対速度であり、

v' = v + u

である。床に対してv'の速度で進むとき、動摩擦力は

-μmgv'/|v'|

あとはここから加速度を求めて角加速度を求めて
差分方程式立てて数値的に・・

簡単そうなのになかなかうまくいかない