\documentclass[a4paper]{article}
\usepackage{pst-solides3d}
\pagestyle{empty}
\begin{document}
\multido{\iRotZ=0+20}{18}{\begin{center}
\begin{pspicture}(-5,-6)(5,4)
\psframe(-5,-6)(5,4)
\psset{lightsrc=80 30 30,SphericalCoor=true,viewpoint=60 40 20,Decran=40,linewidth=0.1pt,opacity=0.7}
\pstVerb{
/AngleRotZ \iRotZ\space def
/torsion {
2 dict begin
/M defpoint3d /AngleTorsion M 20 mul 3 -2 roll pop pop def
M 0 0 AngleTorsion rotateOpoint3d
end} def}\psset{solidmemory}
\psSolid[object=cylindrecreux,r=3.75,h=10,ngrid=36 24,
fillcolor=white,
incolor=white,
action=none,
name=C1
](0,0,-5)\defFunction[algebraic]{F}(t){t}{}{3/16*(2*t*t-16)}
\psSolid[object=ruban, h=5,
RotX=-90,
RotZ=-45,
resolution=72,
base=-5 5 {F} CourbeR2+,ngrid=8,
fillcolor=blue!10,
incolor=blue!10,
name=P1,
action=none](0,0,-0.3)
\codejps{
/rpn {tx@AlgToPs begin AlgToPs end cvx exec} def
/xcy {(4*cos(t)) rpn } def
/ycy {(4*sin(t)) rpn } def
/zcy {(3*sin(2*t)) rpn } def
/xcy' {(-4*sin(t)) rpn } def
/ycy' {(4*cos(t)) rpn } def
/zcy' {(6*cos(2*t)) rpn } def
/xcy'' {(-4*cos(t)) rpn } def
/ycy'' {(-4*sin(t)) rpn } def
/zcy'' {(-12*sin(2*t)) rpn } def
/g {
3 dict begin
/t exch def
xcy ycy zcy
end
} def
/g' { 3 dict begin
/t exch def
xcy' ycy' zcy'
end
} def
/g'' { 3 dict begin
/t exch def
xcy'' ycy'' zcy''
end
} def
/A1{
0 6.28 (g) .25 [100 12] newtube
dup (orange) outputcolors} def
A1 P1 solidfuz
C1 solidfuz
dup {0 0 AngleRotZ rotateOpoint3d} solidtransform
drawsolid**}
\composeSolid
\end{pspicture}
\end{center}\newpage}
\end{document}