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

prologues:=2;

input geometriesyr16;

figure(-15u,0,10u,11u);
pair O,F,A,P[],M[],N[];
O=u*(5,5);
F=pointarc(cercles(O,4u),180);
A-O=u*(5,-1);
for l=-30 upto 30:
  P[l]=(l/15)[O,A];
  M[l]=cercles(P[l],O) intersectionpoint droite(F,P[l]);
  N[l]=symetrie(M[l],P[l]);
endfor;
drawoptions(dashed evenly withcolor gris);
trace droite(O,A);
drawoptions(withcolor rouge);
path strophoide;
strophoide=M[-30]
for k=-29 upto 30:
  ..M[k]
endfor
for k=-30 upto 30:
  ..N[k]
endfor;
trace strophoide;
drawoptions(withcolor bleu);
trace textpath("\Large Strophoïde",reverse(strophoide),0.56);
fin;
end