// Une série d'exemples pour comprendre le fonctionnement de buildcycle. // Attention les chemins sont orientés ! Pour bien le comprendre, cet exemple // est la reprise de l'exemple fig_bc02, mais en changeant l'orientation de c2. size(7.8cm,0); // Je définis un chemin c1 et un second c2 déduit par translation. path c1=(0,0)..(1.5,0)..(2,1.5)..(-1,1)..cycle; path c2=reverse(shift(-.25,-.75)*c1); // c3 est le chemin cyclique résultant de la fonction buildcycle // appliquée à c1 et c2 dans cet ordre. path c3=buildcycle(c1,c2); // On colorie la zone définie par c3 et on dessine les ensembles. fill(c3,palegreen); draw(c1,2bp+blue); draw(c2,2bp+red); draw(c3,.9bp+yellow); // On étiquette les noeuds des trois chemins pour // bien comprendre comment est construit c3 à partir de c1 et c2. defaultpen(fontsize(14pt)); real w=linewidth(); for(int i=0; i