# eye.py
from Processing import *
from math import atan2, cos, sin

# Init the window
window(600, 600)
background(0)
noStroke()

# Parameters
n = 10          # Number of eyes
eyeX = []
eyeY = []
eyeSize = []

# Init eye locations and sizes
for i in range(n):
    eyeX.append( random( width() ) )
    eyeY.append( random( height() ) )
    eyeSize.append( random(50, 200) )

# Define a function to draw an eye
def eye(x, y, s, dirX, dirY):
    irisSize = s/2
    angle = atan2(dirY-y, dirX-x)

    fill(255, 255, 255)
    ellipse(x, y, s, s)
    fill(0, 0, 0)
    ellipse(cos(angle)*irisSize/2+x, sin(angle)*irisSize/2+y, irisSize, irisSize)

def draw(o, e):
    for i in range(n):
        eye( eyeX[i], eyeY[i], eyeSize[i], mouseX(), mouseY())

frameRate(30)
onLoop += draw
loop()
