import graph; import geometry; import math; size(400,150,IgnoreAspect); real f(real x) {return (x-4)^3-x+30;} pair F(real x) {return (x,f(x));} dotfactor=7; int a=1, b=4; int t=2; xaxis("$x$"); yaxis("$y$"); for(int i=a; i < b; ++i) draw(F(i)--F(i+1)); path g=graph(f,a,b,operator ..); draw(g,red,Arrow(position=time(g,2.5))); int n=2; perpendicular((t+1,f(t)),NW,blue); draw(F(t)--(t+1,f(t)),blue); draw((t+1,f(t))--F(t+1),heavygreen); dot(F(t)); dot(F(t+1)); real sx=0.08; real sy=1.5; draw("$x(t+h)-x(t)$",F(t)-sy*I--(t+1,f(t)-sy),blue+dashed,Arrows,Bars, PenMargins); draw("$y(t+h)-y(t)$",(t+1+sx,f(t))--F(t+1)+sx,heavygreen+dashed,Arrows,Bars,PenMargins); labelx("$a$",a); labelx("$b$",b); label("$s(a)=0$",F(a),W,red); label("$s(t)$",F(t),N,red); label("$s(t+h)$",F(t+1),NW,red); label("$s(b)=L$",F(b),ESE,red); label("$P=(x(t),y(t))$",F(t),2.5W); label("$Q=(x(t+h),y(t+h))$",F(t+1),NE);