diff options
Diffstat (limited to 'Master/texmf-dist/doc/metapost/featpost/example/planpln2.mp')
-rw-r--r-- | Master/texmf-dist/doc/metapost/featpost/example/planpln2.mp | 278 |
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; |