Retour

expansionRadiale_animation.tex

Télécharger le fichier
\documentclass[a4paper]{article}
\usepackage{pstricks}
\usepackage{multido}
% Mluque5130@aol.com
\usepackage{pst-key,pst-eps}
\makeatletter
\define@key{psset}{R0}{\edef\psk@pstExpansionRadius{#1}}
\define@key{psset}{factor}{\edef\psk@pstExpansionFactor{#1}}
\define@key{psset}{iterations}{\edef\psk@pstExpansioniterations{#1}}
\setkeys{psset}{R0=0.1,factor=1.2,iterations=22}
%
\psset{dimen=middle}
\def\ExpansionRadiale{\pst@object{ExpansionRadiale}}
\def\ExpansionRadiale@i{\@ifnextchar[{\ExpansionRadiale@do}{\ExpansionRadiale@do[]}}
\def\ExpansionRadiale@do[#1]{{%
\pst@killglue
\setkeys{psset}{#1}%
\begin@ClosedObj
\addto@pscode{
 /R0 \psk@pstExpansionRadius\space 28.45 mul def % valeur initiale du rayon
 /factor \psk@pstExpansionFactor\space def % facteur d'expansion
 /iterations \psk@pstExpansioniterations\space def
 /ARROWS { % flèche
    newpath
    0 0 Radius1 -7.5 7.5 arc
    Radius2 7.5 cos mul Radius2 7.5 sin mul lineto
    0 0 Radius2 7.5 15 arc
    Radius3 0 lineto
    Radius2 -15 cos mul Radius2 -15 sin mul lineto
    0 0 Radius2 -15 -7.5 arc
    closepath
    fill
    } def
0 1 12 {
    /Rot exch def
 0 2 iterations {%
    /Exposant exch def
    /Radius1 R0 factor Exposant exp mul def
    /Radius2 R0 factor Exposant 1 add exp mul def
    /Radius3 R0 factor Exposant 2 add exp mul def
     ARROWS
 } for
     30 rotate
 } for
 }
\showpointsfalse
\end@ClosedObj
}}
\makeatother
\pagestyle{empty}
\title{Transformations r\'eversibles}
\author{Roger N.Shepard}
\date{3 juillet 2\,003}
\begin{document}
\begin{center}
  % Generation of the images in EPS format
  % Denis Girou
  \multido{\nfactor=1.15+0.05}{12}{%
    % As all file names must have the same number of characters,
    % we must add a 0 for the 9 first ones if we have between
    % 10 and 99 images
    \ifnum\multidocount<10\relax\def\Pad{0}\else\def\Pad{}\fi
    \ifnum\multidocount<8\psset{iterations=30}\else\psset{iterations=18}\fi
    % pour éviter les erreurs postscript, valeurs trop grandes à la fin
    \PSTtoEPS[headerfile=pstricks.pro,headers=user,
              bbllx=-5,bblly=-5,bburx=5,bbury=5]
             {images\Pad\the\multidocount.eps}{%
     \ExpansionRadiale[factor=\nfactor]}}
\end{center}
\end{document}