投稿

1月, 2024の投稿を表示しています

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地点での速度 回転加速度 高...

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://ulpr...

剛体力学 (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φ   ▼ 円柱の時 ...

剛体力学 (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  より) ...

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

N88-BASICでBMP (1回目)

イメージ
2024/1/12(金) N88-BASICでBMP (1回目)   16色(4bits)bmpファイルの読込み   ■ BMPファイルフォーマット ▼ ファイルヘッダ (14bytes) 00h (2bytes) ファイルタイプ "BM" 02h (4bytes) ファイルサイズ(bytes) 06h (2bytes×2) 予約領域(常に0) 0Ah (4bytes) (ファイル+情報)ヘッダサイズ(bytes) ▼ 情報ヘッダ (40bytes) 0Eh (4bytes) 情報ヘッダサイズ(bytes) 12h (4bytes) 画像の幅 (pixels) 16h (4bytes) 画像の高さ(pixels)(正:下から上,負:上から下) 1Ah (2bytes) プレーン数(常に1) 1Ch (2bytes) 1画素のビット数(bits) 1Eh (4bytes) 圧縮形式(0:非圧縮、その他:圧縮形式) 22h (4bytes) 画像サイズ(bytes) 26h (4bytes) 横画素数(pixels/m)(通常0) 2Ah (4bytes) 縦画素数(pixels/m)(通常0) 2Eh (4bytes) パレット数(個) 32h (4bytes) 重要パレットインデックス(番)(通常0) ▼ パレットBGRX 36h ~ (4bytes×パレット数) ▼ 画像 36h + 4bytes×パレット数 ~ 画像の幅        = W(pixels) 画像の高さ       = H(pixels) 1画素のビット数 = B(bits)として X = W × B / 8 1行(bytes) = INT((X + 3) / 4) (4bytes単位となる) 画像データ(bytes) = 1行のbytes × |H|     ■ 動作環境 PC-9801(16色対応)のN88-BASIC(86) VL,NL-BASIC(Alt+6を押して高速化しておいて下さい)     ■ 動作 ファイル名(.bmpは省略)を入力すると 16...

N88-BASICで振り子 (3回目)

イメージ
2024/1/9(火) N88-BASICで振り子 (3回目)   二重振り子(Double pendulum)   ■ 前提 https://ulprojectmail.blogspot.com/2024/01/pendulum-5.html 振り子 (5回目) より   ▼ 定義 ℓ i  :紐の長さ(m) m i  :質点の質量(kg) θ i :鉛直下方向からの角度(rad) g    :重力加速度 x i  :支点からの右方向の変位(m) y i  :支点からの下方向の変位(m)   ▼ 微分方程式 {m 1  + m 2  - m 2 cos 2 (θ 1  - θ 2 )}ℓ  1 θ ( ・・ ) 1   = {ℓ 1 θ ( ・ ) 1 2 cos(θ 1  - θ 2 ) - ℓ 2 θ ( ・ ) 2 2 }m 2 sin(θ 1  - θ 2 ) + {m 2 sinθ 2 cos(θ 1  - θ 2 ) - (m 1  + m 2 )sinθ 1 }g   {m 1  + m 2  - m 2 cos 2 (θ 1  - θ 2 )}ℓ 2 θ ( ・・ ) 2   = {m 2 ℓ 2 θ ( ・ ) 2 2 cos(θ 1  - θ 2 ) + (m 1  + m 2 )ℓ 1 θ ( ・ ) 1 2 }sin(θ 1  - θ 2 ) + {sinθ 1 cos(θ 1  - θ 2 ) - sinθ 2 }(m 1  + m 2 )g   ■ 動作 数値計算の2重振り子を表示します (積分 θ ( ・ ) =∫ θ ( ・・ ) dt等は長方形近似で計算しています)   ■ PC-8801 1070 VSYNC = &HA0 '--- &HA0:PC-98 , &H40:PC-88 を 1070 VSYNC = &H40 '--- &HA0:PC-98 , ...

振り子 (5回目)

2024/1/6(土) 振り子 (5回目)   二重振り子(Double pendulum)   微分方程式の導出   ■ 前提 ▼ 定義 ℓ i  :紐の長さ(m) m i  :質点の質量(kg) θ i :鉛直下方向からの角度(rad) g    :重力加速度 x i  :支点からの右方向の変位(m) y i  :支点からの下方向の変位(m)   ▼ 連立微分方程式 (m 1  + m 2 )ℓ  1 θ ( ・・ ) 1   + m 2 ℓ 2 { θ ( ・・ ) 2 cos(θ 1  - θ 2 ) + θ ( ・ ) 2 2 sin(θ 1  - θ 2 )} = -(m 1  + m 2 )gsinθ 1   … ①   ℓ 2 θ ( ・・ ) 2   +   ℓ 1 { θ ( ・・ ) 1 cos(θ 1  - θ 2 ) - θ ( ・ ) 1 2 sin(θ 1  - θ 2 )} = -gsinθ 2   … ②     ■ 導出 ▼ 加速度ℓ 1 θ ( ・・ ) 1   ①式より (m 1  + m 2 )ℓ  1 θ ( ・・ ) 1  + m 2 ℓ 2 θ ( ・・ ) 2 cos(θ 1  - θ 2 ) + m 2 ℓ 2 θ ( ・ ) 2 2 sin(θ 1  - θ 2 ) + (m 1  + m 2 )gsinθ 1  = 0     ②式×m 2 cos(θ 1  - θ 2 )より m 2 ℓ 2 θ ( ・・ ) 2 cos(θ 1  - θ 2 ) +   m 2 ℓ 1 θ ( ・・ ) 1 cos 2 (θ 1  - θ 2 ) - m 2 ℓ 1 θ ( ・ ) 1 2 sin(θ 1  - θ 2 )cos(θ 1  - θ 2 ) + m 2 gsin...