input latexmp; setupLaTeXMP(class="article",options="12pt",fontencoding="T1",inputencoding="latin1",language="frenchb",packages="fourier,frcursive,textpathmp"); input textpath; input geometriesyr16; figure(0,0,10u,10u); pair O,A,B,P[],Q[],N[],M[]; O=u*(5,5); A-O=u*(3.5,1); B=rotation(A,O,90); path cc; cc=cercles(O,A); for k=0 step 1 until 360: P[k]=pointarc(cc,k); N[k]=droite(O,A) intersectionpoint perpendiculaire(O,A,P[k]); Q[k]=droite(O,B) intersectionpoint perpendiculaire(O,B,P[k]); M[k]=droite(N[k],Q[k]) intersectionpoint perpendiculaire(N[k],Q[k],P[k]); endfor; path astroide; astroide=M0 for k=1 upto 360: --M[k] endfor --cycle; drawoptions(dashed evenly withcolor gris); trace cc; drawoptions(withcolor rouge); trace astroide; drawoptions(withcolor bleu); trace textpath("\Large Astroïde",reverse(astroide),0.55); drawoptions(); fin; end