How can I reproduce the 3D prisms shown below using pgfplots (even if they'll be a collection of surfaces is ok)? My main problem is the generation of the bottom and top surfaces. I also tried to use the pst-solides3d package but it didn't work out for the right most prism.
The best result I achieved so far is the following:
\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}
The solid on the left and at the center are ok, but the one on the right is not correct and I can't figure out the solution.


