# Gallerie de figures à main levée avec MetaPost.

## Un triangle quelconque

triqcq.mp [ source brut ]

 input geometriesyr16

 figuremainlevee(0,0,8u,8u);
pair A,B,C;
trace triangleqcq(A,B,C);
finmainlevee;
end

## Plusieurs triangles

plusdetri.mp [ source brut ]

 input geometriesyr16

 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

 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

 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

 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


 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