input geometriesyr;
figure(0,0,15u,15u);
pair A,B,C,H,G,O,I,J,K,A',B',C';
A=u*(1,1);
B=u*(14,1);
C=u*(5,14);
trace triangle(A,B,C);
A'=iso(B,C);
B'=iso(A,C);
C'=iso(A,B);
trace droite(A,A') dashed evenly;
trace droite(B,B') dashed evenly;
trace droite(C,C') dashed evenly;
G=droite(A,A') intersectionpoint droite(B,B');
I=projection(A,B,C);
J=projection(B,A,C);
K=projection(C,A,B);
trace droite(A,I) dashed dashpattern(on12bp off6bp on3bp off6bp);
trace droite(B,J) dashed dashpattern(on12bp off6bp on3bp off6bp);
trace droite(C,K) dashed dashpattern(on12bp off6bp on3bp off6bp);
H=Orthocentre(A,B,C);
O=CentreCercleC(A,B,C);
trace droite(O,A') dashed withdots;
trace droite(O,B') dashed withdots;
trace droite(O,C') dashed withdots;
nomme.llft(A);
nomme.lrt(B);
nomme.top(C);
draw codeperp(A,I,B,5);
draw codeperp(B,J,C,5);
draw codeperp(C,K,A,5);
draw codeperp(O,A',C,5);
draw codeperp(O,B',A,5);
draw codeperp(O,C',B,5);
draw codesegments(A,C',C',B,2);
draw codesegments(B,A',A',C,3);
draw codesegments(C,B',B',A,4);
marque_p:="plein";
nomme.top(O);
nomme.top(G);
nomme.top(H);
marque_p:="non";
trace droite(O,G) withpen pencircle scaled 1.5bp;
fin;
figure(0,0,18u,20u);
pair A,B,C,O,F,K,M,H,G,I;
A=u*(1,1);
B=u*(15,1);
C=u*(12,14);
H=Orthocentre(A,B,C);
O=CentreCercleC(A,B,C);
draw cercle(O,abs(O-C));
F=symetrie(A,O);
K=symetrie(H,B,C);
M=iso(B,C);
G=droite(O,H) intersectionpoint droite(A,M);
I=projection(A,B,C);
trace triangle(A,B,C);
trace A--F dashed evenly;
trace demidroite(A,H);
trace codeperp(A,I,C,5);
trace droite(O,H) dashed evenly;
trace droite(A,M) dashed evenly;
nomme.bot(A);
nomme.bot(B);
nomme.top(C);
nomme.lrt(M);
nomme.urt(F);
nomme.lrt(K);
draw codesegments(B,M,M,C,2);
marque_p:="plein";
nomme.bot(H);
nomme.top(O);
nomme.top(G);
marque_p:="non";
trace C--F--B--H--cycle dashed dashpattern(on12bp off6bp on3bp off6bp);
trace H--F;
fin;
figure(0,-2u,18u,20u);
pair A,B,C,D,E,O,F,K,M,N,P,H,G,I,J,L,omega;
A=u*(1,1);
B=u*(15,1);
C=u*(12,14);
H=Orthocentre(A,B,C);
O=CentreCercleC(A,B,C);
trace cercle(O,abs(O-C));
F=symetrie(A,O);
K=symetrie(H,B,C);
M=iso(B,C);
G=droite(O,H) intersectionpoint droite(A,M);
I=projection(A,B,C);
omega=iso(O,H);
trace cercle(omega,abs(omega-M));
trace triangle(A,B,C);
D=symetrie(B,O);
E=symetrie(C,O);
J=projection(B,A,C);
L=projection(C,A,B);
N=iso(A,C);
P=iso(A,B);
trace A--F dashed evenly;
trace B--D dashed evenly;
trace C--E dashed evenly;
trace A--I dashed dashpattern(on12bp off6bp on3bp off6bp);
trace B--J dashed dashpattern(on12bp off6bp on3bp off6bp);
trace C--L dashed dashpattern(on12bp off6bp on3bp off6bp);
trace codeperp(A,I,C,5);
trace codeperp(B,J,A,5);
trace codeperp(C,L,B,5);
trace O--H dashed evenly;
trace H--F dashed evenly;
nomme.bot(A);
nomme.bot(B);
nomme.top(C);
nomme.urt(F);
draw codesegments(B,M,M,C,2);
nomme.ulft(D);
nomme.llft(E);
marque_p:="plein";
nomme.llft(H);
nomme.top(O);
dotlabel.top(btex $\Omega$ etex,omega);
nomme.urt(M);
nomme.lrt(I);
nomme.top(J);
nomme.lrt(L);
nomme.lft(N);
nomme.bot(P);
MarquePoint(iso(A,H));
MarquePoint(iso(B,H));
MarquePoint(iso(C,H));
marque_p:="non";
label.bot(btex $H_1$ etex,iso(A,H));
label.bot(btex $H_2$ etex,iso(B,H));
label.llft(btex $H_3$ etex,iso(C,H));
fin;
end
