22 lines
471 B
Text
22 lines
471 B
Text
t = { 'x': 20, 'y': 30, 'a': 60 }
|
|
|
|
def setup():
|
|
size(450, 400)
|
|
background(0, 0, 200)
|
|
stroke(-1)
|
|
sc(7, 400, -60)
|
|
|
|
def sc(o, l, a, s = t, X = 'x', Y = 'y', A = 'a', HALF = .5):
|
|
if o:
|
|
o -= 1
|
|
l *= HALF
|
|
sc(o, l, -a)[A] += a
|
|
sc(o, l, a)[A] += a
|
|
sc(o, l, -a)
|
|
else:
|
|
x, y = s[X], s[Y]
|
|
s[X] += cos(radians(s[A])) * l
|
|
s[Y] += sin(radians(s[A])) * l
|
|
line(x, y, s[X], s[Y])
|
|
|
|
return s
|