摘要
MetaPost source of the image follows.
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 cylinder =
begingroup;
save pmax,dmax,persp,persp_nt,arr;
save harrtop,harrbot,rarrlft,rarrrt;
save p,d;
save axisprotrusion;
save xax,yax,zax;
pmax = 3; dmax = 0;
persp_nt = 0.3;
persp = persp_nt*u;
arr = 0.2u; % how far to offset the arrows from the diagram
axisprotrusion = 1u; % how far do the axes protrude?
pair harrtop,harrbot,rarrlft,rarrrt; % endpoints for arrows
path p[],d[]; % original, dotted
pair xax[],yax[],zax[]; % x,y,z are taken; these are for the axes
% solid paths
p0 = (-1u,-1u)--(-1u,1u);
p1 = (1u,-1u)--(1u,1u);
p2 = fullcircle scaled u xscaled 2 yscaled (2*persp_nt) shifted (0,1u);
p3 = halfcircle scaled u xscaled 2 yscaled (2*persp_nt) rotated 180 shifted (0,-1u);
% dashed paths
d0 = halfcircle scaled u xscaled 2 yscaled (2*persp_nt) shifted (0,-1u);
% endpoints of dimension arrows
harrtop = (-1u-arr,1u);
harrbot = (-1u-arr,-1u);
rarrlft = (0,1u);
rarrrt = (1u,1u);
% actually draw
pickup pencircle scaled 1pt;
for i=0 upto pmax:
draw p[i];
endfor;
for i=0 upto dmax:
draw d[i] dashed evenly;
endfor;
drawdblarrow (harrtop..harrbot);
drawdblarrow (rarrlft..rarrrt);
label.lft(btex $h$ etex scaled textscale,.5[harrtop,harrbot]);
label.top(btex $r$ etex scaled textscale,.5[rarrlft,rarrrt]);
% x axis
xax0 = (0,0);
xax1 = (1u,0);
xax2 = (1u+axisprotrusion*0.5,0);
drawarrow (xax1..xax2);
draw xax0..xax1 dashed evenly;
label.rt(btex $x$ etex scaled textscale,xax2);
% y axis
yax0 = (0,0);
yax1 = point 1.5 of p3 shifted (0,1u);
yax2 = (1.+axisprotrusion/u)[yax0,yax1];
drawarrow (yax1..yax2);
draw yax0..yax1 dashed evenly;
label.top(btex $y$ etex scaled textscale,yax2);
% z axis
zax0 = (0,0);
zax1 = (0,1u);
zax2 = (0,1u+axisprotrusion);
drawarrow (zax1..zax2);
draw zax0..zax1 dashed evenly;
label.top(btex $z$ etex scaled textscale,zax2);
endgroup;
enddef;
beginfig(1)
cylinder;
endfig;
授權條款
|
此檔案採用創用CC 姓名標示-相同方式分享 3.0 未在地化版本授權條款。 受免責聲明的約束。
|
|
|
- 您可以自由:
- 分享 – 複製、發佈和傳播本作品
- 重新修改 – 創作演繹作品
- 惟需遵照下列條件:
- 姓名標示 – 您必須指名出正確的製作者,和提供授權條款的連結,以及表示是否有對內容上做出變更。您可以用任何合理的方式來行動,但不得以任何方式表明授權條款是對您許可或是由您所使用。
- 相同方式分享 – 若要根據本素材進行再混合、轉換或創作,則必須以與原作相同或相容的授權來發布您的作品。
|
已新增授權條款標題至此檔案,作為GFDL授權更新的一部份。http://creativecommons.org/licenses/by-sa/3.0/CC BY-SA 3.0Creative Commons Attribution-Share Alike 3.0truetrue
|
|
已授權您依據自由軟體基金會發行的無固定段落、封面文字和封底文字GNU自由文件授權條款1.2版或任意後續版本,對本檔進行複製、傳播和/或修改。該協議的副本列在GNU自由文件授權條款中。 受免責聲明的約束。http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue
|