input geometriesyr12;
u:=8mm;
figure(-20u,-20u,20u,20u);
pair A,B,C,D,E,F,G,H,I,K,L,M,N,O;
B=u*(1,1);
C=B shifted(u*(sqrt(89),0));
path cc;
cc=cercledia(B,C);
A=cc intersectionpoint cercle(C,8u);
D=rotation(A,B,90);
E=rotation(B,A,-90);
G=rotation(C,A,90);
F=rotation(A,C,-90);
H=rotation(B,C,90);
I=rotation(C,B,-90);
O=1/2[A,F];
K=(A--G) intersectionpoint parallele(B,C,O);
L=(C--F) intersectionpoint parallele(B,C,O);
M=(A--C) intersectionpoint perpendiculaire(B,C,O);
N=(F--G) intersectionpoint perpendiculaire(B,C,O);
trace hachurage(A--M--O--K--cycle,60,0.25,0);
trace hachurage(C--M--O--L--cycle,30,0.5,1);
trace hachurage(L--O--N--F--cycle,60,0.5,2);
trace hachurage(N--G--K--O--cycle,120,0.5,2);
trace hachurage(A--B--D--E--cycle,60,0.5,0);
draw triangle(A,B,C);
draw codeperp(B,A,C,5);
draw B--D--E--A;
draw A--G--F--C;
draw C--H--I--B;
draw K--L;
draw M--N;
draw codeperp(N,O,L,5);
nomme.llft(B);
nomme.lrt(C);
nomme.top(A);
nomme.llft(D);
nomme.ulft(E);
nomme.top(G);
nomme.top(F);
nomme.lrt(H);
nomme.llft(I);
nomme.ulft(O);
fin;
end
