// Le dernier exemple de cette série : reprise du premier exemple, // en ayant remplacé buildcycle(c1,c2) par buildcycle(c2,c1). // Il faut constater que si la zone définie par c3 est la même, // il ne s'agit pas du même chemin pour autant : regarder le numéro // des noeuds pour s'en convaincre. 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(c2,c1); // 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