symb := proc (P, L) options operator, arrow; plots[pointplot](
map(unapply(t+P,t),L),style = line,args[3 .. -1]) end;
pigeon := [[-.9, .55], [-.6, .80], [-.1, .40], [1.1, .90], [.9, .40], [.3, 0],
[.9, -.20], [1.4, -.10], [.9, -1.00], [.6, -.50], [0, -.40], [-.8, -.90], [-.9
, -.60], [-.5, .10], [-.6, .40], [-.9, .50], [-1.1, .50], [-.9, .55]];
boat := [[-1.0, .70], [2.4, .60], [1.5, 0], [-1.3, 0], [-1.5, 1.10], [-.3, 1.1\
0], [.2, .70], [-1.0, .70]];

pboat := proc (t) options operator, arrow; [10*t, 0] end;

pstone := proc (t) options operator, arrow; [0, 30-4.900000000*t^2] end;
ppigeon := proc (t) options operator, arrow; [5*t+1/2*3^(1/2)*(30-4.900000000*
t^2), 15-2.45*t^2+5*3^(1/2)*t] end;
frame := proc (t) options operator, arrow; plots[display]({
plots[pointplot](pstone(t),style
= POINT,symbol = CIRCLE), symb(pboat(t),boat,colour = red), symb(ppigeon(t),
pigeon,colour = blue), plots[pointplot]([pstone(t), ppigeon(t), pboat(t), pstone(t)],
style = line,linestyle = 2)},scaling = constrained) end;
thit := 2.474358297;
plots[display]([seq(frame(thit*j/15),j=0..15)],
insequence=true,scaling=constrained);
