// Troisième solution : la meilleure ! size(7.5cm); int[] nb={1,4,11,14,8,3,5,12,6,7,10,9,2,13}; int k=0; path chemin; for (int i=0; i<=7; ++i) chemin=chemin--point(polygon(7),2*i); pair[] p = intersectionpoints(chemin,chemin); draw(chemin); for (int k=0; k<14; ++k) { filldraw(circle(p[k],.1),paleyellow); label(format("%i",nb[k]),p[k],1bp+blue); } shipout(bbox(2mm,white));