samedi 31 octobre 2015

Hélice tournant autour de son axe et son image dans un miroir

C'est une actualisation d'un fichier déposé sur :
http://melusine.eu.org/syracuse/pstricks/pst-solides3d/animations/a61/


\documentclass{article}
\usepackage[paperwidth=10cm,paperheight=7cm,hmargin={0cm,0cm},vmargin={0cm,0cm},dvips]{geometry}
\usepackage{pst-solides3d}
% Jean-Paul Vignault
% Manuel Luque
\pagestyle{empty}
\begin{document}
\psset{lightsrc=75 -63 17 rtp2xyz,viewpoint=100 -50 10 rtp2xyz,Decran=50}
\begin{center}
\multido{\iRotZ=0+10}{36}{
\begin{pspicture}(-5,-3)(5,4)
\psframe(-5,-3)(5,4)
\pstVerb{/iRotZ \iRotZ\space def /ncases 14 def}%
\psSolid[object=grille,base=-7 7 -7 7,ngrid=ncases ncases,linewidth=0.001,action=draw](0,0,-3.5)
\defFunction[algebraic]{helix}(u,v)%
  {2*(0.5*cos(v)-1)*cos(u)}
  {2*(0.5*cos(v)-1)*sin(u)}
  {0.5*sin(v)+0.3*u}
\codejps{
/helice
   -10 10 0 2 pi mul [200 0.314] {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
0.0001 setlinewidth
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.5] planputrange
dup [14. 8.5] planputngrid
newplan
dup (0.744 0.764 0.92 setrgbcolor) dup inoutputcolors
drawsolid**
helice dup [0 1 0.5 1] solidputhuecolors dup (White) inputcolors
1 setfillopacity
drawsolid**}%
\end{pspicture}\newpage}
\end{center}
\end{document}

Une des méthodes(celle que j'ai utilisée) pour produire le Gif animé est la suivante :

Ce fichier est compilé de manière à obtenir un fichier pdf de 36 pages par la séquence :
LaTeX -> dvips -> ps2pdf
Puis les pages sont séparées avec pdfsam(PDF Split And Merge):
http://www.pdfsam.org/
Ensuite avec The Gimp, les 36 images au format pdf sont converties au format png(ou gif) avec le plugin "Batch processes multiple images" :
http://members.ozemail.com.au/~hodsond/dbp.html
Dernière étape, le Gif animé est créé avec ImageMagick par la commande :
convert -delay 20 -loop 0  *.png helice.gif
http://www.imagemagick.org/script/binary-releases.php

Aucun commentaire:

Enregistrer un commentaire