Daruma BASIC で対数らせんを描いてみました。ラズパイ3、ベアメタルです。
プログラムはこちら。GitHub のレポジトリにも入ってます。
w=screensize(0)/2
h=screensize(1)/2
dim col(4)
col={rgb(1,0,0),rgb(0,1,0),rgb(0,0,1),rgb(1,1,0)}
p=0
b#=6.0
do
redraw 0
gcls
for i=0 to 3
gcolor col(i)
for r=0 to w*2
t#=b#*log(1+r*0.1)+3.1416*(i*0.5-p/20.0)
x#=w+r*cos(t#)
y#=h+r*sin(t#)
if r=0 then
pset x#,y#
else
lineto x#,y#
endif
next
next
p=(p+1)%40
redraw -1
loop
昔の BASIC に慣れた人だと、FOR
以外のループ構文が DO...LOOP
で統一されているのに違和感があるかも知れませんね。これは JIS Full BASIC (X3003-1993) を参考にした仕様です。といっても、その他のところは全然 Full BASIC には準拠してないので、ここだけ準拠しても実は意味がない。素直に REPEAT...UNTIL
と WHILE...WEND
にした方がよかった気もする。