code for diagram
>
pt:=plot(3*sin(2*Pi*(x-.75)/2)+4,x=-1..5,thickness=3,xtickmarks=[],ytickmarks=[],color=blue):
clines:=plot({[[0,4],[0,5.8]], [[.75,4.2],[.75 ,5.8]],[[.05,5],[.7,5]]}, linestyle=3, thickness=3, color=tan):
blines:=plot({[[1+.75,4],[1+.75,8]], [[3+.75,4],[3+.75,8]], [[1.1+.75,7.4],[2.9+.75,7.4]]}, linestyle=3, thickness=3, color=green):
dotline:=plot({[[0+.75,3],[2+.75,3]],[[0+.75,-3],[2+.75,-3]]},thickness=1,linestyle=3):
dline:=plot({4,[[.9,0],[.9,4]]},x=-1..5, thickness=3, linestyle =3,color=black):
dtext:=plots[textplot]([.8,2,`D`],color=black,font=[TIMES,BOLD,16]):
Btext:=plots[textplot]( [2.75,7.8,`B`] ,align=BELOW,font=[TIMES,BOLD,16]):
aline:=plot([[1/2+.75,4],[1/2+.75,7]],thickness=3,linestyle=3):
Atext:=plots[textplot]({[ 1/2+.6,5.5,`A`],[ -.2,-3,`-A`]},align=BELOW,font=[TIMES,BOLD,16]):
ctext:=plots[textplot]([.4,5.5,`C`] ,align=BELOW,font=[TIMES,BOLD,16]):
> plots[display](dtext,dline,ctext,clines,aline,blines,dline,pt,Btext,Atext,view=[-1..5,-1..8]);