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

prologues:=2;

input geometriesyr16;

figure(-5u,-10u,20u,15u);
pair A,O,P[],Q[],M[],N[];
A=(0,0);
path cc;
cc=cercles(A,5u);
O-A=u*(7,-1);
marque_p:="plein";
l=0;
for k=0 step 1 until 360:
  P[k]=pointarc(cc,k);
  Q[k]=symetrie(P[k],projection(A,O,P[k]));
  M[k]=cercles(O,abs(P[k]-Q[k])) intersectionpoint demidroite(O,P[k]);
  N[k]=symetrie(M[k],O);
endfor;
drawoptions(dashed evenly withcolor gris);
trace cc;
drawoptions(withcolor rouge);
path lemniscatebooth[];
lemniscatebooth1=M1
for k=2 upto 360:
  --M[k]
endfor
--cycle;
lemniscatebooth2=N1
for k=2 upto 360:
  --N[k]
endfor
--cycle;
trace lemniscatebooth1;
trace lemniscatebooth2;
drawoptions(withcolor bleu);
trace textpath("\Large Lemniscate de Booth",lemniscatebooth1,0);
fin;
end