Étude d’une fonction (mp-geom2d)

Auteur ou autrice : Jean-Michel Sarlat.

Mise en ligne le 19 mai 2025

Image du résultat de l’exemple

mp-geom2d a été écrit avec le but de proposer des macros MetaPost permettant de réaliser une figure de géométrie en collant d’assez près à une description impérative :

  • Soit $A$ le point de coordonnées $(2,3)$.
  • Soit $B$ le point de coordonnées $(4,5)$.
  • Trace la droite $(A,B)$.
  • ...

Ici, on montre les exemples de la galerie de la documentation à la fois dans l’interface en français et celle en anglais.

Code



input geom2d;

labeloffset := 6;
gddU:=1.2cm;

vardef f(expr t) = t*t-2*t enddef;
vardef g(expr t) = t*t + 1/(t*t) enddef;
vardef fp(expr t) = 2*t+t*t enddef;
vardef gp(expr t) = t*t enddef;

beginfig(1);

 Repere(8,10,2,1,1,1);
 Axes; 
 Debut; 
  Graduations; Unites(1);

  drawoptions(withcolor LightSlateGrey);
  trace (3,0)--(3,2)--(-1,2)--(-1,0) dashed evenly;
  trace (1,0)--(1,6)--(0,6) dashed evenly;
  trace Courbe(fp,gp,-5,5,500);

  fleche Segment((-1,2),(-1,2)+(0.5,2)) avecCrayon(1,Crimson);
  fleche Segment((3,2),(4,2)) avecCrayon(1,Crimson);
  fleche Segment((3,2),(2,2)) avecCrayon(1,Crimson);

  trace Courbe(f,g,-10,-0.05,300) avecCrayon(1.5,DarkGoldenrod);
  trace Courbe(f,g,0.05,10,300) avecCrayon(1.5,DarkGoldenrod);

  pointe Point(0,0);
  pointe Point(-1,2);
  pointe Point(3,2);
  pointe Point(1,6);

 Fin;
endfig;
end

%%%%    English version

input geom2d;

labeloffset := 6;
gddU:=1.2cm;

vardef f(expr t) = t*t-2*t enddef;
vardef g(expr t) = t*t + 1/(t*t) enddef;
vardef fp(expr t) = 2*t+t*t enddef;
vardef gp(expr t) = t*t enddef;

beginfig(1);

 Frame(8,10,2,1,1,1);
 Axis; 
 gddBegin; 
  Graduations; Units(1);

  drawoptions(withcolor LightSlateGrey);
  gddDraw (3,0)--(3,2)--(-1,2)--(-1,0) dashed evenly;
  gddDraw (1,0)--(1,6)--(0,6) dashed evenly;
  gddDraw Curve(fp,gp,-5,5,500);

  gddArrow Segment((-1,2),(-1,2)+(0.5,2)) withPen(1,Crimson);
  gddArrow Segment((3,2),(4,2)) withPen(1,Crimson);
  gddArrow Segment((3,2),(2,2)) withPen(1,Crimson);

  gddDraw Curve(f,g,-10,-0.05,300) withPen(1.5,DarkGoldenrod);
  gddDraw Curve(f,g,0.05,10,300) withPen(1.5,DarkGoldenrod);

  gddDrawPoint Point(0,0);
  gddDrawPoint Point(-1,2);
  gddDrawPoint Point(3,2);
  gddDrawPoint Point(1,6);

 gddEnd;
endfig;
end


Mots clés : géométriefonctiontangentemp-geom2d

Cet exemple fait partie de la collection d’exemples Documentation de mp-geom2d.

Fichiers

Télécharger l’archive complète