Dragon curve: Difference between revisions
Content added Content deleted
mNo edit summary |
|||
Line 1,326: | Line 1,326: | ||
return |
return |
||
end sub</syntaxhighlight> |
end sub</syntaxhighlight> |
||
Other solution |
|||
<syntaxhighlight lang="yabasic">clear screen |
|||
width = 512 : height = 512 : crad = 0.01745329 |
|||
open window width, height |
|||
window origin "cc" |
|||
x = 75 : y = 120 : level = 18 : iters = 2**level : qiter = 510/iters |
|||
sub dragon(size, lev, d) |
|||
if lev then |
|||
dragon(size / sqrt(2), lev - 1, 1) |
|||
angle = angle - d * 90 |
|||
dragon(size / sqrt(2), lev - 1, -1) |
|||
else |
|||
x = x - cos(angle * crad) * size |
|||
y = y + sin(angle * crad) * size |
|||
if iter*2<iters then |
|||
color 0,iter*qiter,255-iter*qiter |
|||
else |
|||
color qiter*iter-255,(iters-iter)*qiter,0 |
|||
endif |
|||
line to x, y |
|||
iter = iter + 1 |
|||
endif |
|||
end sub |
|||
dot x, y |
|||
dragon(300, level, 1)</syntaxhighlight> |
|||
==={{header|ZX Spectrum Basic}}=== |
==={{header|ZX Spectrum Basic}}=== |