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