%% 
%%  Ein Beispiel der DANTE-Edition
%%  
%%  7. Auflage
%% 
%%  Beispiel 33-02-4 auf Seite 810.
%% 
%%  Copyright (C) 2016 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[]{exaarticle}
\pagestyle{empty}
\setlength\textwidth{352.81416pt}
\setlength\parindent{0pt}
%StartShownPreambleCommands
\usepackage{pst-solides3d,multido}
%StopShownPreambleCommands
\begin{document}
\psset{lightsrc=75 -63 17,viewpoint=100 -45 10 rtp2xyz,Decran=50,fontsize=50}
\multido{\iRotZ=0+10}{36}{%
  \begin{center}
  \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*}
  \end{center}\newpage}
\end{document}
