我正在尝试使用 PSTricks 绘制一个简单的圆柱体,类似于所附的圆柱体。有没有更智能的方法可以做到这一点,还是我只需要手动绘制每条线?如果没有其他方法,那么对我来说太麻烦和耗时了。
答案1
您可以\psCylinder
使用pst-3dplot
;文档中的一些示例:
\documentclass{article}
\usepackage{pst-3dplot}
\begin{document}
\begin{pspicture}(-3,-2)(3,7)
\psset{Beta=10}
\pstThreeDCoor[zMax=7]
\psCylinder[increment=5]{2}{5}
\end{pspicture}
\begin{pspicture}(-4.5,-1.5)(3,6.8)
\psset{Beta=10}
\pstThreeDCoor[zMax=4]
\pstIIIDCylinder[fillcolor=blue!20,
RotX=45](1,1,0){2}{5}
\end{pspicture}
\end{document}
答案2
你可以通过以下方式实现此目的asymptote
:
\documentclass[12pt]{article}
\usepackage{asymptote}
\begin{document}
\begin{figure}
\begin{asy}
settings.outformat="pdf";
settings.render=0;
settings.prc=false;
import solids;
size(200,200);
currentprojection=orthographic(0,2,0);
revolution r=cylinder(O,1,4,(1,0.5,0));
draw(r);
\end{asy}
\end{figure}
\end{document}
答案3
您有psCylinder
来自pst-3dplot
包的命令。您给出中心的坐标和基圆的半径、圆柱的高度和视角。这将产生平行投影。请参阅文档的第 14-15 节。
对于中心投影,您有pst-solides3d
包和psSolid
命令;您指定要绘制的对象的类型(对象=cylindr,其参数(对于圆柱体 r=... 和 h =...)。
答案4
pst-solides3d
action=draw
允许您使用键值绘制隐藏线:
\documentclass{article}
\usepackage{pst-solides3d}% http://ctan.org/pkg/pst-solides3d
\begin{document}
\psset{unit=0.5}
\psset{lightsrc=viewpoint,viewpoint=50 60 25 rtp2xyz,Decran=50}
\begin{pspicture}(-2,-3)(6,6)
\psSolid[object=cylindre,h=6,r=2,RotY=90,action=draw](0,4,0)
\psSolid[object=cylindre,h=6,r=2,RotX=-30,action=draw](0,10,0)
\end{pspicture}
\end{document}