input constantes;
input geometriepoint;
beginfig(1);
z0=u*(1,1);label.llft(btex $E$ etex,z0);
z1=u*(10,1);label.lrt(btex $F$ etex,z1);
affixe.F(z1);
z3=u*(3,4);label.bot(btex $H$ etex,z3);
z2=z3 shifted (z1-z0);label.rt(btex $G$ etex,z2);
z4=u*(1,5);label.ulft(btex $A$ etex,z4);
z5=z4 shifted (z1-z0);label.rt(btex $B$ etex,z5);
z6=z5 shifted (z3-z0);label.top(btex $C$ etex,z6);
affixe.C(z6);
z7=z4 shifted (z3-z0);label.ulft(btex $D$ etex,z7);
draw z0--z1--z2--z6--z7--z4--cycle;
draw z4--z5--z6;
draw z1--z5;
draw z7--z3--z2 dashed evenly;
draw z3--z0 dashed evenly;
draw z1--z6--z4--cycle withpen pencircle scaled 1.25bp;
z8=1/2[z1,z6];dotlabel.rt(btex $O$ etex,z8);
affixe.O(z8);
draw codesegments(F,O,O,C,2);
endfig;
end