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 |
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} Publiée 22 Mar '23, 10:27 Maxime ♦ 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
2
On évite le saut d'image en plaçant
(09 Jan, 11:55)
alexg
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
Si une pause est désirée entre les deux étapes, on peut l’insérer avec
(24 Jan, 09:29)
alexg
|