summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/metapost
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-04-15 22:58:09 +0000
committerKarl Berry <karl@freefriends.org>2017-04-15 22:58:09 +0000
commit3921a22f73049427dc715ed4969798cd28ba9142 (patch)
treeb5273766880f5bc2a7a8347881b84a7f461654a0 /Master/texmf-dist/metapost
parente8cf4d89e5185eaca7e9130ee6f1610541d480c5 (diff)
fetamont (15apr17)
git-svn-id: svn://tug.org/texlive/trunk@43812 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/metapost')
-rw-r--r--Master/texmf-dist/metapost/fetamont/ffmconstructions.mp323
1 files changed, 323 insertions, 0 deletions
diff --git a/Master/texmf-dist/metapost/fetamont/ffmconstructions.mp b/Master/texmf-dist/metapost/fetamont/ffmconstructions.mp
new file mode 100644
index 00000000000..734eb25e485
--- /dev/null
+++ b/Master/texmf-dist/metapost/fetamont/ffmconstructions.mp
@@ -0,0 +1,323 @@
+% !TEX program = mpost
+input TEX;
+TEXPRE("%&latex" & char(10) & "\documentclass{article}\begin{document}");
+TEXPOST("\end{document}");
+outputtemplate := "%j-%c.mps";
+
+%an arc is kind of a quarter of a skewed superellipse
+vardef arc(expr zi,diri,zj,dirj) =
+ zi{diri}...
+ begingroup
+ save corner,zij;
+ pair corner,zij;
+ corner=zi+whatever*diri=zj+whatever*dirj;
+ zij=zi
+ +superness*(corner-zi)
+ +(1-superness)*(zj-corner);
+ zij
+ endgroup{zj-zi}
+ ...zj{dirj}
+enddef;
+
+%two concatenated arcs
+def half(expr zi,diri,zj,dirj,zk,dirk) =
+ arc(zi,diri,zj,dirj)
+ & arc(zj,dirj,zk,dirk)
+enddef;
+
+%two concatenated halfs
+def full(expr zi,diri,zj,dirj,zk,dirk,zl,dirl) =
+ half(zi,diri,zj,dirj,zk,dirk)
+ & half(zk,dirk,zl,dirl,zi,diri)
+enddef;
+
+%----------------------------------------------------------
+beginfig(0);
+u:=1cm;
+numeric superness;
+pair zi,zj,zij,diri, dirj,corner,center;
+superness=.75;
+zi=(0,0);
+zj=(5u,4u);
+diri=(.1u,1u);
+dirj=(.7u,.05u);
+corner=zi+whatever*diri=zj+whatever*dirj;
+center=zi+whatever*dirj=zj+whatever*diri;
+z1=.5[center,zj];
+z2=.5[zj,corner];
+z3=.5[corner,zi];
+z4=.5[zi,center];
+pickup pencircle scaled 2.5bp;
+draw full(z1,diri,z2,-dirj,z3,-diri,z4,dirj) withcolor .8white;
+draw arc(z3,diri,z2,dirj) withcolor .6white;
+pickup pencircle scaled .5bp
+draw zi--center--zj--corner--cycle;
+label.lrt(TEX("arc"), (z3+superness*(corner-z3)+(1-superness)*(z2-corner)));
+label.bot(TEX("skewed superellipse"), z4);
+endfig;
+%----------------------------------------------------------
+beginfig(1);
+u:=1cm;
+superness:=.75;
+pair zi,zj,zij,diri, dirj, corner, center;
+zi=(0,0);
+zj=(5u,4u);
+diri=(.1u,1u);
+dirj=(.7u,.05u);
+corner=zi+whatever*diri=zj+whatever*dirj;
+center=zi+whatever*dirj=zj+whatever*diri;
+zij=superness[center,corner];
+z1=zi+whatever*diri=zij+whatever*(zj-zi);
+z2=zj+whatever*dirj=zij+whatever*(zj-zi);
+pickup pencircle scaled 5bp
+draw zi{diri}
+ ...(zi
+ +superness*(corner-zi)
+ -(1-superness)*(corner-zj))
+ {zj-zi}
+ ...zj{dirj}
+ withcolor .8white;
+pickup pencircle scaled .5bp
+draw zi -- zj;
+draw zi -- center -- zj -- corner -- cycle;
+draw center -- corner;
+drawarrow zi -- (zi+diri);
+drawarrow zj -- (zj+dirj);
+drawarrow zi -- (zi+(1-superness)*(zj-corner));
+drawarrow (zi+(1-superness)*(zj-corner)) -- zij;
+draw z1 -- z2;
+label.bot(TEX("$z_i$"), zi);
+label.top(TEX("$z_j$"), zj);
+label.lft(TEX("$\mathrm{corner}$"), corner);
+label.rt(TEX("$\mathrm{center}$"), center);
+label.lft(TEX("$\mathrm{dir}_i$"), (zi+diri));
+label.bot(TEX("$\mathrm{dir}_j$"), (zj+dirj));
+label.top(TEX("$z_{ij}$"), zij);
+label.lrt(TEX("$(1-\mathrm{superness})\cdot(z_j-\mathrm{corner})$"), (zi+.5*(1-superness)*(zj-corner)));
+label.rt(TEX("$\mathrm{superness}\cdot(\mathrm{corner}-z_i)$"), .6[(zi+(1-superness)*(zj-corner)),zij]);
+endfig;
+%----------------------------------------------------------
+beginfig(2);
+u:=.5cm;
+noise:=0;
+h:=6u;
+barheight:=.45h;
+superness:=.8;
+w:=20/3*u;
+leftstemloc:=10/9*u;
+o:=u/9;
+px:=2/3*u;
+py:=.9px;
+pair randrt;
+randrt:=(1,0);
+pickup pencircle xscaled px yscaled py;
+x1=leftstemloc+noise;
+x2=leftstemloc+noise;
+x3=.5w+noise;
+w-x4=leftstemloc+noise;
+w-x5=leftstemloc+noise;
+bot y1=noise-o;
+y2=barheight+noise;
+top y3=h+o; %no noise because of Aring
+y4=barheight+noise;
+bot y5=noise-o;
+bot y6=0; %no noise
+z6=whatever[z4,z5];
+draw z1--z2
+ & half(z2,z2-z1,z3,randrt,z4,z5-z4)
+ & z4--z5
+ withcolor .8white;
+draw z2--z4 withcolor .8white;
+pickup pencircle scaled .5bp
+draw (0,0) -- (w,0) -- (w,h) -- (0,h) -- cycle;
+dotlabel.top(TEX("anchor top (base)"), (.5w,h));
+endfig;
+%----------------------------------------------------------
+beginfig(3);
+u:=.5cm;
+noise:=0;
+h:=6.5u;
+x_ht:=4.5u;
+barheight:=.45h;
+superness:=.8;
+w:=28/9*u;
+leftstemloc:=10/9*u;
+o:=u/9;
+px:=2/3*u;
+py:=.9px;
+pair randrt;
+randrt:=(1,0);
+pickup pencircle xscaled px yscaled py;
+lft x1=noise;
+x2=.5w+noise;
+rt x3=w+noise;
+bot y1=.2[x_ht,h]+noise;
+bot y3=.2[x_ht,h]+noise;
+top y2=h+o+noise;
+draw z1--z2--z3 withcolor .8white;
+pickup pencircle scaled .5bp
+draw (0,0) -- (w,0) -- (w,h) -- (0,h) -- cycle;
+dotlabel.bot(TEX("anchor top (accent)"), (.5w,x_ht));
+endfig;
+%----------------------------------------------------------
+beginfig(4);
+u:=.5cm;
+noise:=0;
+h:=6u;
+x_ht:=4.5u;
+barheight:=.45h;
+superness:=.8;
+w:=20/3*u;
+leftstemloc:=10/9*u;
+o:=u/9;
+px:=2/3*u;
+py:=.9px;
+pair randrt;
+randrt:=(1,0);
+pickup pencircle xscaled px yscaled py;
+x1=leftstemloc+noise;
+x2=leftstemloc+noise;
+x3=.5w+noise;
+w-x4=leftstemloc+noise;
+w-x5=leftstemloc+noise;
+bot y1=noise-o;
+y2=barheight+noise;
+top y3=h+o; %no noise because of Aring
+y4=barheight+noise;
+bot y5=noise-o;
+bot y6=0; %no noise
+z6=whatever[z4,z5];
+draw z1--z2
+ & half(z2,z2-z1,z3,randrt,z4,z5-z4)
+ & z4--z5
+ withcolor .8white;
+draw z2--z4 withcolor .8white;
+pickup pencircle scaled .5bp
+draw (0,0) -- (w,0) -- (w,h) -- (0,h) -- cycle;
+z0=(.5w,h);
+dotlabel.top(TEX(""), z0);
+h:=6.5u;
+w:=28/9*u;
+pickup pencircle xscaled px yscaled py;
+lft x11=noise;
+x12=.5w+noise;
+rt x13=w+noise;
+bot y11=.2[x_ht,h]+noise;
+bot y13=.2[x_ht,h]+noise;
+top y12=h+o+noise;
+z10=(.5w,x_ht);
+draw (z11--z12--z13) shifted (z0-z10) withcolor .8white;
+pickup pencircle scaled .5bp
+draw ((0,0) -- (w,0) -- (w,h) -- (0,h) -- cycle) shifted (z0-z10);
+endfig;
+%----------------------------------------------------------
+beginfig(5);
+u:=.25cm;
+noise:=0;
+h:=6u;
+barheight:=.45h;
+superness:=.8;
+w:=20/3*u;
+leftstemloc:=10/9*u;
+o:=u/9;
+px:=2/3*u;
+py:=.9px;
+pair randrt;
+randrt:=(1,0);
+xgap:=.1h;
+ygap:=(h/13.5u)*xgap;
+pickup pencircle xscaled px yscaled py;
+x1=leftstemloc+noise;
+x2=leftstemloc+noise;
+x4=w-leftstemloc+noise;
+x5=w-leftstemloc+noise;
+bot y1=noise-o;
+top y2=h+o+noise;
+y3=y4+ygap+noise;
+bot y4=noise-o;
+top y5=h+o+noise;
+z3=whatever[z4,z5];
+draw z1--z2--z3 withcolor .8white;
+draw z4--z5 withcolor .8white;
+pickup pencircle scaled .5bp
+draw (0,0) -- (w,0) -- (w,h) -- (0,h) -- cycle;
+pickup pencircle xscaled px yscaled py;
+draw (z1--z2--z3) shifted (w,0) withcolor .8white;
+draw (z4--z5) shifted (w,0) withcolor .8white;
+pickup pencircle scaled .5bp;
+draw ((0,0) -- (w,0) -- (w,h) -- (0,h) -- cycle) shifted (w,0);
+endfig;
+%----------------------------------------------------------
+beginfig(6);
+u:=.25cm;
+noise:=0;
+h:=6u;
+barheight:=.45h;
+superness:=.8;
+w:=20/3*u;
+leftstemloc:=10/9*u;
+o:=u/9;
+px:=2/3*u;
+py:=.9px;
+xgap:=.1h;
+ygap:=(h/13.5u)*xgap;
+slant:=.25;
+pair randrt;
+randrt:=(1,0);
+pickup pencircle xscaled px yscaled py;
+x1=leftstemloc+noise;
+x2=leftstemloc+noise;
+x4=w-leftstemloc+noise;
+x5=w-leftstemloc+noise;
+bot y1=noise-o;
+top y2=h+o+noise;
+y3=y4+ygap+noise;
+bot y4=noise-o;
+top y5=h+o+noise;
+z3=whatever[z4,z5];
+draw (z1--z2--z3) slanted slant withcolor .8white;
+draw (z4--z5) slanted slant withcolor .8white;
+draw (z1--z2--z3) shifted (w,0) withcolor .8white;
+draw (z4--z5) shifted (w,0) withcolor .8white;
+pickup pencircle scaled .5bp;
+draw ((0,0) -- (w,0) -- (w,h) -- (0,h) -- cycle) slanted slant;
+draw ((0,0) -- (w,0) -- (w,h) -- (0,h) -- cycle) shifted (w,0);
+endfig;
+%----------------------------------------------------------
+beginfig(7);
+u:=.25cm;
+noise:=0;
+h:=6u;
+barheight:=.45h;
+superness:=.8;
+w:=20/3*u;
+leftstemloc:=10/9*u;
+o:=u/9;
+px:=2/3*u;
+py:=.9px;
+xgap:=.1h;
+ygap:=(h/13.5u)*xgap;
+slant:=.25;
+pair randrt;
+randrt:=(1,0);
+pickup pencircle xscaled px yscaled py;
+x1=leftstemloc+noise;
+x2=leftstemloc+noise;
+x4=w-leftstemloc+noise;
+x5=w-leftstemloc+noise;
+bot y1=noise-o;
+top y2=h+o+noise;
+y3=y4+ygap+noise;
+bot y4=noise-o;
+top y5=h+o+noise;
+z3=whatever[z4,z5];
+draw (z1--z2--z3) slanted slant shifted (-h*slant,0) withcolor .8white;
+draw (z4--z5) slanted slant shifted (-h*slant,0) withcolor .8white;
+draw (z1--z2--z3) shifted (w,0) withcolor .8white;
+draw (z4--z5) shifted (w,0) withcolor .8white;
+pickup pencircle scaled .5bp;
+draw ((0,0) -- (w,0) -- (w,h) -- (0,h) -- cycle) slanted slant shifted (-h*slant,0);
+draw ((0,0) -- (w,0) -- (w,h) -- (0,h) -- cycle) shifted (w,0);
+endfig;
+%----------------------------------------------------------
+bye