|
mas110 exhibition
.fundamentals of computational media design.spring 2000.professor john maeda
|
|||
|   |
# 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
|
||