N88-BASICで斜面投射
▼ 運動方程式
動摩擦力F' = μ'N = μ'mgcosθ
傾斜面に垂直な方向の重力加速度の成分gsinθ
加速度ベクトルa(t) = (ax(t), ay(t))
速度ベクトル v(t) = (vx(t), vy(t))
とすると
a(t) = -(0, gsinθ) - {v(t)/|v(t)|}μ'gcosθ
▼ 数値計算
a(t) = -(0, gsinθ) - {v(t)/|v(t)|}μ'gcosθ
この微分方程式を位置ベクトル
x(t) = (x(t), y(t))
について解くのは困難なので近似値を数値計算する
時間の増分を⊿tとし
a(t) = -(0, gsinθ) - {v(t)/|v(t)|}μ'gcosθ
v(t+⊿t) = v(t) + a(t)⊿t
x(t+⊿t) = x(t) + v(t)⊿t
という大雑把な式で計算しています
⊿tが小さいほど精度が上がり計算時間が増えます
▼ 動作
初速度v0 = (vx, vy)を入力すると軌跡を描画します
VL,NL-BASICとdlg~.zip(slop001.bas)は
このブログ(以下のリンク)からダウンロードできます
https://ulprojectmail.blogspot.com
Readme.txtを読んで遊んで下さい