mas110 exhibition .fundamentals of computational media design.spring 2000.professor john maeda
megan's static pieces . megan's dynamic pieces

 
# a dynamic quilt
# whose pattern gets more complex over the years
# weaving designs and images
# from 25% full to 50% full to 75% full 

import time
g.paper(0)
g.norefresh()

def quiltpattern(x, y):
 g.field(x, y, x+2, y+2, 100)
 g.field(x-3, y-3, x-1, y-1, 100)
 g.field(x-6, y, x-4, y+2, 100)
 g.field(x-3, y+3, x-1, y+5, 100)

# initial variables
space = 24 
clock = 0
k = 1
fill = 25

# begin the transitions to the 50% fill and 75% fill
while 1:
 time.sleep(0.04)
 
# draw the initial 25% fill, a quilt with mostly white space
 if (fill == 25):
  for i in range(0, 10):
    x = (space*i)
    quiltpattern((x+6), 10)
    quiltpattern(x, 16)
    quiltpattern((x+6), 88)
    quiltpattern(x, 82)
    quiltpattern((x+6), 45)
    quiltpattern(x, 51)
  for j in range(0, 10):
   x2 = ((space+2)*j) 
   quiltpattern(x2, 66)
   quiltpattern(x2, 30)
  g.refresh() 

  # pause for a moment to look at it
  if (clock < 30):
   g.pause(5)
   clock = clock+1 
   print "Clock is"
   print clock
   
  if (clock == 30):
    fill = 50
 
# the transition to a 50% filled screen, a more busy quilt 
 if (fill == 50):
  if (space > 10):
   # top and bottom border rows
   for i in range(0, 10):
    x = (space*i)
    quiltpattern((x+6), 10)
    quiltpattern(x, 16)
    quiltpattern((x+6), 88)
    quiltpattern(x, 82)
    quiltpattern((x+6), 45)
    quiltpattern(x, 51)
   for j in range(0, 10): 
    x2 = ((space+2)*j) 
    quiltpattern(x2, 66)
    quiltpattern(x2, 30)
   g.refresh()
   space = (space - 1)
  g.paper(0) 

  if (space < 13):
   if (space > 4):
    # top and bottom border rows
    for i in range(0, 10):
     x = (11*i)
     quiltpattern((x+6), (space-1))
     quiltpattern(x, (space+5))
     quiltpattern((x+6), (99-space))
     quiltpattern(x, (93-space))
     quiltpattern((x+6), 45)
     quiltpattern(x, 51)
    
    for j in range(0, 20):
     x2 = ((space*3)*j) 
     quiltpattern(x2, 63)
     quiltpattern(x2, 76)
     quiltpattern(x2, 34)
     quiltpattern(x2, 21)
    g.refresh()
    space = (space - 1)
   g.paper(0)

 # pause for a moment to look at it 
   if (space == 4):
    if (clock < 60):
     g.pause(5)
     clock = clock+1 
     print "Clock is"
     print clock
   
    if (clock == 60):
      space = 3
      fill = 75

# the transistion to the 75% filled screen
 if (fill == 75):    
 
# shift the inside rows
  if (k < 9):
   for i in range(0, 15):
    x = (11*i)
    quiltpattern((x+6), 4)
    quiltpattern(x, 10)
    quiltpattern((x+6), 94)
    quiltpattern(x, 88)
    quiltpattern((x+6)-2*k, 45-k)
    quiltpattern(x-2*k, 51+k)
   
   for j in range(0, 10):
    x2 = (15*j) 
    quiltpattern(x2, 63+k)
    quiltpattern(x2+k, 76)
    quiltpattern(x2, 34-k)
    quiltpattern(x2+k, 21)
    
   g.refresh()
   g.paper(0)
   k = k + 1

  if (k == 9):
   for a in range(0, 25):
    for i in range(0, 15):
     x = (11*i)
     quiltpattern((x+6), 4)
     quiltpattern(x, 10)
     quiltpattern((x+6), 94)
     quiltpattern(x, 88)
     quiltpattern((x+6)-18, 36)
     quiltpattern(x-18, 60)
   
    for j in range(0, 10):
     x2 = (15*j) 
     quiltpattern(x2, 63+k)
     quiltpattern(x2+k, 76)
     quiltpattern(x2, 34-k)
     quiltpattern(x2+k, 21)

    for m in range(0, 10):
     x3 = (11*m)
     quiltpattern((x3+(47-(2*a))), 54)
     quiltpattern((x3+(53-(2*a))), 42)
    
    g.refresh()
    g.paper(0)    
    k = 10
   
 # pause for a moment to look at it 
  if (space == 3):
   if (clock < 90):
    g.pause(5)
    clock = clock+1 
    print "Clock is"
    print clock
  
   if (clock == 90):
    space = 24
    clock = 0
    fill = 25
    k = 1