投稿

N88-BASICでデジタル回路 (3回目)

イメージ
2024/2/6(火) N88-BASICでデジタル回路 (3回目)   OFFスイッチ/ONスイッチでON/OFF制御する デジタル回路   ■ 解説 1=true(真)、0=false(偽) a:OFFスイッチ b:ONスイッチ c:出力   以下 NOT, AND, ORは1bit論理演算子とする   c = 0 x =   NOT a z = c AND x c = z OR  b   初め c = 0, a = 0, b = 0 x =   NOT a =   NOT 0 = 1 z = c AND x = 0 AND 1 = 0 c = z OR  b = 0 OR  0 = 0 出力c = 0   bを押す c = 0, a = 0, b = 1 x =   NOT a =   NOT 0 = 1 z = c AND x = 0 AND 1 = 0 c = z OR  b = 0 OR  1 = 1 出力c = 1   bを離す c = 1, a = 0, b = 0 x =   NOT a =   NOT 0 = 1 z = c AND x = 1 AND 1 = 1 c = z OR  b = 1 OR  0 = 1 出力c = 1   aを押す c = 1, a = 1, b = 0 x =   NOT a =   NOT 1 = 0 z = c AND x = 1 AND 0 = 0 c = z OR  b = 0 OR  0 = 0 出力c = 0   aを離す c = 0, a = 0, b = 0 x =   NOT a =   NOT 0 = 1 z = c AND x = 0 AND 1 = 0 c = z OR  b = 0 OR  0 = 0 出力c = 0   以上により b=1でc=1の後b=0でもc=1 a=1でc=0の後a=0でもc=0 となり bでON、aでOFFにするスイッチの回路になる   ■ おまけ ? = 1 or 0   a,bを同時に押す c = ?, a = 1, b = 1 x =   NOT a =   NOT 1 = 0 z = c AND x = ? AND 0 = 0 c = z OR  b = 0 OR  1 = 1 出力c = 1   a,bを同時に離す c = ?, a = 0, b = 0

剛体力学 (3回目)

2024/2/3(土) 剛体力学 (3回目) 剛体力学 (Rigid body mechanics)   慣性テンソル   ■ 前提 ▼ 定義 N :回転力(N・m)(力のモーメント) F :力(N) a :加速度(m/s 2 ) v :速度(m/s) x :位置(m) α:角加速度(rad/s 2 ) ω:角速度(rad/s) θ:角度(rad) r :動径(m)(回転半径) m :質点の質量(kg) M :全体の質量(kg) I :質点の慣性モーメント(kg・m 2 ) I  :質点の慣性テンソル(kg・m 2 ) L  :角運動量(kg・m 2 /s) r  :動径(m) p  :運動量(kg・m/s)   太字はベクトル   ■ 導出 ▼ 外積の公式 ここだけ大文字をベクトル 小文字の添え字を成分とする   {A × (B × C)}x = Ay(B × C)z – Az(B × C)y = Ay(BxCy - ByCx) - Az(BzCx - BxCz) = AyBxCy - AyByCx - AzBzCx + AzBxCz = (AyCy + AzCz)Bx - (AyBy + AzBz)Cx = (AxCx + AyCy + AzCz)Bx - (AxBx + AyBy + AzBz)Cx = (A・C)Bx - (A・B)Cx   {A × (B × C)}x = (A・C)Bx - (A・B)Cx x → y, y → z, z → xに変換して {A × (B × C)}y = (A・C)By – (A・B)Cy   x → z, y → x, z → yに変換して {A × (B × C)}z = (A・C)Bz – (A・B)Cz   よって A × (B × C) = (A・C)B - (A・B)C   ▼ 内積の公式 ここだけ大文字をベクトル、小文字を添え字とする {(A・B)A}x = (AxBx + AyBy + AzBz)Ax = (Ax 2 , AxAy, AzAx)・B {(A・B)A}y = (AxBx + AyBy + AzBz)Ay = (AxAy, Ay 2 , AyAz)・B {(A・B)A}z = (AxBx + AyBy + AzBz)Az = (AzAx, AyAz, Az 2 )・B   よって (A・B)A

N88-BASICで剛体力学 (2回目)

イメージ
2024/1/31(水) N88-BASICで剛体力学 (2回目)   剛体力学 (Rigid body mechanics)   斜面の転がりと滑り(回転)   ■ 定義 https://ulprojectmail.blogspot.com/2024/01/rigid-2.html 剛体力学 (2回目) より   ▼ 座標 θ:回転角(rad) ω:回転角速度(rad/s) α:回転角加速度(rad/s 2 ) φ:傾斜角(rad) m :剛体の質量(kg) r :球(円柱)の半径(m) h :円柱の高さ(m) g :重力加速度(m/s 2 ) a :剛体回転軸位置の加速度(m/s 2 ) v :剛体回転軸位置の速度(m/s) x :剛体回転軸位置(m) I :慣性モーメント(kg・m 2 ) F :静止摩擦力(N)   I = (2/5)mr 2   … 球 I = (1/2)mr 2   … 円柱   ▼ 運動方程式 ma = mgsinφ – F a = (mgsinφ)/(m + I/r 2 )   I = 0      if F = 0 a = gsinφ if F = 0   a = (5/7)gsinφ  … 球 a = (2/3)gsinφ  … 円柱   a = const.(一定) v = v 0  + at x = x 0  + v 0 t + (1/2)at 2     a = rα v = rω x = rθ   回転加速度は α/(2π) (回転/s 2 )   回転速度(1秒毎の回転数)は ω/(2π) (回転/s)     ■ 動作 斜面の傾斜角と初めの位置の高さを入力し 高さ0m地点までの移動距離、経過時間 加速度 高さ0m地点での速度 回転加速度 高さ0m地点での回転速度を   円柱、球、滑る(摩擦なし) について それぞれ表示します   VL,NL,XL-BASICとd lg~.zip (r igi d001.bas)は 以下のリンクからダウンロードできます https://ulprojectmail.blogspot.com Readme.txtを読んで遊んで下さい  

N88-BASICで剛体力学 (1回目)

イメージ
2024/1/28(日) N88-BASICで剛体力学 (1回目)   剛体力学 (Rigid body mechanics)   斜面の転がりと滑り(移動)   ■ 定義 https://ulprojectmail.blogspot.com/2024/01/rigid-2.html 剛体力学 (2回目) より   ▼ 座標 θ:回転角(rad) ω:回転角速度(rad/s) α:回転角加速度(rad/s 2 ) φ:傾斜角(rad) m :剛体の質量(kg) r :球(円柱)の半径(m) h :円柱の高さ(m) g :重力加速度(m/s 2 ) a :剛体回転軸位置の加速度(m/s 2 ) v :剛体回転軸位置の速度(m/s) x :剛体回転軸位置(m) I :慣性モーメント(kg・m 2 ) F :静止摩擦力(N)   I = (2/5)mr 2   … 球 I = (1/2)mr 2   … 円柱   ▼ 運動方程式 ma = mgsinφ – F a = (mgsinφ)/(m + I/r 2 )   I = 0      if F = 0 a = gsinφ if F = 0   a = (5/7)gsinφ  … 球 a = (2/3)gsinφ  … 円柱   a = const.(一定) v = v 0  + at x = x 0  + v 0 t + (1/2)at 2     ■ 動作 斜面の傾斜角と初めの位置の高さを入力し 高さ0m地点までの移動距離、経過時間 加速度 高さ0m地点での速度を   円柱、球、滑る(摩擦なし) について それぞれ表示します   VL,NL,XL-BASICと d lg~.zip (r igi d001.bas)は 以下のリンクからダウンロードできます https://ulprojectmail.blogspot.com Readme.txtを読んで遊んで下さい  

剛体力学 (2回目)

イメージ
2024/1/22(月) 剛体力学 (2回目)   剛体力学 (Rigid body mechanics)   斜面の転がりと滑り   ■ 定義 ▼ 座標 θ:回転角(rad) ω:回転角速度(rad/s) α:回転角加速度(rad/s 2 ) φ:傾斜角(rad) m :剛体の質量(kg) r :球(円柱)の半径(m) h :円柱の高さ(m) g :重力加速度(m/s 2 ) a :剛体回転軸位置の加速度(m/s 2 ) v :剛体回転軸位置の速度(m/s) x :剛体回転軸位置(m) I :慣性モーメント(kg・m 2 ) F :静止摩擦力(N)   I = (2/5)mr 2   … 球 I = (1/2)mr 2   … 円柱     ■ 導出 ▼ 運動方程式     図1   ma = mgsinφ – F  … (運動方程式)   Iα = rF  … (回転力) a = rα  … (加速度) より rF = Ia/r F = (I/r 2 )a  … (静止摩擦力)   を ma + F = mgsinφ に代入 (m + I/r 2 )a = mgsinφ a = (mgsinφ)/(m + I/r 2 )   ▼ 摩擦力0の時 F = (I/r 2 )a = 0  … (r > 0, a ≠ 0) より I = 0 a = (mgsinφ)/(m + I/r 2 ) = gsinφ   ▼ 球の時 I = (2/5)mr 2   a = (mgsinφ)/(m + I/r 2 ) = (mgsinφ)/{m + (2/5)mr 2 /r 2 } = (gsinφ)/(1 + 2/5) = (5/7)gsinφ   ▼ 円柱の時 I = (1/2)mr 2   a = (mgsinφ)/(m + I/r 2 ) = (gsinφ)/(1 + 1/2) = (2/3)gsinφ   ▼ 速度と位置 加速度a = const.(一定) 速度 v = ∫adt = at + v 0   … (v=v 0  if t=0) 位置 x = ∫vdt = (1/2)at 2  + v 0 t  + x 0   … (x=x 0  if t=0)     ■ 結果 ▼ 座標 θ:回転角(rad) ω:回転角速度(rad/s) α:回転角加速度(rad/s 2 )

剛体力学 (1回目)

イメージ
2024/1/18(木) 剛体力学 (1回目)   剛体力学 (Rigid body mechanics)   慣性モーメント   ■ 定義 ▼ 質点の慣性モーメント(余談) N :回転力(N・m)(力のモーメント) F :力(N) a :加速度(m/s 2 ) v :速度(m/s) x :位置(m) α:角加速度(rad/s 2 ) ω:角速度(rad/s) θ:角度(rad) r :動径(m)(回転半径) m :質点の質量(kg) I :質点の慣性モーメント(kg・m 2 )   回転半径rの質量mの質点に対して   x = rθ v = x ( ・ )  = r θ ( ・ )  = rω a = x ( ・・ )  = r θ ( ・・ )  = rα より   a = rα, v = rω, x = rθ F = ma = mrα N = Fr = mr 2 α = Iα  … (I = mr 2  と置く)   よって F = ma N = Iα  … (I = mr 2 )   回転に関する質量に相当する Iを慣性モーメントと言う   ▼ 座標 (x, y, z):直交座標(m, m, m) (r,θ,φ):極座標(m, rad, rad) (r,θ, z):円柱座標(m, rad, m)   ▼ 慣性モーメント dV   :微小体積(m 3 ) ρ   :密度(kg/ m 3 ) r z  :z軸からの垂直距離(m) R    :半径(m) H    :高さ(m) V    :体積(m 3 ) M    :質量(kg) I    :慣性モーメント(kg・m 2 )   V = ∫dV M = ρV I = ∫ρr z 2 dV  … (余談のI = mr 2  より)     ■ 微小体積とz軸からの距離など   図1 球(左)と円柱(右)   ▼ 球 (x, y, z) = (rsinθcosφ, rsinθsinφ, rcosθ) dV = r 2 sinθdrdθdφ r z  = rsinθ V = ∫dV = ∫ 0 2π ∫ 0 π ∫ 0 R r 2 sinθdrdθdφ I = ∫ρr z 2 dV = ∫ 0 2π ∫ 0 π ∫ 0 R ρ(r 2 sin 2 θ)r 2 sinθdrdθdφ   ▼ 円柱 (x, y, z) =

N88-BASICでBMP (2回目)

イメージ
2024/1/15(月) N88-BASICでBMP (2回目)   256色(8bits)bmpファイルの読込み   ■ BMPファイルフォーマット https://ulprojectmail.blogspot.com/2024/01/n88-basicbmp-1.html N88-BASICでBMP (1回目) 参照     ■ 動作環境 PC-9821(256色対応)のN88-BASIC(86) NL-BASIC(Alt+6を押して高速化しておいて下さい) bmp002.bas 1090 N88 = 1 '--- 0:VL-BASIC / 1:N88-BASIC(PC-9821),NL-BASIC   VL-BASIC(Alt+6を押して高速化しておいて下さい) bmp002v.bas 1090 N88 = 0 '--- 0:VL-BASIC / 1:N88-BASIC(PC-9821),NL-BASIC     ■ 動作 ファイル名(.bmpは省略)を入力すると 256色(8bits)bmpファイルを読込み表示します   ■ Alt+6のメッセージを消す 1090 N88 = 2 '--- … PC-9821の場合 N88 = 1とするとAlt+6が非表示になります   ■ おまけ(bits8.bmp) NLBasic/NLbasic01prn.bmp(フルカラー)を256色にした bits8.bmp (8bits 256色) を添付 (詳しくは、前回のbits4.bmpに関する説明参照)     VL,NL-BASICと d lg~.zip ( bmp002? .bas , bits8.bmp )は 以下のリンクからダウンロードできます https://ulprojectmail.blogspot.com Readme.txtを読んで遊んで下さい