我正在做一个简单的项目,为微积分课程创建一些数学表面和形状的 3D 表示。我创建的大部分图片都严重依赖于pst-3dplot
。当我发现 pst-solides3d 具有某些对后续章节有用的功能时,我将其包含在序言中以开始使用它。
我第一个惊讶的是发现包的顺序确实对输出有影响,特别是对用pst-3dplot
(图似乎失去了规模并散布到各处)创建的任何东西。
我的第二个惊讶是,尝试重新创建文档中的示例 我发现了这个问题。solides3d
会产生不规则的结果(据我所知,线条颜色错误,尺寸不正常)。
更新
如果有人需要知道,不规则的尺寸是由于Decran
可选参数是派拉蒙调整图像的大小。颜色差异一定是示例中的拼写错误或我自己的错。无论如何,它已修复
- 我想知道是否还有其他人遇到过这些问题。
- 有地方记录这些副作用吗?
- pst-solides3d 是否引入了导致 pst-3dplot 混乱的默认配置?
- 如果是的话,有什么方法可以补偿这种配置吗?
- 我应该使用特殊包来控制单位和长度吗?
更新:一个工作示例
这是从另一个问题中回收的,但它仍然有效,并且仍然展示了这两个包的奇怪行为
\documentclass[11pt]{book}
% the order of these 2 packages produces strange results
\usepackage{pst-solides3d}
\usepackage{pst-3dplot}
\begin{document}
\begin{pspicture}(-2,-1)(3,3)
\psset{Beta=15}
\pstThreeDCoor[
Beta=15,
nameX=$X$,xMin=-1.7,xMax=1.7,
nameY=$Y$,yMin=-1.7,yMax=1.7,
nameZ=$Z$,zMin=-0.5,zMax=2.4,
linecolor=lightgray,linewidth=1.3pt,arrowscale=2.0
]
%--------------BACKGROUND--------------
\psset{linecolor=lightgray,linewidth=0.7pt,yPlotpoints=1}
%horizontals
\parametricplotThreeD[yPlotpoints=2](0,360){t cos 1.5 mul t sin 1.5 mul 2.25}
%verticals
\parametricplotThreeD(0,1.55){-39 cos t mul -39 sin t mul t t mul}
\parametricplotThreeD(0,1.55){129 cos t mul 129 sin t mul t t mul}
%--------------FOREGROUND--------------
\psset{linecolor=black,linewidth=1.0pt}
%curvas coordenadas
\parametricplotThreeD(-45,135){t cos 1.2 mul t sin 1.2 mul 1.44}
\parametricplotThreeD( 0,1.60){80 cos t mul 80 sin t mul t t mul}
%punto P
\pstThreeDDot(0.208,1.182,1.44)
\pstThreeDPut[pOrigin=br](0.208,1.182,1.55){$P$ }
%VECTORS
\psset{arrowscale=1.3}
%vector Circu < -0.99 , 0.16 , 0 >
\pstThreeDLine{->}(0.208,1.182,1.44)(-0.782,1.342,1.44)
%vector Parab < 0.06 , 0.36 , 0.72 >
\pstThreeDLine{->}(0.208,1.182,1.44)(0.268,1.542,2.16)
%vector Norm < 0.115 , 0.713 , -0.366 >
\pstThreeDLine{->}(0.208,1.182,1.44)(0.323,1.895,1.074)
\pstThreeDPut[pOrigin=l](0.305,1.863,1.014){$\textbf{N}$}
%Plano Pi
\pstThreeDLine[linestyle=dashed,linewidth=0.8pt](-1.205,1.93,2.46)%
(-1.385,0.85,0.30)%
( 1.585,0.37,0.30)%
( 1.765,1.45,2.46)%
(-1.205,1.93,2.46)
\pstThreeDPut[pOrigin=l](-1.205,1.97,2.5){$\Pi$}
\end{pspicture}
\end{document}
pst-solides3d
已编译且已加载的图像pst-3dplot
pst-solides3d
编译后加载的图像pst-3dplot
附言:如果需要 MWE,请告诉我,我会处理立刻
PPS:这是我在 tex.stackexchange 上的第一个问题,我来自 SO
答案1
\lineIIID@i
这是两个包都定义的内部定义的问题。我会将新版本的上传pst-3dplot
到 CTAN。在此之前,请使用以下顺序
\usepackage{pst-solides3d}
\usepackage{pst-3dplot}
或使用 2.01pst-3dplot.tex
版http://texnik.dante.de/tex/generic/pst-3dplot/