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

prologues:=2;

input geometriesyr16;

figure(0,-3u,10u,13u);
pair A,B,C,D,O,P[],R[],S[],M[],N[];
A=u*(2,5);
B-A=u*(6,0);
O=iso(A,B);
C-O=u*(0,5);
D=symetrie(C,O);
l=0;
for k=-90 step 0.1 until 90:
  P[k]=(k/10)[A,B];
  if (cercles(P[k],7u) intersectiontimes droite(C,D))<>(-1,-1):
    l:=l+1;
    R[k]=cercles(P[k],7u) intersectionpoint droite(C,D);
    S[k]=symetrie(R[k],O);
    M[l]=perpendiculaire(P[k],R[k],R[k]) intersectionpoint parallele(P[k],R[k],O);
    N[l]=perpendiculaire(P[k],S[k],S[k]) intersectionpoint parallele(P[k],S[k],O);
  fi;
endfor;
drawoptions(dashed evenly withcolor gris);
trace codeperp(C,O,B,5);
trace segment(1.5[A,B],1.5[B,A]);
trace segment(1.5[C,D],1.5[D,C]);
drawoptions(withcolor rouge);
path doubleoeuf;
doubleoeuf=M1
for k=2 upto l:
  --M[k]
endfor
for k=1 upto l:
  --N[k]
endfor
--cycle;
trace doubleoeuf;
drawoptions(withcolor bleu);
trace textpath("\Large Double \oe uf",doubleoeuf,0.6);
fin;
end