Je débute dans les animations pdf avec le package animate et j'aimerais animer mes figures en décalé (faire bouger dans un premier temps l'angle vert puis seulement après l'angle bleu). Je bloque un peu sur la syntaxe (pour l'instant, mon code fait bouger les deux angles en même temps).

\documentclass[11pt,a4paper,french]{article}

\usepackage{tikz}
\usepackage{tkz-euclide}
\usepackage{animate}
\begin{document}

 \begin{animateinline}[controls]{100}
 \multiframe{200}{rdep=0+0.02,rdepp=0+0.015}{%
\begin{tikzpicture}
 \draw[help lines] (0,0) grid (5,5);
 \tkzDefPoints{\rdep/0/B,1+\rdep/0/C,1+\rdep/5/D}
 \tkzFillAngle[green,size=1](B,D,C)
 \tkzDrawSegments[thick](B,D D,C)
 \tkzDefPoints{\rdepp/0/B1,1+\rdepp/0/C1,2+\rdepp/5/E}
 \tkzFillAngle[blue,size=1](B1,E,C1)
 \tkzDrawSegments[thick](B1,E E,C1)
\end{tikzpicture}
 }
 \end{animateinline}
\end{document}

Posée 14 Mar '23, 11:25

ablasz's gravatar image

ablasz
486622
Taux d'acceptation : 23%

Modifiée 14 Mar '23, 11:26


Il y a plusieurs façons de faire, mais un simple enchaînement de deux boucles fonctionne ici.

\documentclass[11pt,a4paper,french]{article}

\usepackage{tikz}
\usepackage{tkz-euclide}
\usepackage{animate}
\begin{document}

 \begin{animateinline}[controls]{100}
 \multiframe{200}{rdep=0+0.02}{%
\begin{tikzpicture}
 \draw[help lines] (0,0) grid (5,5);
 \tkzDefPoints{\rdep/0/B,1+\rdep/0/C,1+\rdep/5/D}
 \tkzFillAngle[green,size=1](B,D,C)
 \tkzDrawSegments[thick](B,D D,C)
 \tkzDefPoints{0/0/B1,1+0/0/C1,2+0/5/E}
 \tkzFillAngle[blue,size=1](B1,E,C1)
 \tkzDrawSegments[thick](B1,E E,C1)
\end{tikzpicture}
}
\multiframe{200}{rdepp=0+0.015}{%
\begin{tikzpicture}
 \draw[help lines] (0,0) grid (5,5);
 \tkzDefPoints{4/0/B,1+4/0/C,1+4/5/D}
 \tkzFillAngle[green,size=1](B,D,C)
 \tkzDrawSegments[thick](B,D D,C)
 \tkzDefPoints{\rdepp/0/B1,1+\rdepp/0/C1,2+\rdepp/5/E}
 \tkzFillAngle[blue,size=1](B1,E,C1)
 \tkzDrawSegments[thick](B1,E E,C1)
\end{tikzpicture}
 }
\end{animateinline}
\end{document}
Lien permanent

Publiée 22 Mar '23, 10:27

Maxime's gravatar image

Maxime ♦
1.3k32439
Taux d'acceptation : 55%

Oui, merci, ça fonctionne. Il y a un petit saut d'image à la transition mais dans l'ensemble ça fait le job.

(23 Mar '23, 09:57) ablasz ablasz's gravatar image
2

On évite le saut d'image en plaçant \newframe entre deux boucles de \multiframe.

(09 Jan, 11:55) alexg alexg's gravatar image
1

De plus, 100 images par sec sont un peu trop; 30 suffisent pour une perception visuelle souple (valeur typique en encodage vidéo). Je proposerais donc (en même temps réduisant le poids du PDF):

\begin{animateinline}[controls]{30}
\multiframe{65}{rdep=0+0.0625}{
  ...
}
\newframe
\multiframe{49}{rdepp=0+0.0625}{
  ...
}
\end{animateinline}
(11 Jan, 13:48) alexg alexg's gravatar image

Si une pause est désirée entre les deux étapes, on peut l’insérer avec \newframe* entre les \multiframe.

(24 Jan, 09:29) alexg alexg's gravatar image
Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.