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,8u,9u); pair O,A,B,C,P[],Q[],M[]; O=u*(1,5); A-O=u*(6,0); B=2/3[O,A]; C=rotation(A,B,90); path cc,dd; cc=cercles(iso(A,O),A); dd=perpendiculaire(O,A,B); for k=0 step 1 until 360: P[k]=pointarc(cc,k); if k=0: M[k]=B else: M[k]=dd intersectionpoint perpendiculaire(C,B,P[k]); fi; Q[k]=droite(O,M[k]) intersectionpoint perpendiculaire(O,A,P[k]); endfor; drawoptions(dashed evenly withcolor gris); trace cc;trace dd; drawoptions(withcolor rouge); path quartiquepiriforme; quartiquepiriforme=Q1 for k=2 upto 360: --Q[k] endfor --cycle; trace quartiquepiriforme; drawoptions(withcolor bleu); trace textpath("\Large Quartique piriforme",reverse(quartiquepiriforme),0.7); fin; end