// Une série d'exemples pour comprendre le fonctionnement de buildcycle. // Dans cet exemple, buildcycle(c1,c2) permet de construire l'intersection // des ensembles... mais ne pas croire que c'est toujours le cas : cf. exemple qui suit. 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=shift(-1.5,.6)*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