アニメーションを通じて次のことをシミュレートしたかったのです
。ボールは、垂直の円形ループの一番下のポイントで特定の速度で始まり、
その速度が許すまでその中で転がり続けます。
このために、速度/ x/y対時間の方程式を見つけたいと思いました。
たとえば、ボールの質量が5Kg、円形ループの半径が10m、ボールの初速度が200 m / sの場合
、5秒後
の速度と(x、y)位置はどうなりますか?
ありがとう。
アニメーションを通じて次のことをシミュレートしたかったのです
。ボールは、垂直の円形ループの一番下のポイントで特定の速度で始まり、
その速度が許すまでその中で転がり続けます。
このために、速度/ x/y対時間の方程式を見つけたいと思いました。
たとえば、ボールの質量が5Kg、円形ループの半径が10m、ボールの初速度が200 m / sの場合
、5秒後
の速度と(x、y)位置はどうなりますか?
ありがとう。
点粒子ボールを備えたスライド式の摩擦のないケース
この場合、回転エネルギーについては気にせず、ボールは実際には点粒子であると想定しています。次に、ボールが上部に留まるためには、求心力の条件が満たされている必要があります。
m * v_top^2 / r = m * g
それで
v_top = sqrt(r * g)
したがって、最小初速度は次のように決定されます。
1 / 2 * m * v0^2 >= 1 / 2 * m * v_top^2 + m * g * 2 * r
v0 >= sqrt(5 * r * g)
これは、ピートが上に留まるための求心力の状態を忘れたことを除いて、ピートが言ったことと似ています。
次に、トラックに接する加速度は次の式で与えられます。
a = - g * sin(theta)
ただしa = r * alpha = r * d^2(theta)/dt^2
、アルファは回転加速度です。したがって、
r * d^2(theta)/dt^2 = g * sin(theta)
しかし、私はこの微分方程式の解析解を知りませんし、Mathematicaもそれを見つけることにつまずきました。dt
シータはtの関数であるため、sを反対側に移動して統合することはできません。Runga-KutteやVerlet法などの数値的手段で解くことをお勧めします。私はあなたが与えたパラメータのためにMathematicaを使ってそれを解決しました、しかしボールがとても速く動くので、それは動き回るのにそれほど遅くなりません。ただし、初速度を下げると、シータを時間の関数としてプロットすることで、速度の増減を確認できました。
有限のボール半径、回転エネルギー、摩擦などを追加することは確かに実行可能ですが、ここから複雑になるだけなので、先に進む前にこの最初のケースを解決できるかどうか心配します。ちなみに、摩擦では、与えられた材料の動摩擦係数を選択する必要があります。これはもちろん、トラックに沿って力の成分を合計することで解決できる、トラックによってボールに加えられる垂直力に比例します。円の半径であり、求心力の条件を含めることを忘れないでください。
この種の物理学をこれまでに行ったことがない場合は、物理学の入門書(微積分を含む)を入手して、それを実行することを強くお勧めします。それはおそらく本の非常に大きなセクションですが、あなたは力学に適用されるセクションを気にする必要があるだけです。この質問のいくつかのリソースのように、追求するより良いルートがあるかもしれません。
速度は一定なので、角速度は。になりomega = vel / radius
ます。ボールがその円形のパス上を1秒間に移動するラジアンの数を取得します。
その時点で位置を取得するには、t
極座標を利用する必要があります。
x = x_center + sin( 3/2*PI + omega*t)*radius
y = y_center + cos( 3/2*PI + omega*t)*radius
これは、円の最下点(つまりその3/2*PI
)に加えて、毎秒移動する放射の数(接線速度から取得)から開始するためです。すべて半径に乗算されます。それ以外の場合は、単一の円と見なされます。
編集:多くの異なる力を受けるオブジェクトの位置を見つける方法を疑問に思うので、通常、物理エンジンは移動するオブジェクトの方程式を見つけることを気にしないと言うことができます。意図した動き(円形の動きなど)や環境要因(重力や摩擦など)を考慮してオブジェクトに力を加えるだけで、力を加えて積分器を使用して結果を確認することにより、座標を段階的に計算します。
摩擦を無視すると、ボールにかかる力は重力と軌道です。
まず、2つの主なケースがあります-ボールがループループするのに十分な速度であるかどうか:
initial energy = 1/2 m v² = 0.5 * 5 * 200 * 200
potential energy = m g h = 5 * 9.8 * 20
したがって、ループ全体を巡回します。
最初、ボールはループの一番下にあり、シータ= 0
ボールの加速度は、トラックに沿ったgの成分です。
a = g⋅sin theta
移動距離はシータ*半径です。これは、時間に対する加速度の二重積分でもあります。
theta ⋅ radius = double integral of acceleration against time
加速度を積分すると速度が得られ、速度を積分すると距離が得られます。
したがって、これをtについて解きます。
theta ⋅ r = ∫(∫ g⋅sin theta.dt).dt
次に、xとyはシータの自明な関数です。
分析的に解決するか数値的に解決するかはあなた次第です。
動摩擦では、摩擦は通常、物体にかかる垂直抗力に比例します。したがって、これは求心力に等しくなります-角速度の2乗に比例し、トラックに垂直な重力の成分(g sin theta)
加速度がない場合(x,y) =(xstart+ vx*time ,ystart + vy*time)
と速度は同じままで、半径とは関係ありません
ベロシティをどのように変化させたいかについては何も言わなかった。摩擦モデルはありますか?摩擦がない場合、式は単純です。
length = velocity*t
x = sin(length)*radius
y = -cos(length)*radius
速度が変化している場合は、長さを次のように変更する必要があります
length = integral over dt[0..t] (velocity dt)
追加したかったのは、これが質量5kgの実際のボール(球)である場合、材料の密度でdia=(6*m/(PI*rho))^(1/3)
ある直径を持っている必要があるということだけです。rho
鋼(rho
= 7680)の場合、直径はdia
=0.1075メートルです。したがって、ピッチ半径(ボールの重心が乗る半径)は、R=10-(dia/2)
またはR
=9.9466メートルに等しくなります。
摩擦が含まれている場合、問題はもう少し複雑になります。1つは、摩擦の方向を考慮する必要があります(乾式摩擦理論を想定)。これは、ボールがその軸内で回転する量に依存し、ボールの慣性モーメントに依存します。
シミュレーションを行うときは、総運動エネルギー+
、総位置エネルギーを監視し、システムにエネルギーを追加していない(または奪っている)ことを確認する必要があります。[運動エネルギーの回転成分を含めることを忘れないでください]
ダイナミクスに関する標準的な本を入手してください。同様の問題がすでに本に記載されていると思います。「エンジニアのためのベクトルメカニック-ダイナミクス」をお勧めします。