大家好,在你们之前的帮助下,我成功地使用 tikzpicture 生成了一条旋转线的动画\multiframe
。以下是我的动画的 MWE。
\documentclass{beamer}
\usepackage{tikz}
\usepackage{animate}
\begin{document}
\begin{frame}
\centering
\begin{animateinline}[poster=first]{2}
% draw rotating line
\multiframe{20}{rt=0+5}{%
\resizebox{!}{.8\textheight}{\begin{tikzpicture}
%draw coordinate axis
\draw[thick, color=black, -latex] (-4.05,0) -- (4.05,0) node[right]{$x_1$};
\draw[thick, color=black, -latex] (0,-3.4) -- (0,3.4) node[above]{$x_2$};
%draw tilting red line
\draw[thick, color=red] ({4*cos(\rt)},{4*sin(\rt)}) -- ({-4*cos(\rt)},{-4*sin(\rt)});
\node at (5,5) {};
\node at (-5,-5) {};
\end{tikzpicture}}%
}
\end{animateinline}
\end{frame}
\end{document}
是否有人知道一种方法来保存前几帧上绘制的线条,使得在第一帧上只有一条线,在第二帧上分别有第一帧的线加上新绘制的线和后续帧的线?
除了单独生成所有帧的 pdf 然后使用之外,还有其他方法吗\animategraphics
?
提前致谢!
答案1
对于此应用程序,\multido
命令(包multido
)比 PGF 更适合\foreach
:
\documentclass{beamer}
\usepackage{tikz}
\usepackage{animate}
\usepackage{multido}
\begin{document}
\begin{frame}
\centering
\begin{animateinline}[poster=first]{2}
% draw rotating line
\multiframe{20}{i=1+1}{%
\resizebox{!}{.8\textheight}{\begin{tikzpicture}
%draw coordinate axis
\draw[thick, color=black, -latex] (-4.05,0) -- (4.05,0) node[right]{$x_1$};
\draw[thick, color=black, -latex] (0,-3.4) -- (0,3.4) node[above]{$x_2$};
%draw tilting red lines
\multido{\rt=0+5}{\i}{
\draw[thick, color=red] ({4*cos(\rt)},{4*sin(\rt)}) -- ({-4*cos(\rt)},{-4*sin(\rt)});
}
\node at (5,5) {};
\node at (-5,-5) {};
\end{tikzpicture}}%
}
\end{animateinline}
\end{frame}
\end{document}