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

prologues:=2;

input geometriesyr16;

figure(-3u,0,13u,10u);
pair O,A,P[],M[],N[];
O=u*(5,5);
path cc;
cc=cercles(O,2.5u);
A-O=u*(-8,0);
for k=0 step 1 until 360:
  P[k]=pointarc(cc,k);
  M[k]=cercles(P[k],5u) intersectionpoint droite(A,P[k]);
  N[k]=symetrie(M[k],P[k]);
  if ypart(M[k])<ypart(O):
    M[k]:=N[k];
    N[k]:=symetrie(M[k],P[k]);
  fi;
endfor;
drawoptions(dashed evenly withcolor gris);
trace cc;
drawoptions(withcolor rouge);
path conchoide[];
conchoide1=M0
for k=1 step 1 until 360:
  --M[k]
endfor;
conchoide2=N0
for k=1 step 1 until 360:
  --N[k]
endfor;
trace conchoide1;
trace conchoide2;
drawoptions(withcolor bleu);
trace textpath("\Large Conchoïde de cercle",conchoide1,0.5);
fin;
end