Jill Greczek and Katie Prochaska
MATH 152-201
Project 2: Animation
JSFH
with(plottools):
print(); # input placeholder
with(student):
print(); # input placeholder
with(plots):
print(); # input placeholder
background := rectangle([0, 500], [500, 0], filled = true, color = COLOUR(RGB, .5, .7, 1)):
print(); # input placeholder
building := rectangle([0, 325], [200, 0], filled = true, color = red):
print(); # input placeholder
bobhead1 := circle([175, 340], 5, color = COLOUR(RGB, .5, 0, 0)):
bobbody1 := line([175, 335], [175, 325], color = COLOUR(RGB, .5, 0, 0)):
smallbob := display([bobhead1, bobbody1]):
georgehead1 := circle([0, 5], 5, color = COLOUR(RGB, .8, .5, 0)):
georgebody1 := line([0, 0], [0, -10], color = COLOUR(RGB, .8, .5, 0)):
smallgeorge := display([georgehead1, georgebody1]):
concrete := rectangle([0, 25], [500, 0], filled = true, color = gray):
fratboy1head1 := circle([300, 40], 5, color = green):
fratboy1body1 := line([300, 35], [300, 25], color = green):
fratboy2head2 := circle([350, 40], 5, color = blue):
fratboy2body2 := line([350, 35], [350, 25], color = blue):
p1 := display([fratboy2body2, fratboy2head2, fratboy1body1, fratboy1head1, translate(smallgeorge, 160, 335), smallbob, concrete, building, background]):
%;
building2 := rectangle([0, 100], [350, 0], filled = true, color = red):
bobhead2 := circle([250, 300], 25, color = COLOUR(RGB, .5, 0, 0), thickness = 3):
bobbody2 := line([250, 275], [250, 200], color = COLOUR(RGB, .5, 0, 0), thickness = 3):
boblegL := line([225, 100], [250, 200], color = COLOUR(RGB, .5, 0, 0), thickness = 3):
boblegR := line([250, 200], [275, 100], color = COLOUR(RGB, .5, 0, 0), thickness = 3):
bobarmL := line([200, 200], [250, 260], color = COLOUR(RGB, .5, 0, 0), thickness = 3):
bobarmR := line([250, 260], [300, 200], color = COLOUR(RGB, .5, 0, 0), thickness = 3):
bobeyeL := disk([240, 305], 5, filled = true, color = black):
bobeyeR := disk([260, 305], 5, filled = true, color = black):
bobmouth := pieslice([250, 295], 12, Pi .. 2*Pi, color = black):
georgehead2 := circle([100, 300], 25, color = COLOUR(RGB, .8, .5, 0), thickness = 3):
georgebody2 := line([100, 275], [100, 200], color = COLOUR(RGB, .8, .5, 0), thickness = 3):
georgelegL := line([75, 100], [100, 200], color = COLOUR(RGB, .8, .5, 0), thickness = 3):
georgelegR := line([100, 200], [125, 100], color = COLOUR(RGB, .8, .5, 0), thickness = 3):
georgearmL := line([50, 200], [100, 260], color = COLOUR(RGB, .8, .5, 0), thickness = 3):
georgearmR := line([100, 260], [150, 200], color = COLOUR(RGB, .8, .5, 0), thickness = 3):
georgeeyeL := disk([90, 305], 5, color = black):
georgeeyeR := disk([110, 305], 5, color = black):
georgemouth := pieslice([100, 290], 6, 0 .. 2*Pi, color = black):
bob := display([bobhead2, bobbody2, boblegL, boblegR, bobarmL, bobarmR, bobeyeL, bobeyeR, bobmouth]):
george := display([georgehead2, georgebody2, georgelegL, georgelegR, georgearmL, georgearmR, georgeeyeL, georgeeyeR, georgemouth]):
bobtext := textplot([0, 0, "Hey t.u. George, if Rudder Tower is 300 meters tall,"]):
bobtext2 := textplot([0, 0, "how long will it take to reach the bottom?"]):
georgetext := textplot([0, 0, "How can we find that out?"]):
print(); # input placeholder
p1B := display(translate(bobtext, 250, 400), translate(bobtext2, 250, 380), george, bob, building2, background):
p1c := display(translate(georgetext, 200, 350), translate(george, 25, 0), bob, building2, background):
p2 := display(translate(georgetext, 225, 350), translate(george, 50, 0), bob, building2, background):
p2b := display(translate(georgetext, 250, 350), translate(george, 75, 0), bob, building2, background):
p3 := display(translate(georgetext, 275, 350), translate(george, 100, 0), bob, building2, background):
p3b := display(translate(georgetext, 300, 350), translate(george, 125, 0), bob, building2, background):
p4 := display(translate(georgetext, 325, 350), bob, building2, translate(george, 155, 0), background):
p4b := display(translate(georgetext, 350, 350), translate(george, 175, 0), bob, building2, background):
p5 := display(translate(georgetext, 375, 350), bob, building2, translate(george, 200, 0), background):
bobarmR2 := line([250, 260], [275, 225], color = COLOUR(RGB, .5, 0, 0), thickness = 3):
bobarmR3 := line([275, 225], [290, 250], color = COLOUR(RGB, .5, 0, 0), thickness = 3):
bob2 := display([bobhead2, bobbody2, boblegL, boblegR, bobarmL, bobarmR3, bobarmR2, bobeyeL, bobeyeR, bobmouth]):
bobarmR4 := line([250, 260], [275, 245], color = COLOUR(RGB, .5, 0, 0), thickness = 3):
bobarmR5 := line([275, 245], [320, 250], color = COLOUR(RGB, .5, 0, 0), thickness = 3):
bob3 := display([bobhead2, bobbody2, boblegL, boblegR, bobarmL, bobarmR4, bobarmR5, bobeyeL, bobeyeR, bobmouth]):
p6 := display(bob2, building2, translate(george, 200, 0), background):
bobarmR6 := line([250, 260], [325, 260], color = COLOUR(RGB, .5, 0, 0), thickness = 3):
bob4 := display([bobhead2, bobbody2, boblegL, boblegR, bobarmL, bobarmR6, bobeyeL, bobeyeR, bobmouth]):
p7a := display([bob3, building2, translate(george, 250, 0), background]):
p7b := display([bob4, building2, translate(george, 300, 0), background]):
concreteback := rectangle([0, 500], [500, 0], filled = true, color = gray):
georgearmL2 := line([50, 300], [100, 260], color = COLOUR(RGB, .8, .5, 0), thickness = 3):
georgearmR2 := line([100, 260], [150, 300], color = COLOUR(RGB, .8, .5, 0), thickness = 3):
george2 := display([georgehead2, georgebody2, georgelegL, georgelegR, georgearmL2, georgearmR2, georgeeyeL, georgeeyeR, georgemouth]):
georgeFall := translate(george2, 150, 0):
p8 := display(scale(georgeFall, 1.5, 1.5, [250, 250]), concreteback):
p8b := display(scale(georgeFall, 1.4, 1.4, [250, 250]), concreteback):
p8c := display(scale(georgeFall, 1.3, 1.3, [250, 250]), concreteback):
p8d := display(scale(georgeFall, 1.2, 1.2, [250, 250]), concreteback):
p8e := display(scale(georgeFall, 1.1, 1.1, [250, 250]), concreteback):
p9 := display(georgeFall, concreteback):
p9b := display(scale(georgeFall, .9, .9, [250, 250]), concreteback):
p9c := display(scale(georgeFall, .8, .8, [250, 250]), concreteback):
p9d := display(scale(georgeFall, .7, .7, [250, 250]), concreteback):
p9e := display(scale(georgeFall, .6, .6, [250, 250]), concreteback):
p10 := display(scale(georgeFall, .5, .5, [250, 250]), concreteback):
p10b := display(scale(georgeFall, .4, .4, [250, 250]), concreteback):
p10c := display(scale(georgeFall, .3, .3, [250, 250]), concreteback):
p10d := display(scale(georgeFall, .2, .2, [250, 250]), concreteback):
p10e := display(scale(georgeFall, .1, .1, [250, 250]), concreteback):
smallgeorgeFall := translate(smallgeorge, 235, 305):
p11 := display([fratboy2body2, fratboy2head2, fratboy1body1, fratboy1head1, smallgeorgeFall, smallbob, concrete, building, background]):
smallgeorgeFall1b := translate(rotate(smallgeorge, (-Pi)*1/6), 235, 304):
p11b := display([fratboy2body2, fratboy2head2, fratboy1body1, fratboy1head1, smallgeorgeFall1b, smallbob, concrete, building, background]):
smallgeorgeFall2 := translate(rotate(smallgeorge, (-Pi)*1/4), 235, 302):
p12 := display([fratboy2body2, fratboy2head2, fratboy1body1, fratboy1head1, smallgeorgeFall2, smallbob, concrete, building, background]):
smallgeorgeFall2b := translate(rotate(smallgeorge, (-Pi)*1/3), 235, 300):
p12b := display([fratboy2body2, fratboy2head2, fratboy1body1, fratboy1head1, smallgeorgeFall2b, smallbob, concrete, building, background]):
smallgeorgeFall3 := translate(rotate(smallgeorge, -(1/2)*Pi), 235, 298):
p13 := display([fratboy2body2, fratboy2head2, fratboy1body1, fratboy1head1, smallgeorgeFall3, smallbob, concrete, building, background]):
smallgeorgeFall3b := translate(rotate(smallgeorge, -2*Pi*1/3), 235, 296):
p13b := display([fratboy2body2, fratboy2head2, fratboy1body1, fratboy1head1, smallgeorgeFall3b, smallbob, concrete, building, background]):
smallgeorgeFall4 := translate(rotate(smallgeorge, -3*Pi*1/4), 235, 294):
p14 := display([fratboy2body2, fratboy2head2, fratboy1body1, fratboy1head1, smallgeorgeFall4, smallbob, concrete, building, background]):
smallgeorgeFall4b := translate(rotate(smallgeorge, -5*Pi*1/6), 235, 292):
p14b := display([fratboy2body2, fratboy2head2, fratboy1body1, fratboy1head1, smallgeorgeFall4b, smallbob, concrete, building, background]):
smallgeorgeFall5 := translate(rotate(smallgeorge, -Pi), 235, 290):
p15 := display([fratboy2body2, fratboy2head2, fratboy1body1, fratboy1head1, smallgeorgeFall5, smallbob, concrete, building, background]):
smallgeorgeFall5b := translate(rotate(smallgeorge, -7*Pi*1/6), 235, 288):
p15b := display([fratboy2body2, fratboy2head2, fratboy1body1, fratboy1head1, smallgeorgeFall5b, smallbob, concrete, building, background]):
smallgeorgeFall6 := translate(rotate(smallgeorge, -5*Pi*1/4), 235, 286):
p16 := display([fratboy2body2, fratboy2head2, fratboy1body1, fratboy1head1, smallgeorgeFall6, smallbob, concrete, building, background]):
smallgeorgeFall6b := translate(rotate(smallgeorge, -4*Pi*1/3), 235, 284):
p16b := display([fratboy2body2, fratboy2head2, fratboy1body1, fratboy1head1, smallgeorgeFall6b, smallbob, concrete, building, background]):
concreteground := rectangle([0, 50], [500, 0], filled = true, color = gray):
bluehead := circle([400, 250], 25, color = blue, thickness = 3):
bluebody := line([400, 225], [400, 150], color = blue, thickness = 3):
bluelegL := line([375, 50], [400, 150], color = blue, thickness = 3):
bluelegR := line([400, 150], [425, 50], color = blue, thickness = 3):
bluearmL := line([350, 150], [400, 210], color = blue, thickness = 3):
bluearmR := line([400, 210], [450, 150], color = blue, thickness = 3):
blueeyeL := disk([390, 255], 5, filled = true, color = black):
blueeyeR := disk([410, 255], 5, filled = true, color = black):
bluemouth := pieslice([400, 245], 12, Pi .. 2*Pi, color = black):
blueman := display([bluehead, bluebody, bluelegL, bluelegR, bluearmL, bluearmR, blueeyeL, blueeyeR, bluemouth]):
greenhead := circle([100, 250], 25, color = green, thickness = 3):
greenbody := line([100, 225], [100, 150], color = green, thickness = 3):
greenlegL := line([75, 50], [100, 150], color = green, thickness = 3):
greenlegR := line([100, 150], [125, 50], color = green, thickness = 3):
greenarmL := line([50, 150], [100, 210], color = green, thickness = 3):
greenarmR := line([100, 210], [150, 150], color = green, thickness = 3):
greeneyeL := disk([90, 255], 5, filled = true, color = black):
greeneyeR := disk([110, 255], 5, filled = true, color = black):
greenmouth := pieslice([100, 245], 12, Pi .. 2*Pi, color = black):
greenman := display([greenhead, greenbody, greenlegL, greenlegR, greenarmL, greenarmR, greeneyeL, greeneyeR, greenmouth]):
frisbee := ellipse([0, 0], 25, 5, filled = true, color = magenta):
display(frisbee):
p17 := display(translate(frisbee, 350, 150), greenman, blueman, concreteground, background):
bluearm2 := line([330, 210], [400, 210], color = blue, thickness = 3):
blueman2 := display([bluehead, bluebody, bluelegL, bluelegR, bluearm2, bluearmR, blueeyeL, blueeyeR, bluemouth]):
p18 := display(translate(frisbee, 330, 210), greenman, blueman2, concreteground, background):
bluearm3 := line([330, 220], [400, 210], color = blue, thickness = 3):
blueman3 := display([bluehead, bluebody, bluelegL, bluelegR, bluearm3, bluearmR, blueeyeL, blueeyeR, bluemouth]):
p19 := display(translate(frisbee, 300, 250), greenman, blueman3, concreteground, background):
greenarm2 := line([100, 210], [175, 210], color = green, thickness = 3):
greenman2 := display([greenhead, greenbody, greenlegL, greenlegR, greenarmL, greenarm2, greeneyeL, greeneyeR, greenmouth]):
p20 := display(translate(frisbee, 240, 250), greenman2, blueman2, concreteground, background):
greenarm3 := line([100, 210], [175, 220], color = green, thickness = 3):
greenman3 := display([greenhead, greenbody, greenlegL, greenlegR, greenarmL, greenarm3, greeneyeL, greeneyeR, greenmouth]):
p21 := display(translate(frisbee, 200, 230), greenman3, blueman, concreteground, background):
p22 := display(translate(frisbee, 175, 220), greenman3, blueman, concreteground, background):
greenhead2 := circle([0, 0], 200, color = green, thickness = 7):
greeneyeL2 := disk([-100, 100], 40, filled = true, color = black):
greeneyeR2 := disk([100, 100], 40, filled = true, color = black):
greenmouth2 := line([-100, -100], [100, -25], thickness = 10):
eyebrowL := line([-150, 150], [-50, 150], thickness = 7):
eyebrowR := line([50, 150], [150, 200], thickness = 7):
neck := line([0, -200], [0, -250], color = green, thickness = 7):
question := textplot([200, 200, "?"], font = [TIMES, ROMAN, 72]):
astonished := display(question, greenhead2, neck, eyebrowL, eyebrowR, greeneyeL2, greeneyeR2, greenmouth2):
p23 := display(translate(astonished, 250, 250), background):
smallgeorgeFallf1 := translate(rotate(smallgeorge, -4*Pi*1/3), 235, 200):
pf := display([fratboy2body2, fratboy2head2, fratboy1body1, fratboy1head1, smallgeorgeFallf1, smallbob, concrete, building, background]):
smallgeorgeFallf2 := translate(rotate(smallgeorge, (-3*Pi)*1/2), 235, 198):
pf2 := display([fratboy2body2, fratboy2head2, fratboy1body1, fratboy1head1, smallgeorgeFallf2, smallbob, concrete, building, background]):
smallgeorgeFallf3 := translate(rotate(smallgeorge, (-5*Pi)*1/3), 235, 196):
pf3 := display([fratboy2body2, fratboy2head2, fratboy1body1, fratboy1head1, smallgeorgeFallf3, smallbob, concrete, building, background]):
smallgeorgeFallf4 := translate(rotate(smallgeorge, -7*Pi*1/4), 235, 194):
pf4 := display([fratboy2body2, fratboy2head2, fratboy1body1, fratboy1head1, smallgeorgeFallf4, smallbob, concrete, building, background]):
smallgeorgeFallf5 := translate(rotate(smallgeorge, -11*Pi*1/6), 235, 192):
pf5 := display([fratboy2body2, fratboy2head2, fratboy1body1, fratboy1head1, smallgeorgeFallf5, smallbob, concrete, building, background]):
smallgeorgeFallf6 := translate(rotate(smallgeorge, -2*Pi), 235, 190):
pf6 := display([fratboy2body2, fratboy2head2, fratboy1body1, fratboy1head1, smallgeorgeFallf6, smallbob, concrete, building, background]):
smallgeorgeFallf7 := translate(rotate(smallgeorge, -(1/6)*Pi), 235, 188):
pf7 := display([fratboy2body2, fratboy2head2, fratboy1body1, fratboy1head1, smallgeorgeFallf7, smallbob, concrete, building, background]):
smallgeorgeFallf8 := translate(rotate(smallgeorge, -(1/4)*Pi), 235, 186):
pf8 := display([fratboy2body2, fratboy2head2, fratboy1body1, fratboy1head1, smallgeorgeFallf8, smallbob, concrete, building, background]):
smallgeorgeFallf9 := translate(rotate(smallgeorge, -(1/3)*Pi), 235, 184):
pf9 := display([fratboy2body2, fratboy2head2, fratboy1body1, fratboy1head1, smallgeorgeFallf9, smallbob, concrete, building, background]):
smallgeorgeFallf10 := translate(rotate(smallgeorge, -(1/2)*Pi), 235, 182):
pf10 := display([fratboy2body2, fratboy2head2, fratboy1body1, fratboy1head1, smallgeorgeFallf10, smallbob, concrete, building, background]):
smallgeorgeFallf11 := translate(rotate(smallgeorge, -2*Pi*1/3), 235, 180):
pf11 := display([fratboy2body2, fratboy2head2, fratboy1body1, fratboy1head1, smallgeorgeFallf11, smallbob, concrete, building, background]):
greenmouth3 := pieslice([0, -50], 100, 0 .. 2*Pi, color = black):
greenscream := display(greenhead2, neck, greeneyeL2, greeneyeR2, greenmouth3):
bluehead2 := circle([0, 0], 200, color = blue, thickness = 7):
blueeyeL2 := disk([-100, 100], 40, filled = true, color = black):
blueeyeR2 := disk([100, 100], 40, filled = true, color = black):
blueneck := line([0, -200], [0, -250], color = blue, thickness = 7):
bluemouth2 := pieslice([0, -50], 100, 0 .. 2*Pi, color = black):
bluescream := display(bluehead2, blueeyeL2, blueeyeR2, blueneck, bluemouth2):
p24 := display(translate(scale(greenscream, .5, .5), 125, 125), translate(scale(bluescream, .5, .5), 390, 125), background):
p25o := display(scale(georgeFall, 1.5, 1.5, [250, 250]), background):
p25n := display(scale(georgeFall, 1.4, 1.4, [250, 250]), background):
p25m := display(scale(georgeFall, 1.3, 1.3, [250, 250]), background):
p25l := display(scale(georgeFall, 1.2, 1.2, [250, 250]), background):
p25k := display(scale(georgeFall, 1.1, 1.1, [250, 250]), background):
p25j := display(georgeFall, background):
p25i := display(scale(georgeFall, .9, .9, [250, 250]), background):
p25h := display(scale(georgeFall, .8, .8, [250, 250]), background):
p25g := display(scale(georgeFall, .7, .7, [250, 250]), background):
p25f := display(scale(georgeFall, .6, .6, [250, 250]), background):
p25e := display(scale(georgeFall, .5, .5, [250, 250]), background):
p25d := display(scale(georgeFall, .4, .4, [250, 250]), background):
p25c := display(scale(georgeFall, .3, .3, [250, 250]), background):
p25b := display(scale(georgeFall, .2, .2, [250, 250]), background):
p25a := display(scale(georgeFall, .1, .1, [250, 250]), background):
final := textplot([0, 0, "7.746 seconds!"], font = [TIMES, ROMAN, 40]):
p26 := display(translate(final, 250, 400), translate(bob, 75, 0), building2, background):
JSFH
display([p1, p1, p1, p1, p1, p1B, p1B, p1B, p1B, p1B, p1B, p1B, p1B, p1B, p1B, p1B, p1B, p1B, p1B, p1B, p1B, p1B, p1c, p2, p2b, p3, p3b, p4, p4b, p5, p5, p6, p6, p6, p7a, p7b, p7b, p8, p8b, p8c, p8d, p8e, p9, p9b, p9c, p9d, p9e, p10, p10b, p10c, p10d, p10e, p11, p11b, p12, p12b, p13, p13b, p14, p14b, p15, p15b, p16, p16b, p17, p17, p17, p18, p19, p20, p21, p22, p22, p22, p23, p23, p23, p23, p23, pf, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, p24, p24, p24, p24, p24, p25a, p25b, p25c, p25d, p25e, p25f, p25g, p25h, p25i, p25j, p25k, p25l, p25m, p25n, p25o, p26, p26, p26, p26, p26, p26], insequence = true, scaling = constrained, axes = none);