投稿

2月, 2023の投稿を表示しています

N88-BASICで日食 (2回目)

イメージ
2023/2/23(木) N88-BASICで日食 (2回目) for VL-BASIC (Eclipse)   太陽が月によって隠されていない部分の割合を 太陽と月の中心間距離から求める事で、 日食によって暗くなる割合pを推測しようと思います (あくまで目安です)   前回は明るさのグラフでしたが 今回はVL-BASICの拡張命令で 明るさを表現したVL-BASIC付属の サンプルの紹介です   VLBasic/BV/g5.basを VLBasic01.exeに重ねて走らせると 日食が始まります (またはCHDIR "bv":LOAD "g5":RUN) (地球の自転と共に視点が移動しないように なっているため食の方向が実際とは逆に見えます)   z,xキーで拡大縮小が出来ます /,\キーで推進、矢印キー、スペースキーなどで 方向制御が出来 宇宙空間へ行くことが出来ます   リストの最後に操作方法が書いてあります   2810 '----------------------------------------------------------------------- 2820 '  0  -  ^        | 0通常表示  -並行ステレオ表示   ^交差ステレオ表示 2830 ' q               | q終了 2840 '  p  @  [  enter |  p左傾き    @上に移動  [右傾き   enter初期位置へ 2850 '  ;  :  ]        |  ;左に移動  :下に移動  ]右に移動 2860 '                 | 2870 '    ↑           |           ↑機首下げ 2880 ' ← ↓ →   space| ←左旋回  ↓機首上げ  →右旋回  space後方に向く 2890 '                 | 2900 '  /  \(_)   shift| /後進  \(_)前進                +shiftで速く移動 2910 '                 | 2920 '  z x n m , .

N88-BASICで日食

イメージ
2023/2/18(土) N88-BASICで日食 (Eclipse)   太陽が月によって隠されていない部分の割合を 太陽と月の中心間距離から求める事で、 日食によって暗くなる割合pを推測しようと思います (あくまで目安です)     半径Rの円R(太陽)と半径rの円r(月)があり 中心間距離をdとして 日食による太陽の明るさの割合pを求め 明るさのグラフを表示します グラフはR=rの時で dは最大から0(完全に重なった状態)になるにしたがって だんだん暗くなる方向で書いています   https://ulprojectmail.blogspot.com/2023/02/eclipse.html 日食の明るさの割合 より   a = (R 2  - r 2  + d 2 )/(2d) b = d - a c = √(R 2  - a 2 )  [ = √(r 2  - b 2 ) ] 円Rの隠れていない部分の割合pは p = [ {(π/2)(R 2  - r 2 ) + cd + r 2 Tan -1 (b/c)} / R 2   + Tan -1 (a/c) ] / π (ただし、c 2  = R 2  - a 2  ≦ 0 の時は p = 1)     N88-BASIC互換?VL,NL,XL-BASICと blg~.zip(ecli001.bas)は 以下のリンクからダウンロードできます https://ulprojectmail.blogspot.com Readme.txtを読んで遊んで下さい

日食の明るさの割合

イメージ
2023/2/10(日) 日食の明るさの割合   蝕(Eclipse) 太陽が月によって隠されていない部分の割合を 太陽と月の中心間距離から求める事で、 日食による太陽の明るさの割合pを推測しようと思います (あくまで目安です)     半径Rの円R(太陽)と半径rの円r(月)があり 中心間距離をdとする   円rに隠された円Rの見えている部分の割合を求める     図1. 二円の重なり部分(灰色)  図2. 二円の重なりの一部(黒色)                   c = √(R 2  - a 2 ) = √(R 2  - b 2 )   (1) 図2.において U = 扇×2(白色) + 三角×2(灰色) と置いて T = 1/2円 - U (黒色)の面積を求めます   扇×2(白色) = πR 2 {θ/(2π)}×2 = R 2 θ = R 2 Tan -1 (a/c) 三角×2(灰色) = (1/2)ac×2 = ac   U = R 2 Tan -1 (a/c) + ac T = πR 2 /2 - R 2 Tan -1 (a/c) - ac となる     (2) 図1.の灰色部分の右半分であるTは T = πR 2 /2 - R 2 Tan -1 (a/c) - ac となったので 左半分をT'とすると R→r、a→b に置き換えればよいので T'= πr 2 /2 - r 2 Tan -1 (b/c) - bc となり 図1.の灰色部分Sは S = T + T' = πR 2 /2 - R 2 Tan -1 (a/c) - ac + πr 2 /2 - r 2 Tan -1 (b/c) - bc = (π/2)(R 2  + r 2 ) - R 2 Tan -1 (a/c) - r 2 Tan -1 (b/c) - cd となる     (3) 図1.の灰色部分SをR,r,dのみで表す つまり a,b,cをR,r,dで表す b = d - a         a 2   + c 2  = R 2   -) (d-a) 2  + c 2  = r 2       2ad - d 2  = R 2  - r 2   より   a = (R 2  - r 2  + d 2 )/(2d) b = d - a c = √(R 2

N88-BASICで長方形の並べ方

イメージ
2023/2/4(土) N88-BASICで長方形の並べ方   長方形(Rectangle)で正方形を作る   問題   赤い長方形、長さ(横,縦)=(462,110)と 青い長方形、長さ(横,縦)=(363,154)を   赤…赤青…青 │\││\│ 赤…赤青…青   の様にそれぞれ1個以上ずつ並べて出来る 最小の正方形の1辺の長さLを求めよ   (2023年1月共通テスト、数学I・Aより)     解答   (1) 縦の長さの最小値hを求める 赤縦110と青縦154の最小公倍数なので 110 = 2・5・11、154 = 2・7・11より h = 2・5・7・11 = 10・77 = 770 (Lは770の倍数となる)   (2) 両横の最大公約数wを求める 462 = 2・3・7・11、363 = 3・11 2  より w = 3・11 = 33 (横の全長は33の倍数よりLは33の倍数となる)   (3) 770と33の倍数の最小値sを求める 770 = 2・5・7・11、33 = 3・11より s = 2・3・5・7・11 = 770・3 = 2310 (Lは2310の倍数となる)   (4) Lは2310の何倍かを求める 横に赤n個と青m個並べ、L = 2310kと置くと 462n + 363m = 2310kより 2・3・7・11n + 3・11 2 m = 2・3・5・7・11k 2・7n + 11m = 2・5・7k 11m = 2・7(5k – n) 11と2・7は互いに素なので 5k – nは11の倍数(mは2・7の倍数)   5k – n ≧ 11 5k ≧ 11 + n、n ≧ 1なので5k ≧ 12 kは整数なので、k ≧ 3 k = 3(最小)の時、n = 4、m = 14となる   (5) Lを求める L = 2310k = 2310・3 = 6930   答え 最小の正方形の1辺の長さは6930     N88-BASICで解くためのアルゴリズム   赤い長方形を長方形A(横,縦)=(A.w,A.h)と 青い長方形を長方形B(横,縦)=(B.w,B.h)とする   (1) 縦の長さの最小値hを求める 長方形A,Bを1個ずつ横に並べ 高さが同じになるまで 高さが低い方の長方形を1個ずつ それぞれの上に積んで行く   (2) 正方形にな