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() |