投稿

ラベル(N88-BASIC)が付いた投稿を表示しています

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を読んで遊んで下さい  

N88-BASICで衝突 (1回目)

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

N88-BASICでモル (4回目)

イメージ
2022/10/23(月) N88-BASICでモル (4回目)   質量パーセント濃度とモル濃度の変換   M:溶質の分子量、またはモル質量(g/mol) p:水溶液の質量パーセント濃度(%) d:水溶液の密度(g/cm 3 )(g/mL) c:水溶液のモル濃度(mol/L)   1 L の水溶液の質量 = 1000d(g) c(mol)の溶質の質量 = cM(g) より   p(%) = cM / (1000d) × 100 = cM/(10d)   c(mol/L) = 10pd / M   おまけ   アボガドロ定数を使って 1L当たりの溶質の個数を求める N A  = 6.02214076×10 23  (/mol) c・M・N A  /(10d)        (/L)     10入力で10% 0.2m入力で0.2mol/L と判断している     N88-BASIC互換 VL,NL,XL-BASICとblg~.zip(mol004.bas)は 以下のリンクからダウンロードできます https://ulprojectmail.blogspot.com Readme.txtを読んで遊んで下さい

N88-BASICでモル (3回目)

イメージ
2023/10/18(水) N88-BASICでモル (3回目) 物質量,質量,個数,気体の体積   ■ 定義 原子質量定数(atomic mass constant) ( 12 Cの質量 / 12) m u  = 1Da (ダルトン)(dalton) ≒ 1.66053906660(50)×10 −27  kg  … (測定値)   アボガドロ定数(Avogadro constant) N A  = 6.02214076×10 23  /mol  … (定義) モル質量定数(molar mass constant) M u  = 10 3 m u N A  ≒ 0.99999999965(30) g/mol   原子Aの相対原子質量(原子Aの原子量) A r (A) = m a (A)/m u     元素Eの相対原子質量(元素Eの原子量) A r (E) = m ( _ ) a (E)/m u   … Over barは平均   分子Mの相対分子質量(分子Mの分子量) M r (M) = m(M)/m u       ■ 動作 有効数字2~8桁の場合 モル質量定数M u  ≒ 1なので 原子量などM r  ≒ モル質量Mとして 計算しています   概数の選択後 化学式と (g) or (mol)を入力し (原子量,分子量,式量)と 質量(g)、物質量(mol) 標準状態(0℃1013hPa)での気体の体積(個) 個数(個)を表示します   ()のネスト(二重括弧)には非対応です   硫酸鉄(Ⅲ)の入力例 Fe2(SO4)3 4g 5 または 5mol   g以外はmolと判定しています   VL,NL ,XL -BASICと blg~.zip ( mol 00 3 .bas)は 以下のリンクからダウンロードできます https://ulprojectmail.blogspot.com Readme.txtを読んで遊んで下さい

N88-BASICでモル (2回目)

イメージ
2023/10/15(日) N88-BASICでモル (2回目)   ■ 動作 概数の選択後 化学式を入力し 原子量,分子量,式量を表示します   ()のネスト(二重括弧)には非対応です   Fe 2 (SO 4 ) 3   … 硫酸鉄(Ⅲ) の入力例   Fe2(SO4)3   VL,NL ,XL -BASICと blg~.zip ( mol 00 2 .bas)は 以下のリンクからダウンロードできます https://ulprojectmail.blogspot.com Readme.txtを読んで遊んで下さい

N88-BASICでモル (1回目)

イメージ
2023/10/12(木) N88-BASICでモル (1回目)   原子番号または元素記号と 表示する原子の数を入力し 原子量とその概数を表示します   VL,NL ,XL -BASICと blg~.zip ( mol 00 1 .bas)は 以下のリンクからダウンロードできます https://ulprojectmail.blogspot.com Readme.txtを読んで遊んで下さい

N88-BASICでコリオリ力 (3回目)

イメージ
2023/10/8(日) N88-BASICでコリオリ力 (3回目)   (Coriolis force)   自由落下   ■ 前提 ▼ 参照 https://ulprojectmail.blogspot.com/2023/09/coriolis-4.html コリオリ力 (4回目)   ▼ 定義 F  :物体に加える力 F C :コリオリ力(Coriolis force) f C :遠心力(Centrifugal force) T:地球の自転周期[86164.098903691(s)] ω:地球の角速度[2π/T (rad/s)] R:地球の半径[6367.5×10 3 (m)北緯45°] g:重力加速度[g = GM/R 2  ≒ 9.83077(m/s 2 )] (北緯45°の標準重力加速度は正確に9.80665 m/s 2 ) h:高さ(m)[|h|<<|R|つまり|R+h|≒|R|とする) λ:北緯(rad)[日本の北緯35°, φ東経135°]   ▼ 法則 a  = (2ω y ( ・ ) sinλ, -2ω x ( ・ ) sinλ-2ω z ( ・ ) cosλ, -g + 2ω y ( ・ ) cosλ) 原点(x, y, z) = (0, 0, 0)   ▼ 自由落下 高さhから初速0で自由落下する質点を考える 初期条件 r 0  = (x 0 , y 0 , z 0 ) = (0, 0,  h) v 0  = (v 0 , v 0 , v 0 ) = (0, 0,  0) a 0  = (a 0 , a 0 , a 0 ) = (0, 0, -g)   位置、速度、加速度は a  = ( x ( ・・ ) , y ( ・・ ) , z ( ・・ ) ) = (2gt 2 ω 2 sinλcosλ, 2gtωcosλ, -g) v  = ( x ( ・ ) , y ( ・ ) , z ( ・ ) ) = ((2/3)gt 3 ω 2 sinλcosλ, gt 2 ωcosλ, -gt) r  = (x, y, z) = ((1/6)gt 4 ω 2 sinλcosλ, (1/3)gt 3 ωcosλ, h - (1/2)gt 2 )   地面に着くまでの時間 t ≒ √(2h/g)   ■ 解説 hを入力して 着地時の 加速度、速

N88-BASICでコリオリ力 (2回目)

イメージ
2023/10/5(木) N88-BASICでコリオリ力 (2回目)   (Coriolis force)   緯度と重力加速度の方向   ■ 前提 ▼ 参照 https://ulprojectmail.blogspot.com/2023/09/coriolis-2.html コリオリ力 (2回目)   ▼ 定義 T:地球の自転周期[86164.098903691(s)] ω:地球の角速度[2π/T (rad/s)] R EE :地球赤道半径[6378.1×10 3 (m)] R PE :地球極 半径[6356.8×10 3 (m)] G:重力定数[6.67430×10 -11 (Nm 2 /kg 2 )] M:地球質量[5.972×10 24 (kg)] R:地球の半径[6367.5×10 3 (m)北緯45°] g:重力加速度[g = GM/R 2  ≒ 9.83077(m/s 2 )] n  :P(x,y)の法線(垂直抗力の方向) φ:地理緯度 Φ:地心緯度 β:パラメトリック緯度(更成緯度) γ:天文経度(重力が指す方向との角γ≒φ)   原点(x, y, z) = (0, 0, 0)   ▼ φ,β,Φ tanφ = (a/b)tanβ = (a 2 /b 2 )tanΦ (b 2 /a 2 )tanφ = (b/a)tanβ = tanΦ   ▼ φ,β,γ r = √{(a 2  + b 2 tan 2 β)/(1 + tan 2 β)} tanβ = (b/a)tanφ tanγ = {g(b/a) / (g - ω 2 r)}tanβ   ■ 解説 緯度と重力加速度の方向の表示 VL,NL ,XL と blg~.zip ( cori 002 .bas)は 以下のリンクからダウンロードできます https://ulprojectmail.blogspot.com Readme.txtを読んで遊んで下さい  

N88-BASICでコリオリ力 (1回目)

イメージ
2023/10/2(月) N88-BASICでコリオリ力 (1回目)   (Coriolis force)   地球の半径   ■ 前提 ▼ 参照 詳しくは https://ulprojectmail.blogspot.com/2023/09/coriolis-2.html コリオリ力 (2回目)   ▼ 定義 T:地球の自転周期[86164.098903691(s)] ω:地球の角速度[2π/T (rad/s)] R EE :地球赤道半径[6378.1×10 3 (m)] R PE :地球極 半径[6356.8×10 3 (m)] G:重力定数[6.67430×10 -11 (Nm 2 /kg 2 )] M:地球質量[5.972×10 24 (kg)] R:地球の半径[6367.5×10 3 (m)北緯45°] g:重力加速度[g = GM/R 2  ≒ 9.83077(m/s 2 )] n  :P(x,y)の法線(垂直抗力の方向) φ:地理緯度 Φ:地心緯度 β:パラメトリック緯度(更成緯度) γ:天文経度(重力が指す方向との角γ≒φ)   ▼ 地球半径 a = R EE  = 6378.1×10 3 (m) 地球赤道半径 b = R PE  = 6356.8×10 3 (m) 地球極 半径   β = Tan -1 {(b/a)tanφ} R = √{(acosβ) 2  + (bsinβ) 2 }   または tanβ = (b/a)tanφ R = √{(a 2  + b 2 tan 2 β)/(1 + tan 2 β)}   ■ 解説 φを入力して βと地球半径Rを表示します VL,NL ,XL と blg~.zip ( cori 00 1 .bas)は 以下のリンクからダウンロードできます https://ulprojectmail.blogspot.com Readme.txtを読んで遊んで下さい  

N88-BASICで最速降下曲線 (2回目)

イメージ
2023/9/20(水) N88-BASICで最速降下曲線 (2回目)   (Brachistochrone curve)   最短経路(直線)と比較   ■ 解 https://ulprojectmail.blogspot.com/2023/09/brachistochrone-1.html 最速降下曲線 (1回目) https://ulprojectmail.blogspot.com/2023/09/brachistochrone-2.html 最速降下曲線 (2回目) より   ▼ 前提 重力加速度gのもとで(下向きを正とする) 点A(0, 0)から点B(w, h)に降下するとき 質点P(x, y)の最速降下線を求める   ▼ 軌道 0 ≦ θ ≦ 2π x = A(θ - sinθ) y = A(1  - cosθ) θ = t√(g/A) t = θ√(A/g)   ▼ h = 0の時のθ,A θ = 2π A = w/2π   ▼ h > 0の時のθ,A (θ - sinθ) / (1  - cosθ) - h/w = 0   ニュートン法 f(x) = 0の解を求める   f(x) = (1 - cosx) / (x - sinx) - h/w f'(x) = (xsinx + 2cosx - 2)/(x-sinx) 2     x  n  ≠ 0, 2π Δx = f(x  n )/f'(x  n ) x n+1  = x  n  – Δx x = x  n  (if Δx < ε)   θ = xを次の式に代入 A = h/(1  - cosθ)   ▼ 直線軌道 移動率をαとして α = (1/2)gt 2 h/(w 2  + h 2 ) 移動距離 (x, y) = (αw, αh) 時間 t = √{2α(w 2  + h 2 )/(gh)}   ■ 解説 (w, h)を入力して 1sec毎にgridを描画 軌道を描画   直線軌道の時間の点 (紫と赤が対応、それ以外は青) と 最速が終了した時間の点(黄色) を追加     VL,NLと blg~.zip ( brac 00 2 .bas)は 以下のリンクからダウンロードできます https://ulprojectmail.blogspot.com Readme.t

N88-BASICで最速降下曲線 (1回目)

イメージ
2023/9/14(木) N88-BASICで最速降下曲線 (1回目)   (Brachistochrone curve)     ■ 解 https://ulprojectmail.blogspot.com/2023/09/brachistochrone-1.html 最速降下曲線 (1回目) より   ▼ 前提 重力加速度gのもとで(下向きを正とする) 点A(0, 0)から点B(w, h)に降下するとき 質点P(x, y)の最速降下線を求める   ▼ 軌道 0 ≦ θ ≦ 2π x = A(θ - sinθ) y = A(1  - cosθ) θ = t√(g/A)   ▼ h = 0の時のθ,A θ = 2π A = w/2π   ▼ h > 0の時のθ,A (θ - sinθ) / (1  - cosθ) - h/w = 0   ニュートン法 f(x) = 0の解を求める   f(x) = (1 - cosx) / (x - sinx) - h/w f'(x) = (xsinx + 2cosx - 2)/(x-sinx) 2     x  n  ≠ 0, 2π Δx = f(x  n )/f'(x  n ) x n+1  = x  n  – Δx x = x  n  (if Δx < ε)   θ = xを次の式に代入 A = h/(1  - cosθ)     ■ 解説 (w, h)を入力して 1sec毎にgridを描画 軌道を描画     VL,NLと blg~.zip ( brac 00 1 .bas)は 以下のリンクからダウンロードできます https://ulprojectmail.blogspot.com Readme.txtを読んで遊んで下さい  

N88-BASICでシュワルツシルト半径 (3回目)

イメージ
2023/8/26(土) N88-BASICでシュワルツシルト半径 (3回目)   (Schwarzschild radius)   時間の進み方と半径rのグラフ   ■ 定義 G   :重力定数 M   :天体の質量 c   :光の速度 r g :シュワルツシルト半径   ■ 導出 https://ulprojectmail.blogspot.com/2023/08/schwarzschild-4.html シュワルツシルト半径 (4回目) より   ds 2  = -(1-r g /r)(cdt) 2  + 1/(1-r g /r)dr 2  + r 2 dθ 2  + r 2 sin 2 θdφ 2   r g  = 2GM/c 2     時間だけを考えるので dr = dθ = dφ = 0と置いて ds 2  = -(1-r g /r)(cdt) 2   dτ 2  = -ds 2  = (1-r g /r)(cdt) 2   {dτ/(cdt)} 2  = 1-r g /r r g /r = 1 - {dτ/(cdt)} 2   r = r g /[1 - {dτ/(cdt)} 2 ]   ここで時間の進み方の割合pは p = dτ/(cdt) r = r g /[1 - {dτ/(cdt)} 2 ] = r g /(1 - p 2 ) をpの式にすると 1 - p 2  = r g /r p = √(1 - r g /r)     ■ 余談 地球表面の重力を1Gとすると シュワルツシルト半径の重力は (地球半径 / 地球質量のシュワルツシルト半径) 2  G となり (約6400 km / 約8.9 mm) 2  ≒ (719×10 6 ) 2  = 516961×10 12   ≒ 52×10 16  G = 52京 G   シュワルツシルト半径の100倍の距離でも 重力は1万分の1にしかならず 52兆 G となる?     ■ 結果 p:時間の進み方の割合(p = 0.5なら半分の速さで進む) p = dτ/(cdt) = √(1 - r g /r)   を使ってグラフを描画します     惑星などのデータは 理科年表2020年(国立天文台) 参照です     VL,NL,XL-BASICと blg~.zip (schw00 3 .bas)は 以