tracingmacros := 1;
input constantes;
input geometriepoint;
input papiers;
beginfig(1);
  papiermil((0,0),1,1,(-0.5,-0.5),(8,5),orange);
  affixe.O(u*(0.5,3.5))no;
  affixe.A(u*(0.5,0.8))o;
  affixe.I(u*(0.5,2.5))so;
  affixe.M(u*(2.8,2.5))so;
  affixe.N((abs(z.A-z.O)/abs(z.I-z.O))[z.O,z.M])ne;
  draw demidroite(O,A,1.15);
  draw demidroite(O,N,1.15);
  draw segment(I,M);
  cotation(O,M,2mm,2mm,btex $b$ etex);
  cotation(I,O,2mm,2mm,btex $1$ etex);
  cotation(A,O,6mm,2mm,btex $a$ etex);
  draw segment(A,N);
  label.rt(btex $OI=1$, $OA=a$, $OM=b$ etex,u*(3.5,4));
  draw codeperp(M,I,O,5);
  draw codeperp(N,A,O,5);
endfig;
end