summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/metapost/featpost/example/planpln2.mp
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/metapost/featpost/example/planpln2.mp')
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/planpln2.mp278
1 files changed, 278 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/planpln2.mp b/Master/texmf-dist/doc/metapost/featpost/example/planpln2.mp
new file mode 100644
index 00000000000..54c0982aa3e
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/planpln2.mp
@@ -0,0 +1,278 @@
+% planplntwo.mp
+% L. Nobre G.
+% 2006
+
+input featpost3Dplus2D;
+
+% Only planifications
+
+% truefyepsmode;
+
+% filenametemplate "%j%3c.ps";
+
+beginfig(2); % plnnonrec
+ numeric ares, dstr, diag;
+ ares := arestaref;
+ dstr = 2/sqrt(3);
+ diag = dstr*ares;
+ z0 = diag*right/2;
+ z1 = diag*left/2;
+ z2 = radialcross( z0, ares, z1, ares, true);
+ z3 = radialcross( z0, ares, z1, ares, false);
+ z4 = radialcross( z0, diag, z2, ares, true);
+ z5 = radialcross( z0, ares, z4, ares, false);
+ z6 = radialcross( z4, diag, z5, ares, true);
+ z7 = radialcross( z4, ares, z6, ares, true);
+ z8 = radialcross( z6, diag, z7, ares, true);
+ z9 = radialcross( z6, ares, z8, ares, false);
+ z10 = radialcross( z1, diag, z2, ares, true);
+ z11 = 2*z10-z0;
+ z12 = z11 + z1 - z2;
+ z13 = z11 + z1 - z10;
+ pickup grossa;
+ draw z11--z12--z13;
+ picture sline;
+ sline = currentpicture;
+ currentpicture := nullpicture;
+ draw z10--z2--z4--z7--z8--z9--z6--z5--z0;
+ pickup usual;
+ draw z1--z2;
+ draw z0--z2;
+ draw z4--z5;
+ draw z6--z7;
+ picture stile, btile;
+ stile = currentpicture;
+ draw stile rotated 180;
+ btile = currentpicture;
+ draw btile shifted (z10-z0);
+ draw btile shifted (z0-z10);
+ draw sline;
+ draw sline rotated 180;
+ terminar( 1, 90-angle(z7-z10) );
+endfig;
+
+beginfig(3); % plntp
+ numeric are[], i, degre;
+ are0 = arestaref;
+ are1 = sqrt(2)*are0;
+ are2 = sqrt(3)*are0;
+ are3 = sqrt(3)*are0/2;
+ degre = angle( (are1,are0) );
+ for i = 0 upto 2:
+ z[i*12+1] = origin + are1*dir(0+i*120);
+ z[i*12+2] = z[i*12+1] + are1*dir(120+i*120);
+ z[i*12+3] = z[i*12+2] + are1*dir(180+i*120);
+ z[i*12+4] = z[i*12+1] + are0*dir(75+i*120);
+ z[i*12+5] = z[i*12+2] + are1*dir(45+i*120);
+ z[i*12+6] = z[i*12+2] + are0*dir(90+i*120);
+ z[i*12+8] = z[i*12+3] + are0*dir(90+i*120);
+ z[i*12+9] = z[i*12+8] + are0*dir(180+i*120);
+ z[i*12+7] = z[i*12+6] + are3*dir(180-degre+i*120);
+ z[i*12+10] = z[i*12+6] + are1*dir(180-2*degre+i*120);
+ z[i*12+11] = z[i*12+6] + are0*dir(90-2*degre+i*120);
+ z[i*12+12] = z[i*12+10] + are0*dir(90-2*degre+i*120);
+ pickup grossa;
+ draw z[i*12+1]--z[i*12+4]--z[i*12+2]--z[i*12+5]--z[i*12+6]--
+ z[i*12+11]--z[i*12+12]--z[i*12+10]--z[i*12+7]--
+ z[i*12+8]--z[i*12+9]--z[i*12+3];
+ pickup usual;
+ draw z[i*12+1]--z[i*12+2]--z[i*12+6]--z[i*12+7];
+ draw z[i*12+2]--z[i*12+3]--z[i*12+8];
+ endfor;
+ path small, big;
+ small = z1--z2--z4--cycle;
+ big = z14--z15--z20--z19--z18--cycle;
+ fill small withcolor 0.5white;
+ fill big withcolor 0.5white;
+ pickup grossa;
+ draw small;
+ draw big;
+ desvec(0.5*z14);
+ terminar( 1, 90-angle(z12-z33) );
+endfig;
+
+beginfig(4); % pln4pt
+ numeric are;
+ are = arestaref;
+ z14= origin;
+ z0 = z14+ are*down/2;
+ z1 = z0 + are*right;
+ z2 = z1 + are*dir(-120);
+ z3 = z2 + are*right;
+ z4 = z3 + are*dir(-60);
+ z5 = z4 + are*dir(30);
+ z6 = z5 + are*dir(120);
+ z7 = z6 + are*dir(120);
+ z8 = z7 + are*right;
+ z9 = z8 + are*dir(120);
+ z10= z9 + are*dir(150);
+ z11=z10 + are*dir(-120);
+ z12=z11 + are*dir(120);
+ z13=z12 + are*dir(-120);
+ pickup grossa;
+ draw z0--z2--z3--z4--z5--z6--z8--z9--z10--z12--z13;
+ pickup fina;
+ draw z1--z2;
+ draw z8--z7;
+ draw z12--z11;
+ pickup usual;
+ draw z14--z0--z1--z3--z6--z7--z11--z10;
+ draw z13--z11--z1--z7--z9;
+ draw currentpicture rotated 180;
+ terminar( 1.5, 90 );
+endfig;
+
+beginfig(5); % plnperovs
+ numeric are[];
+ are1 = arestaref;
+ are2 = 2*are1;
+ z0 = origin;
+ z1 = z0 + are1*left/2;
+ z2 = z1 + are1*left;
+ z3 = z2 + are1*dir(60);
+ z4 = z3 + are2*dir(120);
+ z5 = z4 + are2*dir(-120);
+ z6 = z5 + are1*dir(-60);
+ z7 = z6 + are1*left;
+ z8 = z7 + are1*dir(-60);
+ z9 = z8 + are2*dir(-60);
+ z10= z9 + are2*dir(60);
+ z11=z10 + are2*right;
+ z12=z11 + are2*dir(-120);
+ pickup grossa;
+ draw z3--z4--z7--z9--z10--z12--z11;
+ pickup fina;
+ draw z6--z7;
+ draw z1--z2;
+ pickup usual;
+ draw z0--z1--z3--z2--z10--z1;
+ draw z11--z8--z6--z2;
+ draw z3--z5--z6;
+ draw currentpicture rotated 180;
+ terminar( 1.25, 90 );
+endfig;
+
+beginfig(6); % plnquim
+ numeric are[];
+ are0 = arestaref;
+ are1 = sqrt(2)*are0;
+ are3 = 2*are0;
+ z0 = origin;
+ z1 = z0 + are1*left/2+are0*up;
+ z2 = z1 + are0*down;
+ z3 = z0 + are1*right/2+are0*down;
+ z4 = z2 + are3*down;
+ z5 = z3 + 2*are1*left;
+ z6 = 2*z5 - z4;
+ z7 = z6 + are0*up;
+ z8 = z5 + are0*up;
+ z9 = z8 + are3*up;
+ pickup grossa;
+ draw z3--z4--z6--z7--z9--z1;
+ pickup fina;
+ draw z2--z4;
+ draw z8--z9;
+ pickup usual;
+ draw z3--z2--z5--z8;
+ draw z7--z8--z1--z2;
+ draw currentpicture rotated 180;
+ terminar( 1.34, 90-angle(z3-z2) );
+endfig;
+
+beginfig(7); % pln2tri
+ numeric are[];
+ are0 = arestaref;
+ are1 = sqrt(3)*are0;
+ are2 = 2*are0;
+ z0 = origin;
+ z1 = z0 + are2*dir(150);
+ z2 = z1 + are0*dir(30);
+ z3 = z2 + are2*dir(90);
+ z4 = z3 + are0*dir(-150);
+ z5 = z4 + are1*dir(-120);
+ z6 = z5 + are2*dir(-150);
+ z7 = z6 + are0*dir(-30);
+ z8 = z7 + are1*dir(0);
+ z9 = z8 + are0*dir(-150);
+ z10= z9 + are2*dir(-30);
+ z11= z10+ are0*dir(30);
+ z12= z11+ are2*dir(-90);
+ z13= z12+ are0*dir(-30);
+ z14= z13+ are2*dir(90);
+ z15= z14+ are1*dir(60);
+ z16= z15+ are0*dir(90);
+ pickup grossa;
+ draw z0--z2--z3--z4--z5--z6--z7--z8--z9--z10--z12--z13--
+ z14--z15--z16--cycle;
+ pickup fina;
+ draw z1--z0;
+ draw z1--z4;
+ draw z1--z7;
+ draw z11--z8;
+ draw z11--z12;
+ draw z11--z15;
+ pickup usual;
+ draw z12--z14--z11--z10--z8--z1--z5--z7;
+ draw z11--z0--z15;
+ draw z1--z2--z4;
+ draw z0--z8;
+% dotlabels.ulft( 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 );
+ desvia( 0,1,2,3,4,5,9,10,12,13,14,15,16 );
+ terminar( 1.34, 90-angle(z6-z12) );
+endfig;
+
+beginfig(8); % plntwist
+ pair px[]y[], startpos;
+ numeric aresta, i, j;
+ aresta = arestaref;
+ startpos = aresta*(2.5*dir(-120)+dir(-60));
+ for i=0 upto 4:
+ for j=0 upto 4-i:
+ px[i]y[j] := startpos+aresta*(i*dir(60)+j*dir(120));
+ endfor;
+ endfor;
+ pickup grossa;
+ draw px2y1--px2y2--px0y4--px0y1--px1y0--px3y0;
+ pickup fina;
+ draw px0y1--px1y1;
+ draw px0y2--px1y2;
+ pickup usual;
+ draw px1y0--px1y1--px0y2;
+ draw origin--px2y1;
+ draw px2y0--px1y1--px1y2--px0y3--px1y3--px1y2--px2y1--cycle;
+ draw currentpicture rotated 180;
+ terminar( 1.8, 90-angle(px0y1-px2y0) );
+endfig;
+
+beginfig(9); % plnrect
+ pair px[]y[], startpos;
+ numeric aresta, i, j;
+ aresta = arestaref;
+ startpos = origin;
+ for i=0 upto 5:
+ for j=0 upto 5:
+ px[i]y[j] := startpos+aresta*(i*right+j*up);
+ endfor;
+ endfor;
+ pickup grossa;
+ draw px2y1--px2y0--px4y0--px4y2--px3y2;
+ draw px4y2--px4y3--px5y3--px5y5--px3y5--px3y4--px2y4--px2y3;
+ draw px2y4--px0y4--px0y2--px1y2;
+ draw px0y2--px0y0--px2y0;
+ pickup fina;
+ draw px2y0--px0y2--px2y4--px4y2--cycle;
+ draw px0y0--px5y5;
+ draw px4y0--px0y4;
+ draw px5y3--px3y5;
+ pickup usual;
+ draw px1y2--px3y2;
+ draw px2y3--px2y1;
+ draw px1y0--px1y4;
+ draw px0y1--px4y1;
+ draw px3y0--px3y4--px5y4;
+ draw px0y3--px4y3--px4y5;
+ desvec( px2y2+aresta*unitvector(px5y3-px4y0)/2 );
+ terminar( 1.34, 90-angle(px5y3-px4y0) );
+endfig;
+
+end;