![在 PSTricks 中绘制二次曲面](https://linux22.com/image/470600/%E5%9C%A8%20PSTricks%20%E4%B8%AD%E7%BB%98%E5%88%B6%E4%BA%8C%E6%AC%A1%E6%9B%B2%E9%9D%A2.png)
我正在尝试制作遵循以下插图的二次曲面图托马斯微积分书。其中一个例子就是椭圆体如下所示:
我目前的工作如下:
\documentclass[10pt,a4paper]{report}
\usepackage[width=8.29in, height=11.64in, left=0.5in, right=0.5in, top=0.5in, bottom=0.5in]{geometry}
\usepackage{pstricks, pstricks-add, pst-3dplot}
\begin{document}
\psset{unit=1}
\begin{pspicture*}(-5,-5)(5,6.5)
\pstThreeDCoor[linecolor=black,linewidth=1pt,IIIDxTicksPlane=xz, IIIDyTicksPlane=yz,spotX=180,xMin=-4,xMax=5,yMin=-2.25,yMax=4,zMin=-5,zMax=5,nameX=$x$, nameY=$y$, nameZ=$z$, labels=none]
\parametricplotThreeD[xPlotpoints=200, linecolor=blue, linewidth=1pt, plotstyle=curve, algebraic](0,TwoPi){1*cos(t) | 2*sin(t) | 0} % trace on xy- plane
\parametricplotThreeD[xPlotpoints=200, linecolor=red, linewidth=1pt, plotstyle=curve, algebraic](0,TwoPi){1*cos(t) | 0 | 3*sin(t)} % trace on xz-plane
\parametricplotThreeD[xPlotpoints=200, linecolor=red, linewidth=1pt, plotstyle=curve, algebraic](0,TwoPi){0 | 2*cos(t) | 3*sin(t)} % trace on the yz-plane
\end{pspicture*}
\end{document}
上述代码产生以下结果:
我不知道如何制作如上图所示的实际椭圆体(即蓝色椭圆体)。我使用技巧因为我的其他一些作品也使用 PSTricks 编码。我可以使用 PSTricks 模仿或复制上面的插图吗?
先感谢您。
答案1
这是一个pst-solides3d
更有意义的启动器:
\documentclass{article}
\usepackage{pst-solides3d,pst-plot}
\definecolor{coquille}{rgb}{0.984 0.95 0.718}
\begin{document}
\begin{pspicture}(-3,-3)(3,4)
\psset{viewpoint=20 20 5, Decran=40,lightsrc=viewpoint,action=draw*}
\psSolid[object=ellipsoid,a=2,b=2,c=4,
ngrid=54 24,base=0 360 -90 90,fillcolor=coquille,linewidth=0.01,
intersectiontype =0,
intersectionplan={[0 0 1 -1] [0 0 1 1] [2 0 1 1]},
intersectionlinewidth=2 2 2,
intersectioncolor=(blue) (red) (green)]
\axesIIID(2,2,4)(4,4,5)
\end{pspicture}
\end{document}
但是您需要该软件包的最新版本,您可以在这里或明天在您的系统上通过 CTAN 进行更新: https://hvoss.org/~voss/pst-solides3d.zip
运行速度lulalatex
比 慢xelatex
。3d 对象的计算量很大。
draw
与绘制选项和垂直线相同:
\begin{pspicture}(-3,-3)(3,4)
\psset{viewpoint=20 20 5, Decran=40,lightsrc=viewpoint,action=draw}
\psSolid[object=ellipsoid,a=2,b=2,c=4,opacity=0.5,
ngrid=54 24,base=0 360 -90 90,fillcolor=coquille,linewidth=0.001,
linecolor=black!15,
intersectiontype =0,
intersectionplan={[0 0 1 -1] [0 0 1 1] [-1 2 0 0]},
intersectionlinewidth=2 2 2,
intersectioncolor=(blue) (red) (green)]
\axesIIID(2,2,4)(4,4,5)
\end{pspicture}