Retour

Source : panda.mp

Animation flash


panda.mp
prologues:=2;
input geometriesyr16
pair O[];
path cc[];
picture coupe[];
%1
figure(0,0,10u,9.5u);
trace grille(0.5) withcolor orange;
O1=pp(10,4);
O3-O1=pp(0,7);
O27-O1=pp(0,5.5);
O29-O1=pp(-1.5,5);
O28=symetrie(O29,O1,O3);
O4-O3=pp(4,5);
O5=symetrie(O4,O1,O3);
marque_p:="plein";
pointe(O1,O28,O29,O3,O4,O5);
marque_p:="non";
cc1=cercles(O1,1.5u);
cc28=cercles(O28,3.5u);
cc29=cercles(O29,3.5u);
cc3=cercles(O3,3u);
cc4=cercles(O4,1u);
cc5=cercles(O5,1u);
drawoptions(withcolor violet);
trace cc1;
drawoptions(dashed evenly withcolor gris);
trace cc28;
trace cc29;
trace cc3;
trace cc4;
trace cc5;
drawoptions();
fin;
%2
figure(0,0,10u,9.5u);
trace grille(0.5) withcolor orange;
marque_p:="plein";
pointe(O1,O28,O29,O3,O4,O5);
marque_p:="non";
trace cc1;
drawoptions(withcolor violet);
trace cc28 cutafter reverse(cc4);
trace cc28 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc29 cutbefore cc5 cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
drawoptions(dashed evenly withcolor gris);
trace cc3;
trace cc4;
trace cc5;
drawoptions();
fin;
%3
figure(0,0,10u,9.5u);
trace grille(0.5) withcolor orange;
marque_p:="plein";
pointe(O1,O28,O29,O3,O4,O5);
marque_p:="non";
trace cc1;
trace cc28 cutafter reverse(cc4);
trace cc28 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc29 cutbefore cc5 cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutafter (subpath(3*length cc4/4,length cc4) of cc4);
%trace cc2 cutbefore (subpath(length cc5/2,3*length cc5/4) of cc5) cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
drawoptions(withcolor violet);
trace cc3 cutbefore (subpath(length cc4/4,length cc4/2) of cc4) cutafter (subpath(0,length cc5/2) of cc5);
drawoptions(dashed evenly withcolor gris);
trace cc4;
trace cc5;
drawoptions();
fin;
%4
figure(0,0,10u,9.5u);
trace grille(0.5) withcolor orange;
O6-O1=pp(1.75,3.5);
O7=symetrie(O6,O1,O3);
O8-O6=pp(0.25,-1);
O9=symetrie(O8,O1,O3);
O10-O1=pp(0,-1.5);
cc6=cercles(O6,0.5u);
cc7=cercles(O7,0.5u);
cc8=cercles(O8,0.75u);
cc9=cercles(O9,0.75u);
cc10=cercles(O10,u);
marque_p:="plein";
pointe(O1,O28,O29,O3,O4,O5,O6,O7,O8,O9,O10);
marque_p:="non";
trace cc1;
trace cc28 cutafter reverse(cc4);
trace cc28 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc29 cutbefore cc5 cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutafter (subpath(3*length cc4/4,length cc4) of cc4);
%trace cc2 cutbefore (subpath(length cc5/2,3*length cc5/4) of cc5) cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc3 cutbefore (subpath(length cc4/4,length cc4/2) of cc4) cutafter (subpath(0,length cc5/2) of cc5);
drawoptions(withcolor violet);
drawoptions(dashed evenly withcolor gris);
trace cc4;
trace cc5;
trace cc6;
trace cc7;
trace cc8;
trace cc9;
trace cc10;
drawoptions();
fin;
%5
figure(0,0,10u,9.5u);
trace grille(0.5) withcolor orange;
marque_p:="plein";
pointe(O1,O28,O29,O3,O4,O5,O6,O7,O8,O9,O10);
marque_p:="non";
trace cc1;
trace cc28 cutafter reverse(cc4);
trace cc28 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc29 cutbefore cc5 cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutafter (subpath(3*length cc4/4,length cc4) of cc4);
%trace cc2 cutbefore (subpath(length cc5/2,3*length cc5/4) of cc5) cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc3 cutbefore (subpath(length cc4/4,length cc4/2) of cc4) cutafter (subpath(0,length cc5/2) of cc5);
drawoptions(withcolor violet);
trace cc6 cutbefore cc8 cutafter cc8;
trace cc7 cutafter (subpath(length cc9/4,length cc9/2) of cc9);
trace cc7 cutbefore (subpath(0,length cc9/4) of cc9);
drawoptions(dashed evenly withcolor gris);
trace cc4;
trace cc5;
trace cc8;
trace cc9;
trace cc10;
drawoptions();
fin;
%6
figure(0,0,10u,9.5u);
trace grille(0.5) withcolor orange;
coupe8=image(
  trace cc8 cutafter (subpath(0,length cc6/2) of cc6);
  trace cc8 cutbefore (subpath(0,length cc1/8) of cc1);
  trace cc8 cutbefore (subpath(length cc6/2,3*length cc6/4) of cc6) cutafter (subpath(length cc1/8,length cc1/4) of cc1);
  );
marque_p:="plein";
pointe(O1,O28,O29,O3,O4,O5,O6,O7,O8,O9,O10);
marque_p:="non";
trace cc1;
trace cc28 cutafter reverse(cc4);
trace cc28 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc29 cutbefore cc5 cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutafter (subpath(3*length cc4/4,length cc4) of cc4);
%trace cc2 cutbefore (subpath(length cc5/2,3*length cc5/4) of cc5) cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc3 cutbefore (subpath(length cc4/4,length cc4/2) of cc4) cutafter (subpath(0,length cc5/2) of cc5);
trace cc6 cutbefore cc8 cutafter cc8;
trace cc7 cutafter (subpath(length cc9/4,length cc9/2) of cc9);
trace cc7 cutbefore (subpath(0,length cc9/4) of cc9);
drawoptions(withcolor violet);
trace coupe8;
trace symetrie(coupe8,O1,O3);
drawoptions(dashed evenly withcolor gris);
trace cc4;
trace cc5;
trace cc10;
drawoptions();
fin;
%7
figure(0,0,10u,9.5u);
trace grille(0.5) withcolor orange;
O11-O1=pp(0,2.5);
O12-O4=pp(0.5,0);
O13=symetrie(O12,O1,O3);
cc11=cercles(O11,1.25u);
cc12=cercles(O12,0.75u);
cc13=cercles(O13,0.75u);
cc21=cercles(O27,3u);
marque_p:="plein";
pointe(O1,O28,O29,O3,O4,O5,O6,O7,O8,O9,O10,O11,O12,O13);
marque_p:="non";
trace cc1;
trace cc28 cutafter reverse(cc4);
trace cc28 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc29 cutbefore cc5 cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutafter (subpath(3*length cc4/4,length cc4) of cc4);
%trace cc2 cutbefore (subpath(length cc5/2,3*length cc5/4) of cc5) cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc3 cutbefore (subpath(length cc4/4,length cc4/2) of cc4) cutafter (subpath(0,length cc5/2) of cc5);
trace cc6 cutbefore cc8 cutafter cc8;
trace cc7 cutafter (subpath(length cc9/4,length cc9/2) of cc9);
trace cc7 cutbefore (subpath(0,length cc9/4) of cc9);
trace coupe8;
trace symetrie(coupe8,O1,O3);
drawoptions(withcolor violet);
trace cc12;
trace cc13;
drawoptions(dashed evenly withcolor gris);
trace cc10;
trace cc11;
trace cc21;
trace cc4;
trace cc5;
drawoptions();
fin;
%8
figure(0,0,10u,9.5u);
trace grille(0.5) withcolor orange;
marque_p:="plein";
pointe(O1,O28,O29,O3,O4,O5,O6,O7,O8,O9,O10,O11,O12,O13);
marque_p:="non";
trace cc1;
trace cc28 cutafter reverse(cc4);
trace cc28 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc29 cutbefore cc5 cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutafter (subpath(3*length cc4/4,length cc4) of cc4);
%trace cc2 cutbefore (subpath(length cc5/2,3*length cc5/4) of cc5) cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc3 cutbefore (subpath(length cc4/4,length cc4/2) of cc4) cutafter (subpath(0,length cc5/2) of cc5);
trace cc6 cutbefore cc8 cutafter cc8;
trace cc7 cutafter (subpath(length cc9/4,length cc9/2) of cc9);
trace cc7 cutbefore (subpath(0,length cc9/4) of cc9);
trace coupe8;
trace symetrie(coupe8,O1,O3);
trace cc12;
trace cc13;
drawoptions(withcolor violet);
trace cc11 cutbefore cc10 cutafter cc10;
drawoptions(dashed evenly withcolor gris);
trace cc10;
trace cc21;
trace cc4;
trace cc5;
drawoptions();
fin;
%9
figure(0,0,10u,9.5u);
trace grille(0.5) withcolor orange;
marque_p:="plein";
pointe(O1,O28,O29,O3,O4,O5,O6,O7,O8,O9,O10,O11,O12,O13);
marque_p:="non";
trace cc1;
trace cc28 cutafter reverse(cc4);
trace cc28 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc29 cutbefore cc5 cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutafter (subpath(3*length cc4/4,length cc4) of cc4);
%trace cc2 cutbefore (subpath(length cc5/2,3*length cc5/4) of cc5) cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc3 cutbefore (subpath(length cc4/4,length cc4/2) of cc4) cutafter (subpath(0,length cc5/2) of cc5);
trace cc6 cutbefore cc8 cutafter cc8;
trace cc7 cutafter (subpath(length cc9/4,length cc9/2) of cc9);
trace cc7 cutbefore (subpath(0,length cc9/4) of cc9);
trace coupe8;
trace symetrie(coupe8,O1,O3);
trace cc12;
trace cc13;
trace cc11 cutbefore cc10 cutafter cc10;
drawoptions(withcolor violet);
trace cc10 cutbefore cc1 cutafter cc1;
drawoptions(dashed evenly withcolor gris);
trace cc21;
trace cc4;
trace cc5;
drawoptions();
fin;
%10
figure(0,0,10u,9.5u);
coupe4=image(
  trace cc4 cutafter (subpath(0.15*length cc21,length cc21/4) of cc21);
  trace cc4 cutbefore (subpath(0,0.15*length cc21) of cc21);
  );
trace grille(0.5) withcolor orange;
marque_p:="plein";
pointe(O1,O28,O29,O3,O4,O5,O6,O7,O8,O9,O10,O11,O12,O13);
marque_p:="non";
trace cc1;
trace cc28 cutafter reverse(cc4);
trace cc28 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc29 cutbefore cc5 cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutafter (subpath(3*length cc4/4,length cc4) of cc4);
%trace cc2 cutbefore (subpath(length cc5/2,3*length cc5/4) of cc5) cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc3 cutbefore (subpath(length cc4/4,length cc4/2) of cc4) cutafter (subpath(0,length cc5/2) of cc5);
trace cc6 cutbefore cc8 cutafter cc8;
trace cc7 cutafter (subpath(length cc9/4,length cc9/2) of cc9);
trace cc7 cutbefore (subpath(0,length cc9/4) of cc9);
trace coupe8;
trace symetrie(coupe8,O1,O3);
trace cc12;
trace cc13;
trace cc11 cutbefore cc10 cutafter cc10;
trace cc10 cutbefore cc1 cutafter cc1;
drawoptions(withcolor violet);
trace coupe4;
trace symetrie(coupe4,O1,O3);
drawoptions(dashed evenly withcolor gris);
trace cc21;
drawoptions();
fin;
%11
figure(0,0,10u,9.5u);
coupe21=image(
  %trace cc21 cutbefore reverse(cc4) cutafter cc4;
  );
trace grille(0.5) withcolor orange;
marque_p:="plein";
pointe(O1,O28,O29,O3,O4,O5,O6,O7,O8,O9,O10,O11,O12,O13);
marque_p:="non";
trace cc1;
trace cc28 cutafter reverse(cc4);
trace cc28 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc29 cutbefore cc5 cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutafter (subpath(3*length cc4/4,length cc4) of cc4);
%trace cc2 cutbefore (subpath(length cc5/2,3*length cc5/4) of cc5) cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc3 cutbefore (subpath(length cc4/4,length cc4/2) of cc4) cutafter (subpath(0,length cc5/2) of cc5);
trace cc6 cutbefore cc8 cutafter cc8;
trace cc7 cutafter (subpath(length cc9/4,length cc9/2) of cc9);
trace cc7 cutbefore (subpath(0,length cc9/4) of cc9);
trace coupe8;
trace symetrie(coupe8,O1,O3);
trace cc12;
trace cc13;
trace cc11 cutbefore cc10 cutafter cc10;
trace cc10 cutbefore cc1 cutafter cc1;
trace coupe4;
trace symetrie(coupe4,O1,O3);
drawoptions(withcolor violet);
trace coupe21;
trace symetrie(coupe21,O1,O3);
drawoptions(dashed evenly withcolor gris);
drawoptions();
fin;
%12
figure(0,0,10u,9.5u);
trace grille(0.5) withcolor orange;
O14-O1=pp(1,1);
O15=symetrie(O14,O1,O3);
O16-O14=pp(0.5,2.5);
O17=symetrie(O16,O1,O3);
cc16=cercles(O16,0.25u);
cc17=cercles(O17,0.25u);
O30=symetrie(cc10 intersectionpoint cc11,O1,O3);
cc14=cercles(O14,O30);
cc15=symetrie(cc14,O1,O3);
marque_p:="plein";
pointe(O1,O28,O29,O3,O4,O5,O6,O7,O8,O9,O10,O11,O12,O13,O14,O15,O16,O17);
marque_p:="non";
trace cc1;
trace cc28 cutafter reverse(cc4);
trace cc28 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc29 cutbefore cc5 cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutafter (subpath(3*length cc4/4,length cc4) of cc4);
%trace cc2 cutbefore (subpath(length cc5/2,3*length cc5/4) of cc5) cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc3 cutbefore (subpath(length cc4/4,length cc4/2) of cc4) cutafter (subpath(0,length cc5/2) of cc5);
trace cc6 cutbefore cc8 cutafter cc8;
trace cc7 cutafter (subpath(length cc9/4,length cc9/2) of cc9);
trace cc7 cutbefore (subpath(0,length cc9/4) of cc9);
trace coupe8;
trace symetrie(coupe8,O1,O3);
trace cc12;
trace cc13;
trace cc11 cutbefore cc10 cutafter cc10;
trace cc10 cutbefore cc1 cutafter cc1;
trace coupe4;
trace symetrie(coupe4,O1,O3);
trace coupe21;
trace symetrie(coupe21,O1,O3);
drawoptions(withcolor violet);
trace cc16;
trace cc17;
drawoptions(dashed evenly withcolor gris);
trace cc14;
trace cc15;
drawoptions();
fin;
%13
figure(0,0,10u,9.5u);
coupe14=image(
  trace cc14 cutbefore segment(O30,O30) cutafter cc15;
  );
trace grille(0.5) withcolor orange;
marque_p:="plein";
pointe(O1,O28,O29,O3,O4,O5,O6,O7,O8,O9,O10,O11,O12,O13,O14,O15,O16,O17);
marque_p:="non";
trace cc1;
trace cc28 cutafter reverse(cc4);
trace cc28 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc29 cutbefore cc5 cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutafter (subpath(3*length cc4/4,length cc4) of cc4);
%trace cc2 cutbefore (subpath(length cc5/2,3*length cc5/4) of cc5) cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc3 cutbefore (subpath(length cc4/4,length cc4/2) of cc4) cutafter (subpath(0,length cc5/2) of cc5);
trace cc6 cutbefore cc8 cutafter cc8;
trace cc7 cutafter (subpath(length cc9/4,length cc9/2) of cc9);
trace cc7 cutbefore (subpath(0,length cc9/4) of cc9);
trace coupe8;
trace symetrie(coupe8,O1,O3);
trace cc12;
trace cc13;
trace cc11 cutbefore cc10 cutafter cc10;
trace cc10 cutbefore cc1 cutafter cc1;
trace coupe4;
trace symetrie(coupe4,O1,O3);
trace coupe21;
trace symetrie(coupe21,O1,O3);
trace cc16;
trace cc17;
drawoptions(withcolor violet);
trace coupe14;
trace symetrie(coupe14,O1,O3);
drawoptions(dashed evenly withcolor gris);
drawoptions();
fin;
%14
figure(0,0,10u,9.5u);
trace grille(0.5) withcolor orange;
O18-O1=pp(4,-2);
O19=symetrie(O18,O1,O3);
O20-O1=pp(0,1.5);
O40=cc10 intersectionpoint cc1;
cc18=cercles(O18,2u);
cc19=cercles(O19,2u);
cc20=cercles(O20,O40);
marque_p:="plein";
pointe(O1,O28,O29,O3,O4,O5,O6,O7,O8,O9,O10,O11,O12,O13,O14,O15,O16,O17,O18,O19,O20);
marque_p:="non";
trace cc1;
trace cc28 cutafter reverse(cc4);
trace cc28 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc29 cutbefore cc5 cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutafter (subpath(3*length cc4/4,length cc4) of cc4);
%trace cc2 cutbefore (subpath(length cc5/2,3*length cc5/4) of cc5) cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc3 cutbefore (subpath(length cc4/4,length cc4/2) of cc4) cutafter (subpath(0,length cc5/2) of cc5);
trace cc6 cutbefore cc8 cutafter cc8;
trace cc7 cutafter (subpath(length cc9/4,length cc9/2) of cc9);
trace cc7 cutbefore (subpath(0,length cc9/4) of cc9);
trace coupe8;
trace symetrie(coupe8,O1,O3);
trace cc12;
trace cc13;
trace cc11 cutbefore cc10 cutafter cc10;
trace cc10 cutbefore cc1 cutafter cc1;
trace coupe4;
trace symetrie(coupe4,O1,O3);
trace coupe21;
trace symetrie(coupe21,O1,O3);
trace cc16;
trace cc17;
trace coupe14;
trace symetrie(coupe14,O1,O3);
drawoptions(withcolor violet);
drawoptions(dashed evenly withcolor gris);
trace cc18;
trace cc19;
%trace cc20;
drawoptions();
fin;
%15
figure(0,0,10u,9.5u);
trace grille(0.5) withcolor orange;
coupe18=image(
  trace cc18 cutbefore reverse(cc15) cutafter cc20;
  );
marque_p:="plein";
pointe(O1,O28,O29,O3,O4,O5,O6,O7,O8,O9,O10,O11,O12,O13,O14,O15,O16,O17,O18,O19,O20);
marque_p:="non";
trace cc1;
trace cc28 cutafter reverse(cc4);
trace cc28 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc29 cutbefore cc5 cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutafter (subpath(3*length cc4/4,length cc4) of cc4);
%trace cc2 cutbefore (subpath(length cc5/2,3*length cc5/4) of cc5) cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc3 cutbefore (subpath(length cc4/4,length cc4/2) of cc4) cutafter (subpath(0,length cc5/2) of cc5);
trace cc6 cutbefore cc8 cutafter cc8;
trace cc7 cutafter (subpath(length cc9/4,length cc9/2) of cc9);
trace cc7 cutbefore (subpath(0,length cc9/4) of cc9);
trace coupe8;
trace symetrie(coupe8,O1,O3);
trace cc12;
trace cc13;
trace cc11 cutbefore cc10 cutafter cc10;
trace cc10 cutbefore cc1 cutafter cc1;
trace coupe4;
trace symetrie(coupe4,O1,O3);
trace coupe21;
trace symetrie(coupe21,O1,O3);
trace cc16;
trace cc17;
trace coupe14;
trace symetrie(coupe14,O1,O3);
drawoptions(withcolor violet);
trace coupe18;
trace symetrie(coupe18,O1,O3);
drawoptions(dashed evenly withcolor gris);
trace cc20;
drawoptions();
fin;
%16
figure(0,0,10u,9.5u);
trace grille(0.5) withcolor orange;
marque_p:="plein";
pointe(O1,O28,O29,O3,O4,O5,O6,O7,O8,O9,O10,O11,O12,O13,O14,O15,O16,O17,O18,O19,O20);
marque_p:="non";
trace cc1;
trace cc28 cutafter reverse(cc4);
trace cc28 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc29 cutbefore cc5 cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutafter (subpath(3*length cc4/4,length cc4) of cc4);
%trace cc2 cutbefore (subpath(length cc5/2,3*length cc5/4) of cc5) cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc3 cutbefore (subpath(length cc4/4,length cc4/2) of cc4) cutafter (subpath(0,length cc5/2) of cc5);
trace cc6 cutbefore cc8 cutafter cc8;
trace cc7 cutafter (subpath(length cc9/4,length cc9/2) of cc9);
trace cc7 cutbefore (subpath(0,length cc9/4) of cc9);
trace coupe8;
trace symetrie(coupe8,O1,O3);
trace cc12;
trace cc13;
trace cc11 cutbefore cc10 cutafter cc10;
trace cc10 cutbefore cc1 cutafter cc1;
trace coupe4;
trace symetrie(coupe4,O1,O3);
trace coupe21;
trace symetrie(coupe21,O1,O3);
trace cc16;
trace cc17;
trace coupe14;
trace symetrie(coupe14,O1,O3);
trace coupe18;
trace symetrie(coupe18,O1,O3);
drawoptions(withcolor violet);
trace cc20 cutbefore cc1 cutafter cc1;
drawoptions();
fin;
%17
figure(0,0,10u,9.5u);
trace grille(0.5) withcolor orange;
trace cc1;
trace cc28 cutafter reverse(cc4);
trace cc28 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc29 cutbefore cc5 cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutafter (subpath(3*length cc4/4,length cc4) of cc4);
%trace cc2 cutbefore (subpath(length cc5/2,3*length cc5/4) of cc5) cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc3 cutbefore (subpath(length cc4/4,length cc4/2) of cc4) cutafter (subpath(0,length cc5/2) of cc5);
trace cc6 cutbefore cc8 cutafter cc8;
trace cc7 cutafter (subpath(length cc9/4,length cc9/2) of cc9);
trace cc7 cutbefore (subpath(0,length cc9/4) of cc9);
trace coupe8;
trace symetrie(coupe8,O1,O3);
trace cc12;
trace cc13;
trace cc11 cutbefore cc10 cutafter cc10;
trace cc10 cutbefore cc1 cutafter cc1;
trace coupe4;
trace symetrie(coupe4,O1,O3);
trace coupe21;
trace symetrie(coupe21,O1,O3);
trace cc16;
trace cc17;
trace coupe14;
trace symetrie(coupe14,O1,O3);
trace coupe18;
trace symetrie(coupe18,O1,O3);
trace cc20 cutbefore cc1 cutafter cc1;
remplis cc12 withcolor (0.2,0.2,0.2);
remplis cc13 withcolor (0.2,0.2,0.2);
fin;
%18
figure(0,0,10u,9.5u);
trace grille(0.5) withcolor orange;
trace cc1;
trace cc28 cutafter reverse(cc4);
trace cc28 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc29 cutbefore cc5 cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutafter (subpath(3*length cc4/4,length cc4) of cc4);
%trace cc2 cutbefore (subpath(length cc5/2,3*length cc5/4) of cc5) cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc3 cutbefore (subpath(length cc4/4,length cc4/2) of cc4) cutafter (subpath(0,length cc5/2) of cc5);
trace cc6 cutbefore cc8 cutafter cc8;
trace cc7 cutafter (subpath(length cc9/4,length cc9/2) of cc9);
trace cc7 cutbefore (subpath(0,length cc9/4) of cc9);
trace coupe8;
trace symetrie(coupe8,O1,O3);
trace cc12;
trace cc13;
trace cc11 cutbefore cc10 cutafter cc10;
trace cc10 cutbefore cc1 cutafter cc1;
trace coupe4;
trace symetrie(coupe4,O1,O3);
trace coupe21;
trace symetrie(coupe21,O1,O3);
trace cc16;
trace cc17;
trace coupe14;
trace symetrie(coupe14,O1,O3);
trace coupe18;
trace symetrie(coupe18,O1,O3);
trace cc20 cutbefore cc1 cutafter cc1;
remplis arccercle(cc21 intersectionpoint reverse(cc4),cc21 intersectionpoint cc4,O4)--(cc21 cutbefore reverse(cc4) cutafter cc4)--cycle;
remplis symetrie(arccercle(cc21 intersectionpoint reverse(cc4),cc21 intersectionpoint cc4,O4)--(cc21 cutbefore reverse(cc4) cutafter cc4)--cycle,O1,O3);
remplis cc12 withcolor (0.2,0.2,0.2);
remplis cc13 withcolor (0.2,0.2,0.2);
fin;
%19
figure(0,0,10u,9.5u);
trace grille(0.5) withcolor orange;
trace cc1;
trace cc28 cutafter reverse(cc4);
trace cc28 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc29 cutbefore cc5 cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutafter (subpath(3*length cc4/4,length cc4) of cc4);
%trace cc2 cutbefore (subpath(length cc5/2,3*length cc5/4) of cc5) cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc3 cutbefore (subpath(length cc4/4,length cc4/2) of cc4) cutafter (subpath(0,length cc5/2) of cc5);
trace cc6 cutbefore cc8 cutafter cc8;
trace cc7 cutafter (subpath(length cc9/4,length cc9/2) of cc9);
trace cc7 cutbefore (subpath(0,length cc9/4) of cc9);
trace coupe8;
trace symetrie(coupe8,O1,O3);
trace cc12;
trace cc13;
trace cc11 cutbefore cc10 cutafter cc10;
trace cc10 cutbefore cc1 cutafter cc1;
trace coupe4;
trace symetrie(coupe4,O1,O3);
trace coupe21;
trace symetrie(coupe21,O1,O3);
trace cc16;
trace cc17;
trace coupe14;
trace symetrie(coupe14,O1,O3);
trace coupe18;
trace symetrie(coupe18,O1,O3);
trace cc20 cutbefore cc1 cutafter cc1;
remplis arccercle(cc21 intersectionpoint reverse(cc4),cc21 intersectionpoint cc4,O4)--(cc21 cutbefore reverse(cc4) cutafter cc4)--cycle;
remplis symetrie(arccercle(cc21 intersectionpoint reverse(cc4),cc21 intersectionpoint cc4,O4)--(cc21 cutbefore reverse(cc4) cutafter cc4)--cycle,O1,O3);
remplis cc12 withcolor (0.2,0.2,0.2);
remplis cc13 withcolor (0.2,0.2,0.2);
remplis reverse(arccercle(O40,symetrie(O40,O1,O3),O20))--arccercle(O40,symetrie(O40,O1,O3),O1)--cycle;
fin;
%20
figure(0,0,10u,9.5u);
trace grille(0.5) withcolor orange;
trace cc1;
trace cc28 cutafter reverse(cc4);
trace cc28 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc29 cutbefore cc5 cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutafter (subpath(3*length cc4/4,length cc4) of cc4);
%trace cc2 cutbefore (subpath(length cc5/2,3*length cc5/4) of cc5) cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
%trace cc2 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc3 cutbefore (subpath(length cc4/4,length cc4/2) of cc4) cutafter (subpath(0,length cc5/2) of cc5);
trace cc6 cutbefore cc8 cutafter cc8;
trace cc7 cutafter (subpath(length cc9/4,length cc9/2) of cc9);
trace cc7 cutbefore (subpath(0,length cc9/4) of cc9);
trace coupe8;
trace symetrie(coupe8,O1,O3);
trace cc12;
trace cc13;
trace cc11 cutbefore cc10 cutafter cc10;
trace cc10 cutbefore cc1 cutafter cc1;
trace coupe4;
trace symetrie(coupe4,O1,O3);
trace coupe21;
trace symetrie(coupe21,O1,O3);
trace cc16;
trace cc17;
trace coupe14;
trace symetrie(coupe14,O1,O3);
trace coupe18;
trace symetrie(coupe18,O1,O3);
trace cc20 cutbefore cc1 cutafter cc1;
remplis arccercle(cc21 intersectionpoint reverse(cc4),cc21 intersectionpoint cc4,O4)--(cc21 cutbefore reverse(cc4) cutafter cc4)--cycle;
remplis symetrie(arccercle(cc21 intersectionpoint reverse(cc4),cc21 intersectionpoint cc4,O4)--(cc21 cutbefore reverse(cc4) cutafter cc4)--cycle,O1,O3);
remplis cc12 withcolor (0.2,0.2,0.2);
remplis cc13 withcolor (0.2,0.2,0.2);
remplis reverse(arccercle(O40,symetrie(O40,O1,O3),O20))--arccercle(O40,symetrie(O40,O1,O3),O1)--cycle;
remplis buildcycle((cc8 cutbefore (subpath(0,length cc1/8) of cc1))--(cc8 cutafter (subpath(0,length cc6/2) of cc6))--(cc6 cutbefore cc8 cutafter cc8)--(cc8 cutbefore (subpath(length cc6/2,3*length cc6/4) of cc6) cutafter (subpath(length cc1/8,length cc1/4) of cc1)),reverse(cc1));
remplis symetrie(buildcycle((cc8 cutbefore (subpath(0,length cc1/8) of cc1))--(cc8 cutafter (subpath(0,length cc6/2) of cc6))--(cc6 cutbefore cc8 cutafter cc8)--(cc8 cutbefore (subpath(length cc6/2,3*length cc6/4) of cc6) cutafter (subpath(length cc1/8,length cc1/4) of cc1)),reverse(cc1)),O1,O3);
remplis cc16 withcolor blanc;
remplis cc17 withcolor blanc;
marque_p:="plein";
pointe(O16,O17);
fin;
%21 et plus
for k=1 upto 5:
  figure(0,0,10u,9.5u);
  trace grille(0.5) withcolor blanc;
  trace cc1;
  trace cc28 cutafter reverse(cc4);
trace cc28 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
trace cc29 cutbefore cc5 cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
  %trace cc2 cutafter (subpath(3*length cc4/4,length cc4) of cc4);
  %trace cc2 cutbefore (subpath(length cc5/2,3*length cc5/4) of cc5) cutafter (subpath(length cc1/2,3*length cc1/4) of cc1);
  %trace cc2 cutbefore (subpath(3*length cc1/4,length cc1) of cc1);
  trace cc3 cutbefore (subpath(length cc4/4,length cc4/2) of cc4) cutafter (subpath(0,length cc5/2) of cc5);
  trace cc6 cutbefore cc8 cutafter cc8;
  trace cc7 cutafter (subpath(length cc9/4,length cc9/2) of cc9);
  trace cc7 cutbefore (subpath(0,length cc9/4) of cc9);
  trace coupe8;
  trace symetrie(coupe8,O1,O3);
  trace cc12;
  trace cc13;
  trace cc11 cutbefore cc10 cutafter cc10;
  trace cc10 cutbefore cc1 cutafter cc1;
  trace coupe4;
  trace symetrie(coupe4,O1,O3);
  trace coupe21;
  trace symetrie(coupe21,O1,O3);
  trace cc16;
  trace cc17;
  trace coupe14;
  trace symetrie(coupe14,O1,O3);
  trace coupe18;
  trace symetrie(coupe18,O1,O3);
  trace cc20 cutbefore cc1 cutafter cc1;
  remplis arccercle(cc21 intersectionpoint reverse(cc4),cc21 intersectionpoint cc4,O4)--(cc21 cutbefore reverse(cc4) cutafter cc4)--cycle;
  remplis symetrie(arccercle(cc21 intersectionpoint reverse(cc4),cc21 intersectionpoint cc4,O4)--(cc21 cutbefore reverse(cc4) cutafter cc4)--cycle,O1,O3);
  remplis cc12 withcolor (0.2,0.2,0.2);
  remplis cc13 withcolor (0.2,0.2,0.2);
  remplis reverse(arccercle(O40,symetrie(O40,O1,O3),O20))--arccercle(O40,symetrie(O40,O1,O3),O1)--cycle;
  remplis buildcycle((cc8 cutbefore (subpath(0,length cc1/8) of cc1))--(cc8 cutafter (subpath(0,length cc6/2) of cc6))--(cc6 cutbefore cc8 cutafter cc8)--(cc8 cutbefore (subpath(length cc6/2,3*length cc6/4) of cc6) cutafter (subpath(length cc1/8,length cc1/4) of cc1)),reverse(cc1));
  remplis symetrie(buildcycle((cc8 cutbefore (subpath(0,length cc1/8) of cc1))--(cc8 cutafter (subpath(0,length cc6/2) of cc6))--(cc6 cutbefore cc8 cutafter cc8)--(cc8 cutbefore (subpath(length cc6/2,3*length cc6/4) of cc6) cutafter (subpath(length cc1/8,length cc1/4) of cc1)),reverse(cc1)),O1,O3);
  remplis cc16 withcolor blanc;
  remplis cc17 withcolor blanc;
  marque_p:="plein";
  pointe(O16,O17);
  fin;
endfor;
end