import base_pi; // base_pi téléchargeable ici : base_pi de Ph.Ivaldi // extension utilisée pour texfrac : permettant de graduer l'axe des // abscisses en fonction de pi. import graph; size(10cm,0); real f(real x) { return x*sin(x); } path Cf=graph(f,0,2pi,n=4000); // 4000 pour des tangentes plus précises. draw(Cf); xaxis(Ticks(Label(align=W,Fill(white)),NoZero, ticklabel = new string(real x){return texfrac(rational(x/pi), factor="\pi");}, Step=pi/2, step=pi/4, ptick=grey),Arrow); yaxis(ymin=-5.4,ymax=2.4,Ticks(NoZero),Arrow); // Les deux tangentes... avec une méthode spécifique au fait // qu'elles sont en deux points simples : // celui de début et celui de fin de path fin de "path". pair pA=relpoint(Cf,0), pB=relpoint(Cf,1); draw(pA--pA+3*dir(Cf,0),blue,Arrow); draw(pB--pB-3*dir(Cf,length(Cf)),blue,Arrow);