|
mas110 exhibition
.fundamentals of computational media design.spring 2000.professor john maeda
|
|||
|   |
# the word i chose is for this piece is
# watchful
import math
g.norefresh()
x = 0
y = 50
def pupil(x, y):
x1 = x
y1 = y
x2 = x+5
y2 = y+5
g.field(x1-5, y1-5, x2+5, y2+5, 55)
g.field(x1, y1, x2, y2, 100)
while 1:
g.pen(0)
g.paper(0)
m1 = g.getMouse(1)
m2 = g.getMouse(2)
if (m2 < 51):
# looking down
if (m1 < 1):
pupil(0, 51)
if ((m1 > 0) and (m1 < 75)):
pupil(m1, 51)
if ((m1 > 0) and (m1 > 74)):
pupil(74, 51)
if (m2 > 50):
# looking up
# upper left off screen
if (m1 < 1):
if (m2 < 100):
if (m2 > 75):
pupil(0, m2)
else:
pupil(0, m2-5)
else:
pupil(0, 95)
# directly above or in white
elif (m1 < 75):
if (m2 < 100):
if (m2 > 74):
pupil(m1-3, m2-5)
if (m2 < 75):
pupil(m1-3, m2)
else:
pupil(m1, 95)
# upper right
else:
if (m2 < 100):
if (m2 > 75):
pupil(74, m2)
else:
pupil(74, m2-5)
else:
pupil(74, 95)
g.field(80, 0, 100, 100, 40)
g.field(0, 0, 100, 50, 40)
g.pen(0)
# bottom curve of eye
g.line(78, 50, 65, 45)
g.line(0, 50, 13, 45)
g.line(13, 45, 35, 42)
g.line(65, 45, 43, 42)
g.line(43, 42, 35, 42)
# fill for bottom curve of eye
g.line(0, 50, 78, 50)
g.line(4, 49, 74, 49)
g.line(6, 48, 72, 48)
g.line(10, 47, 70, 47)
g.line(12, 46, 68, 46)
g.line(15, 45, 65, 45)
g.line(25, 44, 60, 44)
g.line(30, 43, 50, 43)
# side curve of eye
g.line(78, 50, 90, 60)
g.line(90, 95, 85, 100)
g.line(90, 60, 95, 70)
g.line(90, 95, 95, 85)
g.line(95, 85, 95, 70)
# fill for side curve of eye
g.line(94, 85, 94, 69)
g.line(93, 87, 93, 67)
g.line(92, 89, 92, 65)
g.line(91, 91, 91, 63)
g.line(90, 94, 90, 60)
g.line(89, 60, 89, 95)
g.line(88, 59, 88, 96)
g.line(87, 58, 87, 97)
g.line(86, 57, 86, 98)
g.line(85, 56, 85, 99)
g.line(84, 55, 84, 100)
g.line(83, 54, 83, 100)
g.line(82, 53, 82, 100)
g.line(81, 52, 81, 100)
g.line(80, 51, 80, 100)
# the nose line
g.pen(80)
g.line(100, 50, 95, 30)
g.line(95, 30, 90, 20)
g.line(90, 20, 80, 13)
g.line(80, 13, 75, 6)
g.line(75, 6, 75, 0)
#the eyelashes
g.pen(70)
for x in range(0, 12):
g.line(8*x-7, 95, 8*x-2, 100)
g.line(7*x-5, 90, 7*x, 100)
g.refresh()
|
||