code for diagram
>
arr:=proc(tail,head, text,txtshift, size, colr,thicknessfactor) local textoffset,txt,tmp,nrm,dir,cntr:
dir:=head-tail:
textoffset:=txtshift[1]*dir+txtshift[2]*[dir[2],-dir[1]]:
cntr:=.5*(tail+head)+textoffset:
nrm:=sqrt( dir[1]^2+dir[2]^2):
tmp:=plottools[arrow](tail, head, .01*nrm*thicknessfactor,.05*nrm*thicknessfactor,
.05*thicknessfactor,color=colr):
txt:=plots[textplot]([cntr[1],cntr[2],text],
font=[TIMES,BOLD,size]): plots[display]({tmp,txt},scaling=constrained);end:
>
carA:=plottools[disk]([0,2],.15,color=red):
carB:=plottools[disk]([2,0],.15,color=blue):
arrowA:=arr([0,2],[0,2.5], `A = (0,a(t))`,[0,2],
16, brown,6):
arrowB:=arr([2,0],[2.5,0], `B = (0,b(t))`,[0,-1],
16, brown,6):
lne:=plot([[0,2],[2,0]],linestyle=3,thickness=3,
color=green):
labels:=plots[textplot]({[0,0,`O`],[1,4,`North`],
[1,-1.5,`South`],[-1.5,.5,`West`],[4,.5,`East`]}, font=[TIMES,BOLD,16],align={BELOW,LEFT}):
>
plots[display]({labels,lne,carA,carB,arrowA,arrowB},
scaling=constrained,
xtickmarks=[],ytickmarks=[],view=[-2..4,-2..4]);