restart; with(plots): with(plottools):
xdarkred := COLOR(RGB, .8, 0, 0): body:=polygon([[0,0], [12,0], [12,3], [0,5], [0,0]], color=xdarkred, filled=true, thickness=0):
spokes:=plot([[-2,0], [2,0], [0,-2], [0,2], [2,0], [0,2], [-2,0], [0,-2]], thickness=3, color=gray):
rim:=circle([0,0], 2, color=black, thickness=2):
wheel:= display([spokes, rim]):
p1:=display({translate(body,1,2), translate(wheel,4,3), translate(wheel,10,3)}):
p2:=display({translate(body,3,2), translate(wheel,6,3), translate(wheel,12,3)}):
p3:=display({translate(body,5,2), translate(wheel,8,3), translate(wheel,14,3)}):
p4:=display({translate(body,7,2), translate(wheel,10,3), translate(wheel,16,3)}):
p5:=display({translate(body,9,2), translate(wheel,12,3), translate(wheel,18,3)}):
p6:=display({translate(body,11,2), translate(wheel,14,3), translate(wheel,20,3)}):
p7:=display({translate(body,13,2), translate(wheel,16,3), translate(wheel,22,3)}):
p8:=display({translate(body,15,2), translate(wheel,18,3), translate(wheel,24,3)}):
p9:=display({translate(body,17,2), translate(wheel,20,3), translate(wheel,26,3)}):
p10:=display({translate(body,19,2), translate(wheel,22,3), translate(wheel,28,3)}):
p11:=display({translate(body,21,2), translate(wheel,24,3), translate(wheel,30,3)}):
p12:=display({translate(body,23,2), translate(wheel,26,3), translate(wheel,32,3)}):
movie1:=display([p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12], insequence=true, scaling=constrained):
m1:=p1:
wheel1:=wheel:
wheel2:=translate(rotate(wheel1, -Pi*1/10, [0,0]), 0, 0):
wheel3:=translate(rotate(wheel1, -Pi*2/10, [0,0]), 0, 0):
wheel3:=translate(rotate(wheel1, -Pi*3/10, [0,0]), 0, 0):
wheel4:=translate(rotate(wheel1, -Pi*4/10, [0,0]), 0, 0):
wheel5:=translate(rotate(wheel1, -Pi*5/10, [0,0]), 0, 0):
wheel6:=translate(rotate(wheel1, -Pi*6/10, [0,0]), 0, 0):
wheel7:=translate(rotate(wheel1, -Pi*7/10, [0,0]), 0, 0):
wheel8:=translate(rotate(wheel1, -Pi*8/10, [0,0]), 0, 0):
wheel9:=translate(rotate(wheel1, -Pi*9/10, [0,0]), 0, 0):
m1:=display({translate(body,1,2), translate(wheel1,4,3), translate(wheel1,10,3)}):
m2:=display({translate(body,3,2), translate(wheel2,6,3), translate(wheel2,12,3)}):
m3:=display({translate(body,5,2), translate(wheel3,8,3), translate(wheel3,14,3)}):
m4:=display({translate(body,7,2), translate(wheel4,10,3), translate(wheel4,16,3)}):
m5:=display({translate(body,9,2), translate(wheel5,12,3), translate(wheel5,18,3)}):
m6:=display({translate(body,11,2), translate(wheel6,14,3), translate(wheel6,20,3)}):
m7:=display({translate(body,13,2), translate(wheel7,16,3), translate(wheel7,22,3)}):
m8:=display({translate(body,15,2), translate(wheel8,18,3), translate(wheel8,24,3)}):
m9:=display({translate(body,17,2), translate(wheel9,20,3), translate(wheel9,26,3)}):
m10:=display({translate(body,19,2), translate(wheel1,22,3), translate(wheel1,28,3)}):
m11:=display({translate(body,21,2), translate(wheel2,24,3), translate(wheel2,30,3)}):
m12:=display({translate(body,23,2), translate(wheel3,26,3), translate(wheel3,32,3)}):
movie2:=display([m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12], scaling=constrained, insequence=true):
c1:=display({translate(body,1,2), translate(wheel1,4,3), translate(wheel1,10,3)}):
c2:=display({translate(body,1,2), translate(wheel2,4,3), translate(wheel2,10,3)}):
c3:=display({translate(body,1,2), translate(wheel3,4,3), translate(wheel3,10,3)}):
c4:=display({translate(body,1,2), translate(wheel4,4,3), translate(wheel4,10,3)}):
c5:=display({translate(body,1,2), translate(wheel5,4,3), translate(wheel5,10,3)}):
c6:=display({translate(body,1,2), translate(wheel6,4,3), translate(wheel6,10,3)}):
c7:=display({translate(body,1,2), translate(wheel7,4,3), translate(wheel7,10,3)}):
c8:=display({translate(body,1,2), translate(wheel8,4,3), translate(wheel8,10,3)}):
c9:=display({translate(body,1,2), translate(wheel9,4,3), translate(wheel9,10,3)}):
c10:=display({translate(body,1,2), translate(wheel1,4,3), translate(wheel1,10,3)}):
c11:=display({translate(body,1,2), translate(wheel2,4,3), translate(wheel2,10,3)}):
c12:=display({translate(body,1,2), translate(wheel3,4,3), translate(wheel3,10,3)}):
c13:=display({translate(body,1,2), translate(wheel4,4,3), translate(wheel4,10,3)}):
c14:=display({translate(body,1,2), translate(wheel5,4,3), translate(wheel5,10,3)}):
c15:=display({translate(body,1,2), translate(wheel5,4,3), translate(wheel5,10,3)}):
#cam:=plot([[-5,30], [50,0]], color=white):
#camera:=display([cam,c1], insequence=false):
#c1:=camera:
movie3:=display([c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15], view=[-5..50, 0..25], scaling=constrained, insequence=true):
xdarkgreen := COLOR(RGB, 0, .8, 0):
ground:=plot([[-5,0], [50,0]], thickness=10, color=xdarkgreen):
movie4:=display([movie3, ground], insequence=false, view=[-5..50, 0..25], scaling=constrained):
xsaddlebrown := COLOR(RGB, .54, .27, .07):
trunk:=plot([[45,0], [45,8]], color=xsaddlebrown, thickness=11):
xdarkgreen := COLOR(RGB, 0, .8, 0):
treetop:=polygon([[45,8], [40,8], [50,8], [45,20], [40,8]], color=xdarkgreen, thickness=0, filled=true, style=polygon):
tree:=display([treetop, trunk], scaling=constrained, insequence=false):
tree1:=translate(tree, 0, 0):
tree2:=translate(tree1, 0, 0):
tree3:=translate(tree1, -3, 0):
tree4:=translate(tree1, -6, 0):
tree5:=translate(tree1, -9, 0):
tree6:=translate(tree1, -12, 0):
tree7:=translate(tree1, -15, 0):
tree8:=translate(tree1, -18, 0):
tree9:=translate(tree1, -21, 0):
tree10:=translate(tree1, -24, 0):
tree11:=translate(tree1, -27, 0):
tree12:=translate(tree1, -30, 0):
tree13:=translate(tree1, -33, 0):
tree14:=translate(tree1, -36, 0):
tree15:=translate(tree1, -39, 0):
mtree:=display([tree1,tree2,tree3,tree4,tree5,tree6,tree7,tree8,tree9,tree10,tree11,tree12, tree13,tree14,tree15], insequence=true, scaling=constrained):
movie5:=display([mtree, movie4], scaling=constrained, view=[-5..50, 0..25], insequence=false):
xskyblue := COLOR(RGB, 0.5, 0.8, 0.9):
sky:=display(polygon([[-5,0], [-5,25], [50,25], [50,0]], color=xskyblue, filled=true, thickness=0), scaling=constrained):
movie6:=display(movie5, sky, scaling=constrained, view=[-5..50, 0..25], axes=none):
movie1;movie2;movie3;movie4;movie5;movie6;