%%
%%  A DANTE-Edition example
%%
%%  Example 34-02-4 on page 745.
%%
%%  Copyright (C) 2010 Herbert Voss
%%
%%  It may be distributed and/or modified under the conditions
%%  of the LaTeX Project Public License, either version 1.3
%%  of this license or (at your option) any later version.
%%
%%  See http://www.latex-project.org/lppl.txt for details.
%%
%%
%% ====
% Show page(s) 1
%%
\documentclass[]{article}
\pagestyle{empty}
\setlength\textwidth{375.57637pt}
\setlength\parindent{0pt}

\usepackage{pst-solides3d,multido}

\begin{document}
\psset{lightsrc=75 -63 17,viewpoint=100 -45 10 rtp2xyz,Decran=50,fontsize=50}
\multido{\iRotZ=0+10}{36}{%
 \begin{pspicture*}(-5,-3)(5,4)
 \psframe(-5,-3)(5,4)\pstVerb{/iRotZ \iRotZ\space def}%
 \psSolid[object=grille,base=-7 7 -7 7,ngrid=1. 1.,action=draw,linecolor=red](0,0,-3.4)
 \defFunction[algebraic]{helix}(u,v)%
   {2*(0.4*cos(v)-1)*cos(u)}{2*(0.4*cos(v)-1)*sin(u)}{0.4*sin(v)+0.3*u}
 \codejps{ /helice -10 10 0 6.28 [60 0.4] {helix} newsurfaceparametree
  {0 0 iRotZ rotateOpoint3d} solidtransform {0 -4 0 translatepoint3d} solidtransform
  dup solidfacesreverse def
 /helicesym helice dupsolid exch pop {[0 1 0 0] symplan3d} solidtransform
  dup solidfacesreverse def
 /solidgrid false def
 solidlightOn
 helicesym dup [0 1 0.5 1] solidputhuecolors dup (White) inputcolors
 drawsolid**
 .5 setfillopacity [0 1 0 0] eq2plan
 dup [-7 7 -5 3.4] planputrange
 dup [14. 8.4] planputngrid
 newplan dup videsolid
 dup (0.7 0.7 1 setrgbcolor) (0.7 0.7 1 setrgbcolor) inoutputcolors drawsolid**
 helice dup [0 1 0.5 1] solidputhuecolors dup (White) inputcolors drawsolid** }
 \end{pspicture*}
 \newpage}
\end{document}