見出し画像

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」コマンドが存在しないため、自分でコードを書く必要がある。

PC-8001で描いた円

仕組み

高校数学 三角関数・単位円・軌跡 の考え方を使う

1.座標平面上で単位円を考え、x座標をコサイン、y座標をサインとする

単位円

2.pc-8001の、「SIN( )」「COS( )」コマンドのカッコの中は、弧度法なの         で、0度=0π 〜 360度=2π の間で値を変える

角度θを0から2πまで変える

3.変数 i の値を0から2まで、0.02ずつ変える (0.01だと処理が遅くなる)4.( ) の中は、i × π(π=近似値 3.14159)
5.PC-8001の画面の都合上、座標を調整する

円は上下対称なので、今回はy軸を逆にしなくても良い

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
IchigoJamWebで描いた円

仕組み

基本的なところは、①と同じ

相違点

「SIN( )」,「 COS( )」のコマンドの中は度数法
そのため、変数 I は、0〜360で変化する
IchigoJam web の「SIN( )」,「COS( )」コマンドは、値の256倍を返すので、256で割って正しい値にする

点を打つコマンドは、「PSET X,Y」ではなく、「DRAW X,Y」

PC-8001よりも解像度が小さいので、位置を調整する

1ドットが正方形なので、楕円にならない

この記事が気に入ったらサポートをしてみませんか?