diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/metaplot/examples/figures_2-7.mp')
-rw-r--r-- | Master/texmf-dist/doc/latex/metaplot/examples/figures_2-7.mp | 233 |
1 files changed, 233 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/metaplot/examples/figures_2-7.mp b/Master/texmf-dist/doc/latex/metaplot/examples/figures_2-7.mp new file mode 100644 index 00000000000..cc2e8be970e --- /dev/null +++ b/Master/texmf-dist/doc/latex/metaplot/examples/figures_2-7.mp @@ -0,0 +1,233 @@ +% Figures 2-7 from _MetaPlot, MetaContour, and Other Collaborations +% with METAPOST_, preprint version, given at the Practical TeX 2004 +% conference. + +prologues:=0; +input metaplot % MetaPlot macros + +% capillary.mp and capillary2.mp are both produced as output of the +% program capillary.cc. The relevant parameters in the program +% (lines 29-30) are: +% +% For capillary.mp: +% double theta = pi/4.0; +% double d = 1.0; +% +% For capillary2.mp: +% double theta = pi/6.0; +% double d = 1.0; + +input capillary % capillary plot object +input capillary2 % capillaryb plot object + + +% Figure 2: The capillary surface, in its unadorned form as plot +% object elements scaled to 2.0in by 0.75in. + +plot_instantiate(plotA, capillary) +plotA.pageleft = 0.0; +plotA.pagebottom = 0.0; +plotA.pagewidth = 2.0in; +plotA.pageheight = 0.75in; + +beginfig(2) + draw plotA.plot(fplot) withcolor 0.85white; + draw plotA.plot(lplot) withpen pencircle scaled 1pt; +endfig; + + +% Figure 3: The capillary surface, with equal y and z scales, a page +% height of 0.75in, and appropriate annotations. + +plot_instantiate(plotB, capillary) +plotB.pageleft = 0.0; +plotB.pagebottom = 0.0; +plotB.pageheight = 0.75in; +plot_setequalaxes(plotB); + +beginfig(3) + draw plotB.plot(fplot) withcolor 0.85white; + linecap := butt; + pickup pencircle scaled 1pt; + % z-axis (vertical) + z1 = (plotB.pageleft, plotB.pagebottom); + z2 = (plotB.pageleft, plotB.pagetop + 0.1in); + % y-axis (horizontal) + z3 = (plotB.pageleft, plot_ypageloc(plotB,0.0)); + z4 = (plotB.pageright + 0.1in, + plot_ypageloc(plotB,0.0)); + drawarrow z1 -- z2; + label.top(btex $z$ etex, z2); + drawarrow z3 -- z4; + label.rt(btex $y$ etex, z4); + pickup pencircle scaled 0.25pt; + % Label for contact angle + z5 = plotB.plot(contactpoint); + z6 = z5 + 0.24in + * dir(-90 + capillary.contactangle); + z7 = z5 + 0.18in + * dir(-90 + 0.5*capillary.contactangle); + draw z5 -- z6; + label(btex $\theta$ etex, z7); +endfig; + + +% Figure 4: The capillary surface with parameters and page height as +% in Figure 3, but with $\theta = \pi/6$. + +plot_instantiate(plotC, capillaryb) +plotC.pageleft = 0.0; +plotC.pagebottom = 0.0; +plotC.pageheight = 0.75in; +plot_setequalaxes(plotC); + +beginfig(4) + draw plotC.plot(fplot) withcolor 0.85white; + linecap := butt; + pickup pencircle scaled 1pt; + % z-axis (vertical) + z1 = (plotC.pageleft, plotC.pagebottom); + z2 = (plotC.pageleft, plotC.pagetop + 0.1in); + % y-axis (horizontal) + z3 = (plotC.pageleft, plot_ypageloc(plotC,0.0)); + z4 = (plotC.pageright + 0.1in, + plot_ypageloc(plotC,0.0)); + drawarrow z1 -- z2; + label.top(btex $z$ etex, z2); + drawarrow z3 -- z4; + label.rt(btex $y$ etex, z4); + pickup pencircle scaled 0.25pt; + % Label for contact angle + z5 = plotC.plot(contactpoint); + z6 = z5 + 0.24in + * dir(-90 + capillaryb.contactangle); + z7 = z5 + 0.18in + * dir(-90 + 0.5*capillaryb.contactangle); + draw z5 -- z6; + label(btex $\theta$ etex, z7); +endfig; + + +% Figure 5: Two capillary surfaces, as in Figure 3 and Figure 4, showing +% the difference in the curves as a result of varying $\theta$. + +plot_instantiate(plotD, capillary) +plotD.pageleft = 0.0; +plotD.pagebottom = 0.0; +plotD.pageheight = 0.75in; +plot_setequalaxes(plotD); + +plot_instantiate(plotE, capillaryb) +plot_zpageloc(plotD, 0.0, 0.0) + = plot_zpageloc(plotE, 0.0, 0.0); +plot_zpageloc(plotD, 1.0, 1.0) + = plot_zpageloc(plotE, 1.0, 1.0); + +beginfig(5) + linecap := butt; + pickup pencircle scaled 1pt; + draw plotD.plot(fplot) withcolor 0.85white; + draw plotE.plot(lplot) dashed evenly + withpen pencircle scaled 0.5pt; + % z-axis (vertical) + z1 = (plotD.pageleft, plotD.pagebottom); + x2 = plotD.pageleft; + y2 = max(plotD.pagetop, plotE.pagetop) + 0.1in; + % y-axis (horizontal) + z3 = (plotD.pageleft, plot_ypageloc(plotD,0.0)); + x4 = max(plotD.pageright, plotE.pageright) + 0.1in; + y4 = plot_ypageloc(plotD,0.0); + drawarrow z1 -- z2; + label.top(btex $z$ etex, z2); + drawarrow z3 -- z4; + label.rt(btex $y$ etex, z4); +endfig; +end + + +% Figure 6: A repeat of Figure 5, with simple grid labels added. + +beginfig(6) + linecap := butt; + pickup pencircle scaled 1pt; + draw plotD.plot(fplot) withcolor 0.85white; + draw plotE.plot(lplot) dashed evenly + withpen pencircle scaled 0.5pt; + % z-axis (vertical) + z1 = (plotD.pageleft, plotD.pagebottom); + x2 = plotD.pageleft; + y2 = max(plotD.pagetop, plotE.pagetop) + 0.1in; + % y-axis (horizontal) + z3 = (plotD.pageleft, plot_ypageloc(plotD,0.0)); + x4 = max(plotD.pageright, plotE.pageright) + 0.1in; + y4 = plot_ypageloc(plotD,0.0); + drawarrow z1 -- z2; + label.top(btex $z$ etex, z2); + drawarrow z3 -- z4; + label.rt(btex $y$ etex, z4); + x5 = plotD.pageleft; + x6 = x4; + y5 = y6 = plotD.pagebottom; + draw plot_xtickscale(plotD)( + z5, z6, 0.08in, 0.06in, down, + 0.0, 1.0, "%3f") + withpen pencircle scaled 0.5pt; + y7 = plotD.pagebottom; + y8 = y2; + x7 = x8 = plotD.pageleft; + draw plot_ytickscale(plotD)( + z7, z8, 0.08in, 0.06in, left, + 0.0, 0.5, "%3f") + withpen pencircle scaled 0.5pt; +endfig; + + +% Figure 7: A repeat of Figure 5 again, with more advanced grid labels. + +beginfig(7) + linecap := butt; + pickup pencircle scaled 1pt; + draw plotD.plot(fplot) withcolor 0.85white; + draw plotE.plot(lplot) dashed evenly + withpen pencircle scaled 0.5pt; + % z-axis (vertical) + z1 = (plotD.pageleft, plotD.pagebottom); + x2 = plotD.pageleft; + y2 = max(plotD.pagetop, plotE.pagetop) + 0.1in; + % y-axis (horizontal) + z3 = (plotD.pageleft, plot_ypageloc(plotD,0.0)); + x4 = max(plotD.pageright, plotE.pageright) + 0.1in; + y4 = plot_ypageloc(plotD,0.0); + drawarrow z1 -- z2; + label.top(btex $z$ etex, z2); + drawarrow z3 -- z4; + label.rt(btex $y$ etex, z4); + x5 = plotD.pageleft; + x6 = x4 - 0.1in; + y5 = y6 = plotD.pagebottom - 0.06in; + draw plot_xtickscale(plotD)( + z5, z6, 0.08in, 0.06in, down, + 0.5, 1.0, "%3f") + withpen pencircle scaled 0.5pt; + draw plot_xtickscale(plotD)( + z5, z6, 0.08in, 0.06in, down, + 0.0, 1.0, "") + withpen pencircle scaled 0.5pt; + draw plot_xtickscale(plotD)( + z5, z6, 0.04in, 0.06in, down, + 0.0, 0.1, "") + withpen pencircle scaled 0.5pt; + y7 = y4; + y8 = y2 - 0.1in; + x7 = x8 = plotD.pageleft - 0.06in; + draw plot_ytickscale(plotD)( + z7, z8, 0.08in, 0.06in, left, + 0.0, 0.5, "%3f") + withpen pencircle scaled 0.5pt; + draw plot_ytickscale(plotD)( + z7, z8, 0.04in, 0.06in, left, + 0.0, 0.1, "") + withpen pencircle scaled 0.5pt; +endfig; + +end |