import graph; import interpolate; import geometry; size(10cm,0); real[] xpt={-2,-1,0,1,2}; // discrétisation en x real[] ypt={3,1,0,.5,2}; // valeurs de la fonction aux instants de la discrétisation real[] dy={-1,0,-1,0,.5}; // valeurs de la dérivée aux instants de la discrétisation real f(real t) { return pwhermite(xpt,ypt,dy)(t); } path Cf=graph(f,-2,2); draw(Cf, blue); void tangente(int k,real lg=1,real ld=lg, pen p=dashed, arrowbar arr=None) { draw(((xpt[k],ypt[k])-lg*unit((1,dy[k]))) --((xpt[k],ypt[k])+ld*unit((1,dy[k]))), p, arr); } tangente(0,lg=0,ld=1,p=.5bp+red,Arrow(SimpleHead)); tangente(1); tangente(2,lg=0.8,Arrows); tangente(3,lg=.8,p=purple,Arrow); tangente(4,lg=1,ld=0,p=.5bp+red,BeginArrow(HookHead));