input latexmp;
setupLaTeXMP(class="article",options="12pt",fontencoding="T1",inputencoding="latin1",language="frenchb",packages="fourier,textpathmp");
input textpath;
prologues:=2;
input geometriesyr16;
figure(-9u,-8u,12u,8u);
pair F,F',P[],A[],B[],M[],M'[];
path cc,cd,ce[];
F=u*(-2.5,0);
F'-F=u*(8,0);
cc=cercles(F,6u);
cd=cercles(F',6u);
marque_p:="plein";
for k=-180 step 1 until 180:
P[k]=pointarc(cc,k);
ce[k]=cercles(P[k],8u);
A[k]=ce[k] intersectionpoint cd;
B[k]=symetrie(A[k],P[k],F');
M[k]=iso(P[k],A[k]);
M'[k]=iso(P[k],B[k]);
if abs(M[k]-iso(F,F'))<abs(M'[k]-iso(F,F')):
B[k]:=M[k];
M[k]:=M'[k];
M'[k]:=B[k];
fi;
endfor;
drawoptions(dashed evenly withcolor gris);
trace cc;trace cd;
trace segment(F,F');
trace marquesegment(F,F');
drawoptions(withcolor rouge);
path lemniscatebernouilli[];
lemniscatebernouilli1=M[-180]
for k=-179 upto 180:
--M[k]
endfor
--cycle;
lemniscatebernouilli2=M'[-180]
for k=-179 upto 180:
--M'[k]
endfor
--cycle;
trace lemniscatebernouilli1;
trace lemniscatebernouilli2;
drawoptions(withcolor bleu);
trace textpath("\Large Lemniscate de Bernouilli",lemniscatebernouilli1,0.1);
fin;
end