code for car problem diagram
> path:=x->[x,-sqrt(3)*x]:
>
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](path(-1),.15,color=red):
carB:=plottools[disk]([2,0],.15,color=blue):
arrowA:=arr(path(-1),path(-1.5), `A = (0,a(t))`,
[0,1], 16, brown,6):
arrowB:=arr([2,0],[2.5,0], `B = (0,b(t))`,[0,-1], 16, brown,6):
lne:=plot([path(-1),[2,0]],linestyle=3,
thickness=3,color=green):
labels:=plots[textplot]({[0,0,`O`]}, font=[TIMES,BOLD,16],align={BELOW,LEFT}):
roads:=plot({[[-2,0],[3,0]], [path(-2),path(2)]},thickness=1,color=black):
txt:=plots[textplot]({[-.6,.8,`a`],[1,-.3,`b`],[.5,1.2,`c`]},font=[TIMES,BOLD,16]):
> plots[display]({txt,roads,labels,lne,carA,carB,arrowA,arrowB},scaling=constrained, axes=none,view=[-2..4,-2..4]);