diff options
author | Karl Berry <karl@freefriends.org> | 2017-04-15 22:58:09 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-04-15 22:58:09 +0000 |
commit | 3921a22f73049427dc715ed4969798cd28ba9142 (patch) | |
tree | b5273766880f5bc2a7a8347881b84a7f461654a0 /Master/texmf-dist/metapost | |
parent | e8cf4d89e5185eaca7e9130ee6f1610541d480c5 (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.mp | 323 |
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 |