MetaPost image of a disc, with dimensions and axes specified. Embedded in a TeX document, viewed with gv, rasterized via screenshot, saved as PNG with The Gimp, and compressed with optipng.
u=18mm;
textscale=u/12mm;
% this MetaPost script generates a PostScript file, which is then included in a
% TeX document. if you want to generate EPS from this, you'll have to uncomment
% the following line. (and probably do a couple more things, to boot.)
%prologues := 1;
def disc =
begingroup;
save pmax,persp,persp_nt,tens,arr;
save rarrlft,rarrrt;
save p;
save axisprotrusion;
save xax,yax,zax;
pmax = 0;
persp_nt = 0.3;
tens = 2-persp_nt;
persp = persp_nt*u;
arr = 0.3u; % how far to offset the arrows from the diagram
axisprotrusion = 1u; % how far do the axes protrude?
pair rarrlft,rarrrt; % endpoints for arrows
path p[]; % just plain paths for now
pair xax[],yax[],zax[]; % x,y,z are taken; these are for the axes
% solid paths
p0 = fullcircle scaled u xscaled 2 yscaled 2persp_nt;
% endpoints of dimension arrows
rarrlft = (0,0);
rarrrt = (1u,0);
% actually draw
pickup pencircle scaled 1pt;
for i=0 upto pmax:
draw p[i];
endfor;
drawdblarrow (rarrlft..rarrrt);
label.top(btex $r$ etex scaled textscale,.5[rarrlft,rarrrt]);
% x axis
xax1 = (1u,0);
xax2 = (1u+axisprotrusion*0.5,0);
drawarrow (xax1..xax2);
label.rt(btex $x$ etex scaled textscale,xax2);
% y axis
yax0 = (0,0);
yax1 = point 5 of p0;
yax2 = (.6+axisprotrusion/u)[yax0,yax1];
drawarrow (yax1..yax2);
draw yax0..yax1 dashed evenly;
label.ulft(btex $y$ etex scaled textscale,yax2);
% z axis
zax0 = (0,0);
zax1 = (0,axisprotrusion);
drawarrow (zax0..zax1);
label.top(btex $z$ etex scaled textscale,zax1);
endgroup;
enddef;
beginfig(1)
disc;
endfig;
(Note that this source code doesn't fill the circle, and draws the x and y axes the wrong way round. The code provided with the SVG version of this image corrects these problems.)
== Summary == {{Information |Description=MetaPost image of a disc, with dimensions and axes specified. Embedded in a TeX document, viewed with gv, rasterized via screenshot, saved as PNG with The Gimp, and compressed with [