input constantes;
input geometriepoint;
beginfig(1);
u:=5mm;
affixe.B(u*(1,1))so;
affixe.C(z.B shifted(u*(sqrt(89),0)))se;
path cc;
cc=cercledia(B,C);
affixe.A(cc intersectionpoint cercle(C,8u))n;
affixe.D(z.A rotatedabout(z.B,90))so;
affixe.E(z.B rotatedabout(z.A,-90))no;
affixe.G(z.C rotatedabout(z.A,90))n;
affixe.F(z.A rotatedabout(z.C,-90))n;
affixe.H(z.B rotatedabout(z.C,90))se;
affixe.I(z.C rotatedabout(z.B,-90))so;
affixe.O(1/2[z.A,z.F])no;
affixe.K((z.A--z.G) intersectionpoint para(O,B,C,15));
affixe.L((z.C--z.F) intersectionpoint para(O,B,C,15));
affixe.M((z.A--z.C) intersectionpoint perpen(O,B,C,15));
affixe.N((z.F--z.G) intersectionpoint perpen(O,B,C,15));
picture piece[];
draw hachure(60,0.5,1);
clip currentpicture to (z.A--z.M--z.O--z.K--cycle);
piece1=currentpicture;
currentpicture:=nullpicture;
draw hachure(30,0.5,1);
clip currentpicture to (z.C--z.M--z.O--z.L--cycle);
piece2=currentpicture;
currentpicture:=nullpicture;
draw hachure(60,0.5,2);
clip currentpicture to (z.L--z.O--z.N--z.F--cycle);
piece3=currentpicture;
currentpicture:=nullpicture;
draw hachure(120,0.5,2);
clip currentpicture to (z.N--z.G--z.K--z.O--cycle);
piece4=currentpicture;
currentpicture:=nullpicture;
draw hachure(60,0.5,0);
clip currentpicture to (z.A--z.B--z.D--z.E--cycle);
piece5=currentpicture;
currentpicture:=nullpicture;
for j=1 upto 5:
draw piece[j];
endfor;
affixe.B(u*(1,1))so;
affixe.C(z.B shifted(u*(sqrt(89),0)))se;
path cc;
cc=cercledia(B,C);
affixe.A(cc intersectionpoint cercle(C,8u))n;
affixe.D(z.A rotatedabout(z.B,90))so;
affixe.E(z.B rotatedabout(z.A,-90))no;
affixe.G(z.C rotatedabout(z.A,90))n;
affixe.F(z.A rotatedabout(z.C,-90))n;
affixe.H(z.B rotatedabout(z.C,90))se;
affixe.I(z.C rotatedabout(z.B,-90))so;
affixe.O(1/2[z.A,z.F])no;
affixe.K((z.A--z.G) intersectionpoint para(O,B,C,15));
affixe.L((z.C--z.F) intersectionpoint para(O,B,C,15));
affixe.M((z.A--z.C) intersectionpoint perpen(O,B,C,15));
affixe.N((z.F--z.G) intersectionpoint perpen(O,B,C,15));
draw triangle(A,B,C);
draw codeperp(B,A,C,5);
draw z.B--z.D--z.E--z.A;
draw z.A--z.G--z.F--z.C;
draw z.C--z.H--z.I--z.B;
draw z.K--z.L;
draw z.M--z.N;
draw codeperp(N,O,L,5);
endfig;
end