TeXgraph et animate

Utilisation de code texgraph dans LateX avec l'environnement \\begin{texgraph}...\\end{texgraph} et le paquet texgraph.sty.

TeXgraph et animate

Messagepar P.Fradin » 14 Nov 2010 19:34

Jusqu'à présent, pour faire une animation, j'utilisais l'interface graphique de TeXgraph et le modèle Animation.mod pour fabriquer un fichier pdf avec une image par page, pour ensuite inclure ce fichier dans mon document LaTeX et le lire avec la macro \animategraphics du paquet animate, et ça marche très bien.

Mais le paquet animate propose une autre possibilité, l'environnement \begin{animateinline}[options]{fps} ...\end{animateinline} qui permet de définir l'animation frame par frame (macros \newframe ou \multiframe). De plus l'option timeline permet d'agencer les images exactement comme l'on veut, par exemple garder une image de fond sous chaque frame, cela peut permettre de faire des images plus légères (inutile de remettre le fond à chaque fois). Tous les renseignements sont dans la doc: texdoc animate. Mais plutôt que de longs discours, un exemple:

Code: Tout sélectionner
\begin{texgraph}[name=testanim,auto=false,file]
 Var R=1; r=1; I=R+r; m=(R/r+1); A=R; dt=pi/18;

 Cmd [view(-4,3,-3,3), Marges(0,0,0,0), size(8), t:=pi/3];

 Mac f=r*m*exp(i*%1)-r*exp(i*m*%1);

 Graph image0 = [Axes(0,0), Cercle(0,R), Arrows:=1, Width:=8, Ligne([0,i,jump,0,1],0),
                 LabelDot(0,"$O$","SO",1), LabelDot(0.5,"$\vec{\imath}$","S",0),
                 LabelDot(0.5*i,"$\vec{\jmath}$","O",0)];

 Cmd Export(pgf,"testanim0.pgf"); DelGraph(image0);

 Graph imagek=[Cercle(I,r), Ligne([0,I,A],0), LabelDot(I,"$I$","O",1), LabelDot(A,"$M(t)$","E",1),
               Width:=8, Color:=red, tMin:=pi/3, tMax:=t, Courbe(f(t)) ];

 Cmd for k from 1 to 36 do
         Inc(t,dt), A:=f(t), I:= (R+r)*exp(i*t), ReCalc(imagek), Export(pgf, ["testanim",k,".pgf"])
     od;
     OpenFile("testanim.txt"); WriteFile("::0x0"); for k from 1 to 36 do WriteFile(["::",k]) od; CloseFile();
     DelGraph(imagek);
\end{texgraph}

\begin{center}
\begin{animateinline}[poster=last, controls, timeline=testanim.txt]{8}%
\multiframe{37}{num=0+1}{\input{testanim\num pgf}}%
\end{animateinline}
\end{center}


Dans l'environnement texgraph on crée:

1) Un élément graphique image0 qui est ensuite exporté sous le nom testanim0.pgf, puis détruit (pour ne plus qu'il soit exporté).
2) Un deuxième élément graphique imagek qui va être recalculé à chaque frame, puis exporté.

La boucle qui suit, modifie les paramètres, recalcule l'élément graphique ci-dessus, l'exporte en pgf. On a ainsi en tout 37 images: testanim0.pgf...testanim36.pgf, la première étant le fond.

On crée ensuite le fichier texte testanim.txt qui va contenir l'agencement des images dans l'animation (une ligne par frame), pour la première on a ::0x0, ce qui signifie que l'image 0 (la première) sera visible sur toutes les frames, par contre l'image k pour k>0, sera visible uniquement sur la frame k. Ainsi sur chaque frame, il y a l'image k superposée à l'image 0.

Puis enfin, on charge l'animation dans l'environnement animateinline.

testAnimateInLine.tex
(1.44 Kio) Téléchargé 819 fois

testAnimateInLine.pdf
(184.77 Kio) Téléchargé 879 fois


PS: il est préférable de charger le fichier pdf et de le visionner en local, les animations ne passent pas toujours bien dans le browser-plugin. Rappelons que seul adobe reader peut jouer les animations.
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1835
Inscription: 29 Oct 2008 15:04

Re: TeXgraph et animate

Messagepar Raoul n k » 22 Mai 2013 09:46

Bonjour, je vais lire. Merci bien.
Raoul n k
 
Messages: 40
Inscription: 13 Juil 2010 21:13


Revenir vers TeXgraph dans LaTeX

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 4 invités

cron