# # Drop a curve # # import math papercolor = 0 rseed = g.getTime(4) g.paper(papercolor) g.norefresh() g.antialias(1) def random(): bb = 198621 mm = (98621+g.getTime(4)) bl = (long(rseed)*bb+1) temp = bl%mm return int(temp%100),int(temp) def droppoints(): points = [] for x in range(0,101): y1 = int(amp1*math.sin(2*math.pi*omega1/100*x)) y2 = int(amp2*math.cos(2*math.pi*omega2/100*x)) points.append(5+int(amp2+amp1)+y1+y2) return points def dropper(map,state,collision,color): for x in map: if state[x] == collision[x]: g.setPixel(x,state[x],color) state[x] = 99 collision[x] = collision[x] + 1 else: g.setPixel(x,state[x],papercolor) state[x] = state[x] - 1 g.setPixel(x,state[x],color) return state,collision omega1 = 7.0 omega2 = 9.0 amp1 = 10.0 amp2 = 8.0 launch = [] for x in range(0,101): launch.append(99) baseline = droppoints() while 1: temp = [] for x in range(0,101): rand, rseed = random() temp.append(rand) launch, baseline = dropper(temp,launch,baseline,100) g.refresh()