Page 1 sur 1

Nombre dérivé et courbe.

Posté : ven. 24 févr. 2012, 12:05
par Fabrice
Bonjour,
J'ai abordé la notion de nombre dérivé, et je suis amené à tracer de nombreuses courbes (trop !!)pour entraîner les élèves à lire les nombres dérivés. Je fais cela un peu à tâtons pour faire en sorte que la lecture du coefficient directeur soit facilitée par la grille.
Imaginons que je veuille tracer une courbe où : f'(0)=-2, f'(-1)=-0.25 et f'(2)=0. Quelle est la méthode la "plus rapide" ?
Merci.

Re: Nombre dérivé et courbe.

Posté : ven. 24 févr. 2012, 13:00
par GM
Bonjour,

Voilà peut-être une source d'inspiration :

Figure asymptote 440691fdcda6037bd9bdfb3c91e674af
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***

CODE ASYMPTOTE de la figure ci-dessus : Tout sélectionner
  1. import graph;
  2. import interpolate;
  3. import geometry;
  4. unitsize(2cm,2cm);
  5.  
  6. //------ Une grille -----------------
  7. int xmin=-2, xmax=3, ymin=-2, ymax=3;
  8. pen p=linetype("0 " + string(1mm), offset=0, scale=false, adjust=false);
  9. add(shift(xmin,ymin)*grid(xmax-xmin,ymax-ymin,1bp+p));
  10. add(shift(xmin-.5,ymin-.5)*grid(xmax-xmin+1,ymax-ymin+1,1bp+gray));
  11. xlimits(xmin,xmax,Crop);
  12. ylimits(ymin,ymax,Crop);
  13.  
  14. //------ Les données -----------------
  15. real[] xpt={-2,-1,0,1,2,3};
  16. real[] ypt={3,1,0,.5,2,1};
  17. real[] dy={-2,-0.25,1,-2,0,1}; // << nombres dérivés
  18.  
  19. // ----- les fonctions utiles
  20. real f(real t){ return pwhermite(xpt,ypt,dy)(t); }
  21. void tangente(int k,real lg=1,real ld=lg, pen p=dashed, arrowbar arr=None) {
  22. draw(((xpt[k],ypt[k])-lg*unit((1,dy[k])))--((xpt[k],ypt[k])+ld*unit((1,dy[k]))),p,arr);
  23. }
  24.  
  25. // ----- les constructions
  26. path Cf=graph(f,-2,3);
  27. draw(Cf, 1bp+blue);
  28. tangente(0,lg=0,ld=2,p=.8bp+red,Arrow(SimpleHead));
  29. tangente(1,ld=2);
  30. tangente(2,lg=2,Arrows);
  31. tangente(3,lg=2,p=.8bp+purple,Arrow);
  32. tangente(4,lg=1,ld=1,p=.8bp+red,Arrows(HookHead));


Pour la grille, j'ai peut-être fait un peu compliqué.

Re: Nombre dérivé et courbe.

Posté : dim. 26 févr. 2012, 12:18
par GM
Une variante
  • exploitant graph_pi pour "l'enrobage"
  • et automatisant un peu les choses : en changeant les données... le reste devrait à peu près s'adapter.

Figure asymptote 6660a060bdff3a11e2d7cf951ae5f556
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***

CODE ASYMPTOTE de la figure ci-dessus : Tout sélectionner
  1. import graph_pi;
  2. import interpolate;
  3. usepackage("mathrsfs");
  4.  
  5. //------ Les données -----------------
  6. real[] xpt={-2,-1,0,1,2,3};
  7. real[] ypt={3,1,0,.5,2.5,1};
  8. real[] dy={-2,-0.25,1,-2,0,1}; // << nombres dérivés
  9. //------ et les "fonctions" utiles (qui en sont dépendantes)
  10. real f(real t){ return pwhermite(xpt,ypt,dy)(t); }
  11. void tangente(int k,real lg=1,real ld=lg, pen p=dashed, arrowbar arr=None) {
  12. draw(((xpt[k],ypt[k])-lg*unit((1,dy[k])))--((xpt[k],ypt[k])+ld*unit((1,dy[k]))),p,arr);
  13. }
  14.  
  15. real xmin=min(xpt), xmax=max(xpt), ymin=min(ypt)-1, ymax=max(ypt)+1;
  16.  
  17. graphicrules(xunit=2cm, yunit=2cm, xmin=xmin, xmax=xmax,ymin=ymin,ymax=ymax);
  18. grid(xStep=1, xstep=.5,
  19. yStep=1, ystep=.5,
  20. pTick=.8red,
  21. ptick=linetype("0 " + string(1mm), offset=0, scale=false, adjust=false)+.7bp+.4white,
  22. above=false
  23. );
  24. cartesianaxis(
  25. p=currentpen,
  26. xticks=RightTicks(Label(currentpen+fontsize(8),
  27. Fill(white)),
  28. Step=2,
  29. NoZero,
  30. pTick=.5mm+blue,ptick=grey),
  31. yticks=RightTicks(Label(currentpen+fontsize(8),
  32. align=NE),
  33. Step=2,
  34. NoZero,
  35. pTick=.5mm+blue,ptick=grey),
  36. viewxaxis=true,
  37. viewyaxis=true,
  38. above=true,
  39. arrow=Arrow
  40. );
  41. labeloij(p=1.4bp+.5*red,arrow=Arrow(SimpleHead,8bp),dot);
  42.  
  43. // ----- les constructions
  44. path Cf=graph(f,min(xpt),max(xpt));
  45. draw(Cf, 1bp+blue);
  46. for(int k=0; k<xpt.length; ++k) tangente(k,lg=2);
  47.  
  48. real marge=.5;
  49. xlimits(xmin-marge,xmax+marge,Crop);
  50. ylimits(ymin-marge,ymax+marge,Crop);
  51.  
  52. label("$\mathscr{C}_f$",(max(xpt),f(max(xpt))),N);

Re: Nombre dérivé et courbe.

Posté : lun. 27 févr. 2012, 11:36
par Fabrice
Bonjour,
Désolé pour la réponse tardive, mais je n'avais pas accès à mon ordinateur.
Ce code va me permettre d'aller plus vite dans la réalisation de mes figures.
Merci beaucoup (et aussi à OG pour ce module).
PS : j'y mettrai un peu moins de couleur ! ;)