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

prologues:=2;

input geometriesyr16;

figure(-10u,-10u,10u,10u);
pair F,F',O,K,A,A',B,B',P[],Q[],M[],N[];
F=u*(-4.5,0);
F'=u*(4.5,0);
O=iso(F,F');
path cc;
cc=cercledia(F,F');
K-F=u*(0,5);
A=cercles(O,K) intersectionpoint droite(F,F');
A'=symetrie(A,O);
B=cercles(F,5u) intersectionpoint cercles(F',5u);
B'=symetrie(B,F,F');
for k=1 step 2 until 359:
  P[k]=pointarc(cc,k);
  Q[k]=symetrie(P[k],O,projection(O,A,P[k]));
  M[k]=cercles(F,abs(A-P[k])) intersectionpoint cercles(F',abs(A-Q[k]));
  N[k]=symetrie(M[k],F,F');
endfor;
drawoptions(dashed evenly withcolor gris);
trace cc;
drawoptions(withcolor rouge);
path ovaledecasini;
ovaledecasini=M1
for k=3 step 2 until 359:
  --M[k]
endfor
for k=359 step -2 until 1:
  --N[k]
endfor
--cycle;
trace ovaledecasini;
drawoptions(withcolor bleu);
trace textpath("\Large Ovale de Casini",ovaledecasini,0);
fin;
end