ボールを床に転がしたとき、
コロコロ転がるボールと床の間にも摩擦力は生じ、
ボールは床を移動しながら回転する。
この力についてのメモ。
今回は単純のため、水平な床を考える。
重力加速度を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'|
あとはここから加速度を求めて角加速度を求めて
差分方程式立てて数値的に・・
簡単そうなのになかなかうまくいかない
コロコロ転がるボールと床の間にも摩擦力は生じ、
ボールは床を移動しながら回転する。
この力についてのメモ。
今回は単純のため、水平な床を考える。
重力加速度を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'|
あとはここから加速度を求めて角加速度を求めて
差分方程式立てて数値的に・・
簡単そうなのになかなかうまくいかない