# 9B
import math
g.norefresh()
g.antialias(0)
g.paper(100)
g.refresh()
rseed = g.getTime(4)
def random():
bb = 198621
mm = (98621+g.getTime(4))
bl = (long(rseed)*bb+1)
temp = bl%mm
return int(temp%100),int(temp)
def initstate():
state = []
y = [195, 183, 167, 146, 120, 90, 56, 18]
r = [5, 7, 9, 12, 14, 16, 18, 20]
r.reverse()
for i in y:
radius = r.pop()
x = 0
for j in range(int(100/radius)+1):
state.append((x,i,radius,100))
x = x + 2*radius
return state
def modState(stateold):
state = []
y = [195, 183, 167, 146, 120, 90, 56, 18]
r = [5, 7, 9, 12, 14, 16, 18, 20]
r.reverse()
for i in y:
radius = r.pop()
x = 0
rnd, rseed = random()
rnd = rnd % 10 + 1
for j in range(int(100/radius)+1):
rad = int(radius*abs(math.sin(2*math.pi*rnd*float(j+1)/radius)))
color = int(50*abs(math.cos(2*math.pi*rnd*float(j+1)/radius)))
state.append((x,i,rad,color))
x = x + 2*radius
return state
def drawFields(listField):
for field in listField:
x = field[0]
y = field[1]
r = field[2]
color = field[3]
xb = x - r + 1
yb = y - r + 1
xt = x + r - 1
yt = y + r - 1
g.field(xb,yb,xt,yt,color)
g.setPixel(x,y,100-color)
g.refresh()
state = initstate()
while 1:
drawFields(state)
state = modState(state)
g.paper(100)