Gallerie de figures à main levée avec MetaPost.

Un triangle quelconque

triqcq.mp [ source brut ]

 input geometriesyr16
 
Conversion au format PDF de triqcq.1
 figuremainlevee(0,0,8u,8u);
 pair A,B,C;
 trace triangleqcq(A,B,C);
 finmainlevee;
 end

Plusieurs triangles

plusdetri.mp [ source brut ]

 input geometriesyr16
 
Conversion au format PDF de plusdetri.1
 figuremainlevee(0,0,8u,8u);
 pair A,B,C,D,E,F,G;
 G=u*(4.5,5);
 path cc;
 typetrace:="normal";
 cc=cercles(G,3u);
 typetrace:="mainlevee";
 A=pointarc(cc,150);
 B=pointarc(cc,30);
 F=pointarc(cc,220);
 D=pointarc(cc,270);
 C=pointarc(cc,320);
 E=rotation(D,F,-60);
 trace polygone(A,B,C,D,E,F);
 trace chemin(A,G,F,D,G,C,G,B);
 trace codesegments(A,G,G,B,1);
 trace codesegments(A,F,F,G,1);
 trace codesegments(D,G,G,C,1);
 trace codesegments(G,C,C,B,1);
 trace codesegments(D,F,F,E,2);
 trace codesegments(E,D,D,C,2);
 nomme.ulft(A);
 nomme.top(B);
 nomme.lrt(C);
 nomme.bot(D);
 nomme.bot(E);
 nomme.lft(F);
 nomme.top(G);
 finmainlevee;
 end

Un carré

carre.mp [ source brut ]

 input geometriesyr16
 
Conversion au format PDF de carre.1
 figuremainlevee(0,0,8u,8u);
 pair A,B,C,D;
 A=u*(2,2);
 B-A=u*(5,1);
 D=rotation(B,A,90);
 C-D=B-A;
 trace polygone(A,B,C,D);
 trace codeperp(A,B,C,5);
 trace codeperp(B,C,D,5);
 trace codeperp(C,D,A,5);
 trace codeperp(D,A,B,5);
 trace Codelongueur(A,B,B,C,C,D,D,A,2);
 finmainlevee;
 end

Un rectangle et son cercle circonscrit.

reccercle.mp [ source brut ]

 input geometriesyr16
 
Conversion au format PDF de reccercle.1
 figuremainlevee(0,0,10u,10u);
 pair A,B,C,D,O;
 A=u*(2,2);
 B-A=u*(6,1);
 D=3/5[A,rotation(B,A,90)];
 C-D=B-A;
 O=iso(A,C);
 trace polygone(A,B,C,D);
 trace codeperp(A,B,C,5);
 trace codeperp(B,C,D,5);
 trace codeperp(C,D,A,5);
 trace codeperp(D,A,B,5);
 trace cercles(O,A) dashed evenly;
 finmainlevee;
 end

A, I, J alignés ?

equicarre.mp [ source brut ]

 input geometriesyr16
 
Conversion au format PDF de equicarre.1
 figuremainlevee(0,0,14u,12u);
 pair A,B,C,D,I,J;
 D=u*(2,4);
 C-D=u*(5,-1);
 A=rotation(C,D,90);
 B-A=C-D;
 I=rotation(C,D,60);
 J=rotation(C,B,60);
 trace polygone(A,B,C,D);
 trace chemin(D,I,C,J,B);
 trace codeperp(A,B,C,5);
 trace codeperp(B,C,D,5);
 trace codeperp(C,D,A,5);
 trace codeperp(D,A,B,5);
 trace Codelongueur(A,B,B,C,C,D,D,A,D,I,I,C,C,J,J,B,2);
 trace droite(A,J) dashed evenly;
 nomme.ulft(A);
 nomme.top(I);
 nomme.urt(J);
 finmainlevee;
 end

Côtés égaux ?

cotesegaux.mp [ source brut ]

 verbatimtex
 %&latex
 \documentclass{article}
 \usepackage[frenchb]{babel}
 \begin{document}
 etex
 
 input geometriesyr16
 
 
Conversion au format PDF de cotesegaux.1
 figuremainlevee(-10u,-10u,10u,10u);
 pair A,B,C,D,E,I,O,J;
 A=u*(1,1);
 B-A=u*(5,0);
 I=iso(A,B);
 E=demidroite(I,rotation(A,I,-45)) intersectionpoint cercles(A,B);
 C=demidroite(I,rotation(B,I,45)) intersectionpoint cercles(B,A);
 D=perpendiculaire(B,C,C) intersectionpoint perpendiculaire(A,E,E);
 trace polygone(D,C,B,A,E);
 trace codesegments(A,I,I,B,2);
 trace segment(I,E) dashed evenly;
 trace segment(I,C) dashed evenly;
 trace Codeangle(E,I,A,0,btex 45\degres etex);
 trace Codeangle(B,I,C,0,btex 45\degres etex);
 trace codeperp(B,C,D,8);
 trace codeperp(A,E,D,8);
 marque_p:="plein";
 nomme.lft(A);
 nomme.rt(B);
 nomme.bot(I);
 nomme.lft(E);
 nomme.top(D);
 nomme.rt(C);
 finmainlevee;
 end