#
# spiroo
#
import math
g.antialias(1)
g.norefresh()

def border():
        g.paper(100)
        g.field(25,0,75,100,20)
        g.field(40,40,60,60,10)

def non(x,y,r,angle,color):
        g.pen(color)
        for i in range(0,101):
                x0 = int(r*i/100.0*math.cos(angle+2*math.pi*(i/100.0))) 
                y0 = int(r*i/100.0*math.sin(angle+2*math.pi*(i/100.0)))
                x1 = int(r*i/100.0*math.cos(math.pi+angle+2*math.pi*(i/100.0))) 
                y1 = int(r*i/100.0*math.sin(math.pi+angle+2*math.pi*(i/100.0)))
                g.setPixel(x+x0,y+y0,color)
                g.setPixel(x+x1,y+y1,color)
        x0 = int(r*math.cos(angle))
        y0 = int(r*math.sin(angle))
        for i in range(1,10):
                x1 = int(r*math.cos(angle+2*math.pi*(i/9.0)))
                y1 = int(r*math.sin(angle+2*math.pi*(i/9.0)))
                g.line(x,y,x+x0,y+y0)
                g.line(x+x0,y+y0,x+x1,y+y1)
                x0 = x1
                y0 = y1

        g.refresh()


while 1:
        border()
        angle = 2*math.pi*g.getMouse(1)/100.0
        non(50,50,25,angle,100)