Le bicorne (mp-geom2d)
Auteur ou autrice : Jean-Michel Sarlat.
Mise en ligne le 19 mai 2025
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:=1cm;
vardef f(expr t) = 2*sin(t) enddef;
vardef g(expr t) = 2*cos(t)*cos(t)/(2-cos(t)) enddef;
vardef h(expr t) = -t*(1+f(t)) enddef;
def traceDoubleVecteur(expr o,d)= drawdblarrow ((o-d)--(o+d)) gddEnPlace enddef;
path bicorne;
bicorne = Courbe(f,g,-Pi,Pi,200)--cycle;
beginfig(1);
Repere(9,6,4.5,1,2,2);
Axes;
Debut;
Axes;
Graduations; Unites(1);
colorieAvecTransparence(bicorne,CadetBlue,0.2);
traceDoubleVecteur((0,2),(0.5,0)) avecCrayon(1,Crimson);
traceDoubleVecteur((0,2/3),(0.5,0)) avecCrayon(1,Crimson);
fleche Segment((2,0),(1.6,0.4)) avecCrayon(1,Crimson);
fleche Segment((-2,0),(-1.6,0.4)) avecCrayon(1,Crimson);
trace bicorne avecCrayon(1.5,CadetBlue);
pointe Point(0,0);
pointe Point(2,0);
pointe Point(-2,0);
Fin;
endfig;
end
% %%% English version
input geom2d;
labeloffset := 6;
gddU:=1cm;
vardef f(expr t) = 2*sin(t) enddef;
vardef g(expr t) = 2*cos(t)*cos(t)/(2-cos(t)) enddef;
vardef h(expr t) = -t*(1+f(t)) enddef;
def DrawDoubleVector(expr o,d)= drawdblarrow ((o-d)--(o+d)) gddEnPlace enddef;
path bicorne;
bicorne = Curve(f,g,-Pi,Pi,200)--cycle;
beginfig(1);
Frame(9,6,4.5,1,2,2);
Axis;
gddBegin;
Axis;
Graduations; Units(1);
gddAlphaFill(bicorne,CadetBlue,0.2);
DrawDoubleVector((0,2),(0.5,0)) withPen(1,Crimson);
DrawDoubleVector((0,2/3),(0.5,0)) withPen(1,Crimson);
gddArrow Segment((2,0),(1.6,0.4)) withPen(1,Crimson);
gddArrow Segment((-2,0),(-1.6,0.4)) withPen(1,Crimson);
gddDraw bicorne withPen(1.5,CadetBlue);
gddDrawPoint Point(0,0);
gddDrawPoint Point(2,0);
gddDrawPoint Point(-2,0);
gddEnd;
endfig;
end
Mots clés : géométriecourbetangentemp-geom2d
Cet exemple fait partie de la collection d’exemples Documentation de mp-geom2d.