Page 1 sur 2

que faut-il pour que animate travaille ?

Posté : mer. 26 mai 2010, 22:02
par maurice
Bonjour, j'ai essayé l'exemple de philippe Ivadi d'animation du flocon de Van koch...

Code : Tout sélectionner

// Un ancien exemple de Ph. Ivaldi

import animate;
settings.tex="pdflatex";
settings.outformat="pdf";

size(7cm);
animation A;

void koch(pair A, pair B, int n) {
          pair C;
          C=rotate(120, point(A--B,1/3))*A;
          if (n>0) {
             koch(A,point(A--B,1/3),n-1);
             koch(point(A--B,1/3),C,n-1);
             koch(C,point(A--B,2/3),n-1);
             koch(point(A--B,2/3),B,n-1);
          }
          else draw(A--point(A--B,1/3)--C--point(A--B,2/3)--B);
}
 
pair z0=(1,0);
pair z1=rotate(120)*z0;
pair z2=rotate(120)*z1;
real pmax=4;
for (int p=0; p<=pmax; p+=1) {
  save();
  koch(z0,z1,p);
  koch(z1,z2,p);
  koch(z2,z0,p);
  A.add();
  erase();
}
A.movie();



J'obtiens à la compilation cinq figures les unes en dessous des autres...
Quelle version de visionneur pdf faut-il ? (j'ai evince sous gnome).

Si je change le début et mets :

Code : Tout sélectionner

settings.tex="pdflatex";
settings.outformat="gif";


J'obtiens une seule image (la première)

et si je mets :

Code : Tout sélectionner

settings.tex="pdflatex";
settings.outformat="swf";


je ne peux pas ouvrir le fichier obtenu ... (j'essaie d'installer les paquets correspondants).

Pouvez vous m'aider ?...


EDIT : après installation d'un lecteur swf (lecteur flash swfdec de gnome), lorsque j'ouvre le fichier A.swf j'ai le message d'erreur suivant :
A.swf n'est pas un fichier Flash.


Maurice

Re: que faut-il pour que animate travaille ?

Posté : mer. 26 mai 2010, 23:56
par GM
maurice a écrit :et si je mets :

Code : Tout sélectionner

settings.tex="pdflatex";
settings.outformat="swf";


je ne peux pas ouvrir le fichier obtenu ...


Tu as essayé de chercher "swf" dans la doc d'Asymptote ?
N'essaie pas : tu ne le trouveras pas. Je ne sais pas d'où tu sors ton idée de outformat="swf".

Asymptote peut produire des animations au format gif mais en fait il va utiliser convert d'imagemagick pour cela.

... et on peut produire des swf mais ce n'est pas vraiment Asymptote qui le fait.
Asymptote produit un pdf multipages... et on utilise les swftools avec quelque chose de ce genre :

Code : Tout sélectionner

$> pdf2swf nomdufichier.pdf -o temp.swf
$> swfcombine -dz -r 2 temp.swf -o nomdufichier.swf; rm temp.swf


Ce sont avec les mêmes outils (swftools) que bon nombre d'animations sont produites sur le site syracuse à partir de sources metapost
... et l'auteur de TeXGraph les utilise aussi pour produire les siennes.

Re: que faut-il pour que animate travaille ?

Posté : jeu. 27 mai 2010, 08:28
par Francky
il me semble qu'evince (lecteur très léger, ultra rapide) ne gère pas la 3D (c'est sûr) et aussi les animations (à vérifier).

Pour cela, il faut le char d'assaut Adaube Rider version 9, pour l'avoir sous ubuntu,
il faut ajouter le dépôt canonical, et installer le paquet acroread.
Évidement, il n'est pas conseillé de le mettre en lecteur par défaut (trop lourd),
mais de l'utiliser avec parcimonie pour la 3D etc.
Note : pour l'impression, certains disent qu'il est meilleur.

Un avantage d'evince : à la réouverture d'un fichier, il se place directement à l'ancienne page.
(ceci est possible aussi avec reader9, dans le menu des options, la première)

Re: que faut-il pour que animate travaille ?

Posté : jeu. 27 mai 2010, 19:03
par maurice
Bonjour, merci pour vos réponses,

je viens d'installer acrobat reader 9.
j'ai donc compilé à nouveau l'exemple de philippe Ivadi.
Je visionne avec mon nouvel outil : 5 pages avec les 5 étapes différentes mais pas d'animation.
sans doute il me reste à savoir me servir d'acrobat.

Maurice

Re: que faut-il pour que animate travaille ?

Posté : jeu. 27 mai 2010, 20:18
par chellier
Bonjour,
Tu peux créer un document tex :

Code : Tout sélectionner

\documentclass{article}
\usepackage{animate}
\begin{document}
  \animategraphics[width=\linewidth,controls]{5}{Koch}{}{} % 5 images par seconde et remplacer Koch par le nom du pdf multipage
\end{document}

Tu compiles avec pdflatex et tu visualises avec acrobat reader.

En fait je ne sais pas s'il y a une méthode plus "directe"... Mais il y a des spécialistes qui vont surement répondre !

Christophe

Re: que faut-il pour que animate travaille ?

Posté : jeu. 27 mai 2010, 20:21
par GM
Je visionne avec mon nouvel outil : 5 pages avec les 5 étapes différentes mais pas d'animation.

Ce n'est pas étonnant : tu as focalisé sur le message de Francky mais tu n'as pas bien lu le mien. ;-)

Les possibilités d'animation sont :
  • demander un pdf multipage... et il doit être possible dans acrobat reader de passer automatiquement d'une page à l'autre, pour donner un diaporama/animation ;
  • obtenir une animation dans une seule page, avec des boutons ;
    Dans l'exemple précédent, remplacer le A.movie par cette ligne :

    Code : Tout sélectionner

    label(A.pdf(delay=500,"controls,loop"));
  • demander un gif (avec settings.outformat="gif"), que l'on peut visualiser dans un gestionnaire d'images ou un navigateur (cela passe par la conversion (demandée automatiquement par asymptote) d'un pdf multipage avec la fonction convert d'imagemagick ;
  • créer un pdf multipage et le transformer manuellement en une animation flash (fichier d'extension swf) comme je l'ai indiqué ci-dessus.

Edition : ... et des possibilités par intégration dans un tex, que je ne détaille pas... mais Christophe vient d'en parler.

Re: que faut-il pour que animate travaille ?

Posté : jeu. 27 mai 2010, 20:23
par chellier
chellier a écrit :En fait je ne sais pas s'il y a une méthode plus "directe"... Mais il y a des spécialistes qui vont surement répondre !

Christophe


Qu'est-ce que je disais ;)

Christophe

Re: que faut-il pour que animate travaille ?

Posté : jeu. 27 mai 2010, 20:43
par GM
Encore une explication importante ... pour ceux qui ne comprennent pas que les scripts donnés pas Philippe ou les miens ici (sur lequels, j'avais indiqué la ligne nécessaire en dernière ligne commentée de chaque exemple pour obtenir une animation dans une seule page d'un pdf) ne donnent pas directement les animations au format swf que l'on peut visualiser en ligne :

cela tient au fait que le système de création des animations flashs est un script de mise à jour des galeries qui n'a rien à voir avec asymptote : les swftools sont utilisés pour convertir un pdf multipage.

Re: que faut-il pour que animate travaille ?

Posté : jeu. 27 mai 2010, 20:46
par Francky
En fait, pas mieux !
Moi non plus j'ai pas d'animate, j'ai les 5 images successives seulement. :?:

EDIT, mais avec l'option 3 de GM, ça roule et ça floconne.
label(A.pdf ...loop"));

Re: que faut-il pour que animate travaille ?

Posté : jeu. 27 mai 2010, 21:43
par GM
GM a écrit :... ou les miens ici (sur lequels, j'avais indiqué la ligne nécessaire en dernière ligne commentée de chaque exemple pour obtenir une animation dans une seule page d'un pdf)

Je ne l'avais mis que pour les premiers exemples... mais un script de mise à jour des exemples est en train de tourner... et d'ici quelques minutes, il y aura un commentaire plus détaillé à la fin de chaque exemple.