回答:
ドラッグや風のための閉じたフォームが存在するかどうかはわかりませんが、(すべての物理ライブラリが行うように)段階的にシミュレーションするのは非常に簡単です。
初期条件を設定します。
位置を更新:
(dtは最後の更新からの経過時間、別名デルタ時間)
これらの速度ヘルパーを計算します。
(はvの長さを表す)
抗力を計算します。
(ここで、cは小さな摩擦係数です!)
力を蓄積する:
更新速度:
それは基本的にそれらの物理学を近似するためのオイラーの方法です。
コメントで要求されたシミュレーションの方法についてもう少し:
これは基本的に、tのすべての出現が0に置き換えられる基本的な軌道式と同じです。
simulate(v0, theta, t1)
dt = 0.1
x = 0
y = 0
vx = v0 * cos(theta)
vy = v0 * sin(theta)
for (t = 0; t < t1; t += dt)
x += vx * dt
y += vy * dt
v_squared = vx * vx + vy * vy
v_length = sqrt(v_squared)
f_drag = c * v_squared
f_grav = g * mass
f_x = (-f_drag * vx / v_length)
f_y = (-f_drag * vy / v_length) + (-f_grav)
v_x += f_x * dt / mass
v_y += f_y * dt / mass
end for
return x, y
end simulate
KE=0.5*m*(V*V)
は有効ですか?