N88-BASICで衝突 (2回目)
2023/11/12(日) N88-BASICで衝突 (2回目) (collision) 球と壁 ■ 前提 https://ulprojectmail.blogspot.com/2023/11/collision-2.html 衝突 (2回目) より ▼ 定義 大文字(太字)はベクトル 右下添字は球番号 P :球の位置ベクトル m:球の質量 V :球の速度 A :球の加速度 t:経過時間 r:球の半径 E: 球の移動方向の単位ベクトル R: 球の軌跡 s:距離 ':衝突後 ▼ 衝突 ΔV = AΔ t ΔR = VΔ t + (1/2) AΔ t 2 v = | ΔR | … 速さ P = P 1 - W - r 1 N … 壁+半径を原点にした球1の位置 s = -( P ・ N ) / ( E ・ N ) … 移動方向の壁までの距離 (ただし E ・ N = 0 の時は壁に平行なため衝突しない) s < 0の時、壁は後(|s| は距離) s ≧ 0の時、壁は前(s は距離) ▼ 衝突(|Δt| << 1のとき) d V = A dt d P = V dt ■ 動作 N88-BASIC(86)(PC-98)用(coll002.bas )は、マウス N88-BASIC(88)(PC-88)用(coll002x.bas)は、キーボード で速度を入力し球同士と壁の衝突を表示 coll002?.basは 1050 PC98 = 1 '--- 1:PC-98 , 0:PC-88 が1 or 0の違いだけです VL,NL ,XL -BASICと blg~.zip ( coll 00 2? .bas)は 以下のリンクからダウンロードできます https://ulprojectmail.blogspot.com Readme.txtを読んで遊んで下さい