28 lines
679 B
Text
28 lines
679 B
Text
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)
|