BASIC 円を描く 簡単なプログラム
BASICで円を描いてみました。
①PC-8001 N-BASIC
10 FOR i=0 TO2 STEP.02
20 x=20*COS(i*3.14159)+40
30 y=20*SIN(i*3.14159)+40
40 PSET(x,y)
50 NEXT
PC-8001のBASICには、円を描く「CIRCLE」コマンドが存在しないため、自分でコードを書く必要がある。
仕組み
高校数学 三角関数・単位円・軌跡 の考え方を使う
1.座標平面上で単位円を考え、x座標をコサイン、y座標をサインとする
2.pc-8001の、「SIN( )」「COS( )」コマンドのカッコの中は、弧度法なの で、0度=0π 〜 360度=2π の間で値を変える
3.変数 i の値を0から2まで、0.02ずつ変える (0.01だと処理が遅くなる)4.( ) の中は、i × π(π=近似値 3.14159)
5.PC-8001の画面の都合上、座標を調整する
6.点を打つと、軌跡が円になる
※1ドットが長方形なので画面上では楕円に見える
※πを近似値で計算したので多少誤差がある
②IchigoJam web
10 FOR I=0 TO360
20 X=15*COS(I)/256+23
30 Y=15*SIN(I)/256+23
40 DRAW X,Y
50 NEXT
仕組み
基本的なところは、①と同じ
相違点
「SIN( )」,「 COS( )」のコマンドの中は度数法
そのため、変数 I は、0〜360で変化する
IchigoJam web の「SIN( )」,「COS( )」コマンドは、値の256倍を返すので、256で割って正しい値にする
点を打つコマンドは、「PSET X,Y」ではなく、「DRAW X,Y」
PC-8001よりも解像度が小さいので、位置を調整する
1ドットが正方形なので、楕円にならない