1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
% Figures 8-9 from _MetaPlot, MetaContour, and Other Collaborations
% with METAPOST_, preprint version, given at the Practical TeX 2004
% conference.
prologues:=0;
input metaplot % MetaPlot macros
% mc2.mp is produced by the very pre-release version of metacontour
% that should be included with this file; the program consists of
% the files metacontour.cc, metacontour.h, cpoint.cc, cpoint.h,
% and metacontour_main.cc. There is no input file; the data to
% be plotted is generated within the program.
%
% Note that the resulting file is not in true "plot object" form;
% we need to manually clip it and define the plot scale here.
% This will, of course, be fixed in later versions of metacontour.
input mc2
clip contplotA.LinePlot to (0,0)--(0,1)--(1,1)--(1,0)--cycle;
clip contplotA.FillPlot to (0,0)--(0,1)--(1,1)--(1,0)--cycle;
clip contplotA.Grid to (0,0)--(0,1)--(1,1)--(1,0)--cycle;
contplotA.xleft = -1.0;
contplotA.xright = 1.0;
contplotA.ybot = -1.0;
contplotA.ytop = 1.0;
% Define pens, for convenience.
pen thickline; thickline := pencircle scaled 2pt;
pen thinline; thinline := pencircle scaled 1pt;
pen hairline; hairline := pencircle scaled 0.25pt;
% Figure 8: Sample graph created by MetaContour and MetaPlot,
% showing potential lines for a combination of a linear gradient
% and a point source, plotted on a polar grid.
plot_instantiate(cplotA, contplotA);
cplotA.pagewidth = 2.25in;
plot_setequalaxes(cplotA);
cplotA.llft = (0,0);
beginfig(8);
draw cplotA.plot(LinePlot) withpen thinline;
draw cplotA.plot(Grid) withpen hairline;
linejoin:=mitered;
draw cplotA.llft--cplotA.lrt--cplotA.urt--cplotA.ulft--cycle withpen thickline;
draw plot_xtickscale(cplotA)(
cplotA.llft, cplotA.lrt,
0.08in, 0.06in, down, 0.0, 0.5, "%3f")
withpen thinline;
draw plot_xtickscale(cplotA)(
cplotA.llft, cplotA.lrt,
0.05in, 0.06in, down, 0.0, 0.1, "")
withpen thinline;
draw plot_ytickscale(cplotA)(
cplotA.llft, cplotA.ulft,
0.08in, 0.06in, left, 0.0, 0.5, "%3f")
withpen thinline;
draw plot_ytickscale(cplotA)(
cplotA.llft, cplotA.ulft,
0.05in, 0.06in, left, 0.0, 0.1, "")
withpen thinline;
endfig;
% Figure 9: Another sample graph created by MetaContour and MetaPlot,
% illustrating a filled contour-plot style rather than using contour
% lines.
beginfig(9);
draw cplotA.plot(FillPlot);
draw cplotA.plot(Grid) withpen hairline;
linejoin:=mitered;
draw cplotA.llft--cplotA.lrt--cplotA.urt--cplotA.ulft--cycle withpen thickline;
draw plot_xtickscale(cplotA)(
cplotA.llft, cplotA.lrt,
0.08in, 0.06in, down, 0.0, 0.5, "%3f")
withpen thinline;
draw plot_xtickscale(cplotA)(
cplotA.llft, cplotA.lrt,
0.05in, 0.06in, down, 0.0, 0.1, "")
withpen thinline;
draw plot_ytickscale(cplotA)(
cplotA.llft, cplotA.ulft,
0.08in, 0.06in, left, 0.0, 0.5, "%3f")
withpen thinline;
draw plot_ytickscale(cplotA)(
cplotA.llft, cplotA.ulft,
0.05in, 0.06in, left, 0.0, 0.1, "")
withpen thinline;
endfig;
end
|