input latexmp; setupLaTeXMP(class="article",options="12pt",fontencoding="T1",inputencoding="latin1",language="frenchb",packages="fourier,textpathmp"); input textpath; prologues:=2; input geometriesyr16; figure(0,u,10u,9u); pair C,D,O,A[],B[],E[],M[],N[]; C=u*(0.5,5); D-C=u*(9,0); O=iso(C,D); C:=symetrie(O,C); D:=symetrie(O,D); path dd,cc[]; dd=perpendiculaire(C,D,O); for k=0 step 0.1 until 100: A[k]=(k/100)[C,D]; cc[k]=cercles(A[k],9u); if (k=0) or (k=100): B[k]=O; E[k]=O; else: B[k]=cc[k] intersectionpoint dd; E[k]=symetrie(B[k],C,D); fi; M[k]=droite(A[k],B[k]) intersectionpoint perpendiculaire(A[k],B[k],O); N[k]=droite(A[k],E[k]) intersectionpoint perpendiculaire(A[k],E[k],O); endfor; drawoptions(dashed evenly withcolor gris); trace segment(C,D); trace dd; drawoptions(withcolor rouge); path rosace; rosace=M0 for k=0.1 step 0.1 until 100: --M[k] endfor for k=0 step 0.1 until 100: --N[k] endfor --cycle; trace rosace; drawoptions(withcolor bleu); trace textpath("\Large Rosace",rosace,0.68); fin; end