input latexmp;
setupLaTeXMP(class="article",options="12pt",fontencoding="T1",inputencoding="latin1",language="frenchb",packages="fourier,textpathmp");
input textpath;

prologues:=2;

input geometriesyr16;

figure(1.5u,-u,10.5u,17u);
pair O,A,N[],P[],M[];
O=u*(6,4);
A-O=u*(0,8);
path cc,cd,ce[];
cc=cercles(O,iso(O,A));
cd=cercles(A,iso(O,A));
for k=1 step 2 until 360:
  N[k]=pointarc(cd,k);
  ce[k]=cercles(iso(O,N[k]),O);
  M[k]=parallele(O,A,N[k]) intersectionpoint perpendiculaire(O,N[k],cc intersectionpoint ce[k]);
endfor;
drawoptions(dashed evenly withcolor gris);
trace cc;
trace cd;
trace droite(O,A);
drawoptions(withcolor rouge);
path bicorne;
bicorne=M1
for k=3 step 2 until 360:
  --M[k]
endfor
--cycle;
trace bicorne;
drawoptions(withcolor bleu);
trace textpath("\Large Bicorne",bicorne,0.55);
fin;
end