summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/profcollege/metapost/PfCMosaique.mp
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/profcollege/metapost/PfCMosaique.mp')
-rw-r--r--macros/latex/contrib/profcollege/metapost/PfCMosaique.mp446
1 files changed, 446 insertions, 0 deletions
diff --git a/macros/latex/contrib/profcollege/metapost/PfCMosaique.mp b/macros/latex/contrib/profcollege/metapost/PfCMosaique.mp
new file mode 100644
index 0000000000..a776732aa6
--- /dev/null
+++ b/macros/latex/contrib/profcollege/metapost/PfCMosaique.mp
@@ -0,0 +1,446 @@
+%Premier ensemble de mosaique
+pair A[],O;
+path Bc[];
+picture MosaiqueUn[];
+
+for k=1 upto 8:
+ A1=u*(0,0);
+ A3-A1=u*(1,0);
+ A2=iso(A1,A3);
+ A5=rotation(A1,A3,-90);
+ A4=iso(A3,A5);
+ A7-A5=A1-A3;
+ A6=iso(A5,A7);
+ A8=iso(A7,A1);
+ O=iso(A1,A5);
+endfor;
+
+A9=A1;
+
+for k=1 upto 8:
+ Bc[k]=polygone(A[k],A[k+1],O);
+endfor;
+
+MosaiqueUn[0]=image(
+ drawoptions(withcolor gris);
+ for j=1 upto 4:
+ trace segment(A[j],A[j+4]);
+ endfor;
+ drawoptions();
+ trace polygone(A1,A3,A5,A7) withcolor 0.5white;
+ );
+
+for l=1 upto 8:
+ MosaiqueUn[l]=image(
+ remplis Bc[l];
+ drawoptions(withcolor gris);
+ for j=1 upto 4:
+ trace segment(A[j],A[j+4]);
+ endfor;
+ drawoptions();
+ trace polygone(A1,A3,A5,A7) withcolor 0.5white;
+ );
+endfor;
+
+p:=8;
+
+for l=1 upto 7:
+ for k=l+1 upto 8:
+ p:=p+1;
+ MosaiqueUn[p]=image(
+ remplis Bc[l] withcolor noir;
+ remplis Bc[k] withcolor noir;
+ drawoptions(withcolor gris);
+ for j=1 upto 4:
+ trace segment(A[j],A[j+4]);
+ endfor;
+ drawoptions();
+ trace polygone(A1,A3,A5,A7) withcolor 0.5white;
+ );
+ endfor;
+endfor;
+
+for l=1 upto 6:
+ for k=l+1 upto 7:
+ for m=k+1 upto 8:
+ p:=p+1;
+ MosaiqueUn[p]=image(
+ remplis Bc[l] withcolor noir;
+ remplis Bc[k] withcolor noir;
+ remplis Bc[m] withcolor noir;
+ drawoptions(withcolor gris);
+ for j=1 upto 4:
+ trace segment(A[j],A[j+4]);
+ endfor;
+ drawoptions();
+ trace polygone(A1,A3,A5,A7) withcolor 0.5white;
+ );
+ endfor;
+ endfor;
+endfor;
+
+for l=1 upto 5:
+ for k=l+1 upto 6:
+ for m=k+1 upto 7:
+ for n=m+1 upto 8:
+ p:=p+1;
+ MosaiqueUn[p]=image(
+ remplis Bc[l] withcolor noir;
+ remplis Bc[k] withcolor noir;
+ remplis Bc[m] withcolor noir;
+ remplis Bc[n] withcolor noir;
+ drawoptions(withcolor gris);
+ for j=1 upto 4:
+ trace segment(A[j],A[j+4]);
+ endfor;
+ drawoptions();
+ trace polygone(A1,A3,A5,A7) withcolor 0.5white;
+ );
+ endfor;
+ endfor;
+ endfor;
+endfor;
+
+for l=1 upto 4:
+ for k=l+1 upto 5:
+ for m=k+1 upto 6:
+ for n=m+1 upto 7:
+ for o=n+1 upto 8:
+ p:=p+1;
+ MosaiqueUn[p]=image(
+ remplis Bc[l] withcolor noir;
+ remplis Bc[k] withcolor noir;
+ remplis Bc[m] withcolor noir;
+ remplis Bc[n] withcolor noir;
+ remplis Bc[o] withcolor noir;
+ drawoptions(withcolor gris);
+ for j=1 upto 4:
+ trace segment(A[j],A[j+4]);
+ endfor;
+ drawoptions();
+ trace polygone(A1,A3,A5,A7) withcolor 0.5white;
+ );
+ endfor;
+ endfor;
+ endfor;
+ endfor;
+endfor;
+
+for l=1 upto 3:
+ for k=l+1 upto 4:
+ for m=k+1 upto 5:
+ for n=m+1 upto 6:
+ for o=n+1 upto 7:
+ for r=o+1 upto 8:
+ p:=p+1;
+ MosaiqueUn[p]=image(
+ remplis Bc[l] withcolor noir;
+ remplis Bc[k] withcolor noir;
+ remplis Bc[m] withcolor noir;
+ remplis Bc[n] withcolor noir;
+ remplis Bc[o] withcolor noir;
+ remplis Bc[r] withcolor noir;
+ drawoptions(withcolor gris);
+ for j=1 upto 4:
+ trace segment(A[j],A[j+4]);
+ endfor;
+ drawoptions();
+ trace polygone(A1,A3,A5,A7) withcolor 0.5white;
+ );
+ endfor;
+ endfor;
+ endfor;
+ endfor;
+ endfor;
+endfor;
+
+for l=1 upto 2:
+ for k=l+1 upto 3:
+ for m=k+1 upto 4:
+ for n=m+1 upto 5:
+ for o=n+1 upto 6:
+ for r=o+1 upto 7:
+ for s=r+1 upto 8:
+ p:=p+1;
+ MosaiqueUn[p]=image(
+ remplis Bc[l] withcolor noir;
+ remplis Bc[k] withcolor noir;
+ remplis Bc[m] withcolor noir;
+ remplis Bc[n] withcolor noir;
+ remplis Bc[o] withcolor noir;
+ remplis Bc[r] withcolor noir;
+ remplis Bc[s] withcolor noir;
+ drawoptions(withcolor gris);
+ for j=1 upto 4:
+ trace segment(A[j],A[j+4]);
+ endfor;
+ drawoptions();
+ trace polygone(A1,A3,A5,A7) withcolor 0.5white;
+ );
+ endfor;
+ endfor;
+ endfor;
+ endfor;
+ endfor;
+ endfor;
+endfor;
+
+for l=1 upto 1:
+ for k=l+1 upto 2:
+ for m=k+1 upto 3:
+ for n=m+1 upto 4:
+ for o=n+1 upto 5:
+ for r=o+1 upto 6:
+ for s=r+1 upto 7:
+ for t=s+1 upto 8:
+ p:=p+1;
+ MosaiqueUn[p]=image(
+ remplis Bc[l] withcolor noir;
+ remplis Bc[k] withcolor noir;
+ remplis Bc[m] withcolor noir;
+ remplis Bc[n] withcolor noir;
+ remplis Bc[o] withcolor noir;
+ remplis Bc[r] withcolor noir;
+ remplis Bc[s] withcolor noir;
+ remplis Bc[t] withcolor noir;
+ drawoptions(withcolor gris);
+ for j=1 upto 4:
+ trace segment(A[j],A[j+4]);
+ endfor;
+ drawoptions();
+ trace polygone(A1,A3,A5,A7) withcolor 0.5white;
+ );
+ endfor;
+ endfor;
+ endfor;
+ endfor;
+ endfor;
+ endfor;
+ endfor;
+endfor;
+
+% Deuxième jeu de mosaique
+pair A[],O;
+path Bc[];
+picture MosaiqueDeux[];
+
+for k=1 upto 8:
+ A1=u*(0,0);
+ A3-A1=u*(1,0);
+ A2=iso(A1,A3);
+ A5=rotation(A1,A3,-90);
+ A4=iso(A3,A5);
+ A7-A5=A1-A3;
+ A6=iso(A5,A7);
+ A8=iso(A7,A1);
+ O=iso(A1,A5);
+endfor;
+
+A9=A1;
+
+Bc[1]=polygone(A[1],A[2],A[8]);
+Bc[2]=polygone(A[8],A[2],O);
+Bc[3]=polygone(A[4],A[2],O);
+Bc[4]=polygone(A[3],A[2],A[4]);
+Bc[5]=polygone(A[5],A[4],A[6]);
+Bc[6]=polygone(A[4],A[6],O);
+Bc[7]=polygone(A[6],A[8],O);
+Bc[8]=polygone(A[6],A[7],A[8]);
+
+MosaiqueDeux[0]=image(
+ drawoptions(withcolor gris);
+ trace polygone(A2,A4,A6,A8);
+ trace segment(A8,A4);
+ trace segment(A6,A2);
+ drawoptions();
+ trace polygone(A1,A3,A5,A7) withcolor 0.5white;
+ );
+
+for l=1 upto 8:
+ MosaiqueDeux[l]=image(
+ remplis Bc[l];
+ drawoptions(withcolor gris);
+ trace polygone(A2,A4,A6,A8);
+ trace segment(A8,A4);
+ trace segment(A6,A2);
+ drawoptions();
+ trace polygone(A1,A3,A5,A7) withcolor 0.5white;
+ );
+endfor;
+
+p:=8;
+
+for l=1 upto 7:
+ for k=l+1 upto 8:
+ p:=p+1;
+ MosaiqueDeux[p]=image(
+ remplis Bc[l] withcolor noir;
+ remplis Bc[k] withcolor noir;
+ drawoptions(withcolor gris);
+ trace polygone(A2,A4,A6,A8);
+ trace segment(A8,A4);
+ trace segment(A6,A2);
+ drawoptions();
+ trace polygone(A1,A3,A5,A7) withcolor 0.5white;
+ );
+ endfor;
+endfor;
+
+for l=1 upto 6:
+ for k=l+1 upto 7:
+ for m=k+1 upto 8:
+ p:=p+1;
+ MosaiqueDeux[p]=image(
+ remplis Bc[l] withcolor noir;
+ remplis Bc[k] withcolor noir;
+ remplis Bc[m] withcolor noir;
+ drawoptions(withcolor gris);
+ trace polygone(A2,A4,A6,A8);
+ trace segment(A8,A4);
+ trace segment(A6,A2);
+ drawoptions();
+ trace polygone(A1,A3,A5,A7) withcolor 0.5white;
+ );
+ endfor;
+ endfor;
+endfor;
+
+for l=1 upto 5:
+ for k=l+1 upto 6:
+ for m=k+1 upto 7:
+ for n=m+1 upto 8:
+ p:=p+1;
+ MosaiqueDeux[p]=image(
+ remplis Bc[l] withcolor noir;
+ remplis Bc[k] withcolor noir;
+ remplis Bc[m] withcolor noir;
+ remplis Bc[n] withcolor noir;
+ drawoptions(withcolor gris);
+trace polygone(A2,A4,A6,A8);
+ trace segment(A8,A4);
+ trace segment(A6,A2);
+ drawoptions();
+ trace polygone(A1,A3,A5,A7) withcolor 0.5white;
+ );
+ endfor;
+ endfor;
+ endfor;
+endfor;
+
+for l=1 upto 4:
+ for k=l+1 upto 5:
+ for m=k+1 upto 6:
+ for n=m+1 upto 7:
+ for o=n+1 upto 8:
+ p:=p+1;
+ MosaiqueDeux[p]=image(
+ remplis Bc[l] withcolor noir;
+ remplis Bc[k] withcolor noir;
+ remplis Bc[m] withcolor noir;
+ remplis Bc[n] withcolor noir;
+ remplis Bc[o] withcolor noir;
+ drawoptions(withcolor gris);
+trace polygone(A2,A4,A6,A8);
+ trace segment(A8,A4);
+ trace segment(A6,A2);
+ drawoptions();
+ trace polygone(A1,A3,A5,A7) withcolor 0.5white;
+ );
+ endfor;
+ endfor;
+ endfor;
+ endfor;
+endfor;
+
+for l=1 upto 3:
+ for k=l+1 upto 4:
+ for m=k+1 upto 5:
+ for n=m+1 upto 6:
+ for o=n+1 upto 7:
+ for r=o+1 upto 8:
+ p:=p+1;
+ MosaiqueDeux[p]=image(
+ remplis Bc[l] withcolor noir;
+ remplis Bc[k] withcolor noir;
+ remplis Bc[m] withcolor noir;
+ remplis Bc[n] withcolor noir;
+ remplis Bc[o] withcolor noir;
+ remplis Bc[r] withcolor noir;
+ drawoptions(withcolor gris);
+trace polygone(A2,A4,A6,A8);
+ trace segment(A8,A4);
+ trace segment(A6,A2);
+ drawoptions();
+ trace polygone(A1,A3,A5,A7) withcolor 0.5white;
+ );
+ endfor;
+ endfor;
+ endfor;
+ endfor;
+ endfor;
+endfor;
+
+for l=1 upto 2:
+ for k=l+1 upto 3:
+ for m=k+1 upto 4:
+ for n=m+1 upto 5:
+ for o=n+1 upto 6:
+ for r=o+1 upto 7:
+ for s=r+1 upto 8:
+ p:=p+1;
+ MosaiqueDeux[p]=image(
+ remplis Bc[l] withcolor noir;
+ remplis Bc[k] withcolor noir;
+ remplis Bc[m] withcolor noir;
+ remplis Bc[n] withcolor noir;
+ remplis Bc[o] withcolor noir;
+ remplis Bc[r] withcolor noir;
+ remplis Bc[s] withcolor noir;
+ drawoptions(withcolor gris);
+trace polygone(A2,A4,A6,A8);
+ trace segment(A8,A4);
+ trace segment(A6,A2);
+ drawoptions();
+ trace polygone(A1,A3,A5,A7) withcolor 0.5white;
+ );
+ endfor;
+ endfor;
+ endfor;
+ endfor;
+ endfor;
+ endfor;
+endfor;
+
+for l=1 upto 1:
+ for k=l+1 upto 2:
+ for m=k+1 upto 3:
+ for n=m+1 upto 4:
+ for o=n+1 upto 5:
+ for r=o+1 upto 6:
+ for s=r+1 upto 7:
+ for t=s+1 upto 8:
+ p:=p+1;
+ MosaiqueDeux[p]=image(
+ remplis Bc[l] withcolor noir;
+ remplis Bc[k] withcolor noir;
+ remplis Bc[m] withcolor noir;
+ remplis Bc[n] withcolor noir;
+ remplis Bc[o] withcolor noir;
+ remplis Bc[r] withcolor noir;
+ remplis Bc[s] withcolor noir;
+ remplis Bc[t] withcolor noir;
+ drawoptions(withcolor gris);
+ trace polygone(A2,A4,A6,A8);
+ trace segment(A8,A4);
+ trace segment(A6,A2);
+ drawoptions();
+ trace polygone(A1,A3,A5,A7) withcolor 0.5white;
+ );
+ endfor;
+ endfor;
+ endfor;
+ endfor;
+ endfor;
+ endfor;
+ endfor;
+endfor;