# Problem 8B # # Running the 400m intermediate hurdles # # exploding import math g.paper(100) g.pen(0) g.norefresh() def spiraller(xc, yc, radius, turns, points, length): canvas = [] for n in range(points): x1 = xc + float(n)/points*radius*math.cos(turns*float(n)/points) y1 = yc + float(n)/points*radius*math.sin(turns*float(n)/points) canvas.append((int(x1),int(y1))) if n % 2 == 0: g.line(canvas[n-1][0],canvas[n-1][1],canvas[n][0],canvas[n][1]) g.line(int(x1-length),int(y1-length),int(x1),int(y1)) maxturn = 100 k = [] for n in range(maxturn): k.append(maxturn-n) while 1: for n in range(maxturn): spiraller(50,50,70,n,80,3) g.refresh() g.paper(100) for n in k: spiraller(50,50,70,n,80,3) g.refresh() g.paper(100)