restart;with(plots):with(plottools):
body := polygon([ [0,1], [6,1], [4,3], [0,3], [0,1] ], color=blue):
wheel1 :=circle( [1,1], 1, thickness=2, color=black):
wheel2:=circle([5,1], 1, thickness=2, color=black):
car := display( [body, wheel1, wheel2] ):
window:=polygon([[3,2],[5,2],[4,3],[3,3],[3,2]],color=white):
car2:=display([window,car],scaling=constrained):
loop:=circle([15,8],8,thickness=1,color=blue):
ramp:=polygon([[28,0],[32,0],[32,4],[28,0]],color=blue):
track:=(car2,loop,ramp):
left1:=polygon([[37,0],[37,1],[38,0],[37,0]],color=yellow):
middle1:=polygon([[38,0],[38,2],[39,1],[40,2],[40,0],[38,0]],color=yellow):
right1:=polygon([[40,0],[41,1],[41,0],[40,0]],color=yellow):
fire1:=(left1,middle1,right1):
fire2:=polygon([[36,0],[36,3],[37,2],[37,4],[38,3],[38,5],[39,4],[40,5],[40,3],[41,4],[41,2],[42,3],[42,0],[36,0]],color=orange):
fire3:=polygon([[35,0],[35,5],[36,4],[36,6],[37,5],[37,7],[38,6],[38,8],[39,7],[40,8],[40,6],[41,7],[41,5],[42,6],[42,4],[43,5],[43,0],[35,0]],color=red):
fire123:=(fire1,fire2,fire3):
ground:=plot([[0,0], [65,0], [0,0]], color=brown, axes=none):
track2:=(fire123,track,ground):
f1:=display(track2, scaling=constrained):
f2:=display(loop, ramp, fire123, ground, translate(car2,2,0), scaling=constrained, axes=none):
f3:=display(loop,ramp,fire123,ground,translate(car2,4,0),scaling=constrained, axes=none):
f4:=display(loop,ramp,fire123,ground,translate(car2,6,0),scaling=constrained, axes=none):
f5:=display(loop,ramp,fire123,ground,translate(car2,8,0),scaling=constrained, axes=none):
f6:=display(loop,ramp,fire123,ground,translate(car2,10,0),scaling=constrained, axes=none):
f7:=display(loop,ramp,fire123,ground,translate(rotate(car2,Pi/3),20,1.75), axes=none):
f8:=display(loop,ramp,fire123,ground,translate(rotate(car2,2*Pi/3),23,9.5), axes=none):
f9:=display(loop,ramp,fire123,ground,translate(rotate(car2,3*Pi/3),17.9,15.75)):
f10:=display(loop,ramp,fire123,ground,translate(rotate(car2,4*Pi/3),10.2,15)):
f11:=display(loop,ramp,fire123,ground,translate(rotate(car2,5*Pi/3),7,6.4)):
f12:=display(loop,ramp,fire123,ground,translate(rotate(car2,6*Pi),12.5,0),scaling=constrained):
f13:=display(loop,ramp,fire123,ground,translate(car2,16.5,0),scaling=constrained):
f14:=display(loop,ramp,fire123,ground,translate(car2,20.5,0),scaling=constrained):
f15:=display(loop,ramp,fire123,ground,translate(rotate(car2,Pi/4),27.75,0),scaling=constrained):
f16:=display(loop,ramp,fire123,ground,translate(rotate(car2,Pi/4),32.5,4.75),scaling=constrained):
f17:=display(loop,ramp,fire123,ground,translate(rotate(car2,Pi/4),40,8),scaling=constrained):
f18:=display(loop,ramp,fire123,ground,translate(rotate(car2,Pi/4),43,6),scaling=constrained):
f19:=display(loop,ramp,fire123,ground,translate(rotate(car2,Pi/4),47,3),scaling=constrained):
f20:=display(loop,ramp,fire123,ground,translate(rotate(car2,Pi/4),49,0),scaling=constrained):
f21:=display(loop,ramp,fire123,ground,translate(car2,52,0),scaling=constrained):
display(f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,insequence=true); # 10 FPS