input geometriesyr16;
figuremainlevee(0,0,18u,15u);
pair A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,Aa,Bb,Cc,Dd,Ee;
B=u*(1,12);
C-B=u*(5,-1);
A-B=u*(3,2);
trace polygone(A,B,C);
trace appelation(B,A,2mm,btex 3 etex);
trace appelation(B,C,-2mm,btex 6 etex);
trace appelation(A,C,2mm,btex 4 etex);
nomme.llft(B);
nomme.lrt(C);
nomme.top(A);
D=u*(7,10);
F-D=u*(4,4);
E-D=u*(1,2);
trace polygone(D,E,F);
trace appelation(D,E,2mm,btex 9 etex);
trace appelation(D,F,-2mm,btex 6 etex);
trace appelation(E,F,2mm,btex 4,5 etex);
nomme.llft(D);
nomme.urt(F);
nomme.ulft(E);
G=u*(12,11);
H-G=u*(4,0);
I-G=u*(2,3);
trace polygone(G,H,I);
trace appelation(G,I,2mm,btex 1,5 etex);
trace appelation(G,H,-2mm,btex 3 etex);
trace appelation(I,H,2mm,btex 2 etex);
nomme.llft(G);
nomme.lrt(H);
nomme.top(I);
K=u*(1,9);
J-K=u*(3,1);
L-K=u*(2,-3);
trace polygone(J,K,L);
trace appelation(K,J,3mm,btex $9 \over 7$ etex);
trace appelation(K,L,-3mm,btex $18 \over 7$ etex);
trace appelation(J,L,3mm,btex $12 \over 7$ etex);
nomme.lft(K);
nomme.rt(J);
nomme.bot(L);
P=u*(5,9);
O-P=u*(4,0);
N-O=u*(0,-2);
M-N=P-O;
trace polygone(M,N,O,P);
trace codeperp(M,N,O,5);
trace codeperp(N,O,P,5);
trace codeperp(O,P,M,5);
trace appelation(P,O,2mm,btex 6 etex);
trace appelation(O,N,2mm,btex 4 etex);
nomme.ulft(P);
nomme.urt(O);
nomme.lrt(N);
nomme.llft(M);
T=u*(11,10);
S-T=u*(3.5,-1);
R=rotation(T,S,88);
Q-R=T-S;
trace polygone(T,S,R,Q);
trace appelation(T,S,2mm,btex 120 etex);
trace appelation(S,R,2mm,btex 80 etex);
trace segment(T,R) dashed evenly;
trace segment(S,Q) dashed evenly;
trace Codelongueur(T,iso(T,R),iso(T,R),R,S,iso(T,R),iso(T,R),Q,2);
trace codeperp(T,S,R,5);
nomme.ulft(T);
nomme.urt(S);
nomme.lrt(R);
nomme.llft(Q);
U=u*(1.5,1);
V-U=u*(5,0.5);
W=3/5[V,rotation(U,V,-90)];
X-W=U-V;
trace polygone(U,V,W,X);
trace appelation(X,W,2mm,btex 4,8 etex);
trace appelation(U,X,2mm,btex 3,2 etex);
trace marque_para(droite(U,V),droite(X,W),0.6);
trace marque_para(droite(U,X),droite(V,W),0.6);
trace codeperp(U,V,W,5);
nomme.llft(U);
nomme.lrt(V);
nomme.urt(W);
nomme.ulft(X);
Y=u*(7.5,1);
Z-Y=u*(3,0);
Aa-Y=u*(1,4);
trace polygone(Aa,Y,Z);
trace appelation(Y,Aa,2mm,btex 3,6 etex);
trace appelation(Y,Z,-2mm,btex 7,2 etex);
trace appelation(Aa,Z,2mm,btex 4,8 etex);
nomme.llft(Y);
nomme.lrt(Z);
label.top(btex A$_1$ etex,Aa);
Bb=u*(12,2.5);
Cc-Bb=u*(0.5,-1.5);
Dd=5/3[Cc,rotation(Bb,Cc,-90)];
Ee-Dd=Bb-Cc;
trace polygone(Bb,Cc,Dd,Ee);
trace codeperp(Cc,Bb,Ee,5);
trace codeperp(Cc,Dd,Ee,5);
trace marque_para(droite(Bb,Cc),droite(Dd,Ee),0.55);
trace appelation(Bb,Ee,2mm,btex 7 etex);
trace appelation(Ee,Dd,3mm,btex $14\over3$ etex);
label.ulft(btex B$_1$ etex,Bb);
label.llft(btex C$_1$ etex,Cc);
label.lrt(btex D$_1$ etex,Dd);
label.urt(btex E$_1$ etex,Ee);
finmainlevee;
end