Une courbe de Lissajous (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:=1.2cm;
vardef f(expr t) = sin(2*t+Pi/3) enddef;
vardef g(expr t) = sin(3*t) enddef;
beginfig(1);
Repere(8,8,4,4,3,3);
Axes;
Debut;
Graduations; Unites(1);
drawoptions(withcolor LightSlateGrey);
trace ((-1,-1)--(-1,1)--(1,1)--(1,-1)--cycle);
trace ((-1,-1)--(1,1));
trace (1,-1)--(-1,1);
trace Cercle(origine,1);
trace ((-1,0.5)--(1,0.5));
trace ((-1,-0.5)--(1,-0.5));
trace ((0.5,-1)--(0.5,1));
trace ((-0.5,-1)--(-0.5,1));
trace ((-1,sqrt(3)/2)--(1,sqrt(3)/2));
trace ((-1,-sqrt(3)/2)--(1,-sqrt(3)/2));
trace ((sqrt(3)/2,-1)--(sqrt(3)/2,1));
trace ((-sqrt(3)/2,-1)--(-sqrt(3)/2,1));
trace Courbe(f,g,0,2*Pi,500) avecCrayon(1.5,Orchid);
pointe Point(0,0);
Fin;
endfig;
end
%%% English version
input geom2d;
labeloffset := 6;
gddU:=1.2cm;
vardef f(expr t) = sin(2*t+Pi/3) enddef;
vardef g(expr t) = sin(3*t) enddef;
beginfig(1);
Frame(8,8,4,4,3,3);
Axis;
gddBegin;
Graduations; Units(1);
drawoptions(withcolor LightSlateGrey);
gddDraw ((-1,-1)--(-1,1)--(1,1)--(1,-1)--cycle);
gddDraw ((-1,-1)--(1,1));
gddDraw (1,-1)--(-1,1);
gddDraw Circle(origine,1);
gddDraw ((-1,0.5)--(1,0.5));
gddDraw ((-1,-0.5)--(1,-0.5));
gddDraw ((0.5,-1)--(0.5,1));
gddDraw ((-0.5,-1)--(-0.5,1));
gddDraw ((-1,sqrt(3)/2)--(1,sqrt(3)/2));
gddDraw ((-1,-sqrt(3)/2)--(1,-sqrt(3)/2));
gddDraw ((sqrt(3)/2,-1)--(sqrt(3)/2,1));
gddDraw ((-sqrt(3)/2,-1)--(-sqrt(3)/2,1));
gddDraw Curve(f,g,0,2*Pi,500) withPen(1.5,Orchid);
pointe Point(0,0);
gddEnd;
endfig;
end
Mots clés : lissajouscourbegéométriemp-geom2d
Cet exemple fait partie de la collection d’exemples Documentation de mp-geom2d.