如何使用 pgfplots 重现下面显示的 3D 棱柱(即使它们是表面的集合也可以)?我的主要问题是底部和顶部表面的生成。我也尝试使用 pst-solides3d 包,但它对最合适的棱柱不起作用。
我目前取得的最好结果如下:
\documentclass{standalone}
\usepackage{pst-solides3d}
\begin{document}
\psset{unit=0.5}
\psset{lightsrc=viewpoint,viewpoint=50 60 25 rtp2xyz,Decran=50}
\begin{pspicture} (-1,-1)(8.5,10)
\defFunction{F}(t){t cos 3 mul}{t sin 3 mul}{}
\defFunction{G}(t){t cos 1 mul}{t sin 1 mul}{}
\defFunction{K}(t){-4}{t}{}
\defFunction{H}(t){t cos 0 mul}{t sin 0 mul}{}
%solid 3
\psSolid[object=prisme,
h=8,fillcolor=green,
RotX=0,RotY=0,RotZ=0,
ngrid=8 18,
%base= 4 -4 {K2} CourbeR2+
base= 4 -4 {K} CourbeR2+
225 135 {F} CourbeR2+](-2,0,0)
%solid 1
\psSolid[object=prisme,
h=8,fillcolor=green,
RotX=0,RotX=0,RotX=0,
ngrid=8 18,
base=135 225 {G} CourbeR2+
225 135 {H} CourbeR2+](0,0,0)
%solid 2
\psSolid[object=prisme,
h=8,fillcolor=green,
RotX=0,RotX=0,RotX=0,
ngrid=8 18,
base=135 225 {F} CourbeR2+
225 135 {G} CourbeR2+](-1,0,0)
\end{pspicture}
\end{document}
左边和中心的实体没问题,但是右边的实体不正确,我无法找到解决方案。
答案1
您正在寻找这样的东西吗?
\documentclass{standalone}
\usepackage{pst-solides3d}
\begin{document}
\psset{unit=0.5}
\psset{lightsrc=viewpoint,viewpoint=50 60 25 rtp2xyz,Decran=50}
\begin{pspicture} (-1,-1)(8.5,10)
\defFunction{F}(t){t cos 3 mul}{t sin 3 mul}{}
\defFunction{G}(t){t cos 1 mul}{t sin 1 mul}{}
\defFunction{K}(t){-4}{t}{}
\defFunction{H}(t){t cos 0 mul}{t sin 0 mul}{}
%solid 3
\psSolid[object=prisme,
h=8,incolor=green,fillcolor=green,hollow,fillstyle=solid,
ngrid=8 18,
base= 225 135 {F} CourbeR2+
3.8 -3.8 {K} CourbeR2+ ](-2,0,0)
%solid 1
\psSolid[object=prisme,
h=8,fillcolor=green,
RotX=0,RotX=0,RotX=0,
ngrid=8 18,
base=135 225 {G} CourbeR2+
225 135 {H} CourbeR2+](0,0,0)
%solid 2
\psSolid[object=prisme,
h=8,fillcolor=green,
RotX=0,RotX=0,RotX=0,
ngrid=8 18,
base=135 225 {F} CourbeR2+
225 135 {G} CourbeR2+](-1,0,0)
\end{pspicture}
\end{document}