N88-BASICで衝突 (2回目)
2023/11/12(日)
N88-BASICで衝突 (2回目)
(collision)
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Δt2
v = |ΔR| … 速さ
P = P1 - W - r1N … 壁+半径を原点にした球1の位置
s = -(P・N) / (E・N) … 移動方向の壁までの距離
(ただし E・N = 0 の時は壁に平行なため衝突しない)
s < 0の時、壁は後(|s| は距離)
s ≧ 0の時、壁は前(s は距離)
▼ 衝突(|Δt| << 1のとき)
dV = Adt
dP = Vdt
■ 動作
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(coll002?.bas)は
以下のリンクからダウンロードできます
https://ulprojectmail.blogspot.com
Readme.txtを読んで遊んで下さい
■ 前提
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Δt2
v = |ΔR| … 速さ
P = P1 - W - r1N … 壁+半径を原点にした球1の位置
s = -(P・N) / (E・N) … 移動方向の壁までの距離
(ただし E・N = 0 の時は壁に平行なため衝突しない)
s < 0の時、壁は後(|s| は距離)
s ≧ 0の時、壁は前(s は距離)
▼ 衝突(|Δt| << 1のとき)
dV = Adt
dP = Vdt
■ 動作
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(coll002?.bas)は
以下のリンクからダウンロードできます
https://ulprojectmail.blogspot.com
Readme.txtを読んで遊んで下さい