我浏览了 pgf 下的动画示例库,但没有找到我的答案。
我想要这样的图片:取(0,0)
、(1,0)
和(5,0)
处的 4 个点(7,0)
;以 为步长从到r
变化,围绕每个点画一个半径为 的圆 (一个框对应一个 的值);在圆的下方画四条线,第一条线结束于,第二条线结束于,即0
2
0.2
r cm
r
r=0.5
r=1
\draw (0,-3) -- (min(r,1), -3);
我被困在最小值的计算上,因为我不知道变量应该是什么类型r
(一个计数器,一种参数),并且圆的大小各不相同,因为我不知道如何表示单位。
任何帮助,将不胜感激。
答案1
问题的描述,特别是应该绘制的部分的描述不清楚,但您可以调整我的示例以满足您的需要:
\documentclass{beamer}
\usepackage{tikz}
\tikzset{
invisible/.style={opacity=0},
visible on/.style={alt={#1{}{invisible}}},
alt/.code args={<#1>#2#3}{%
\alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}
}
}
\begin{document}
\begin{frame}
\centering
\begin{tikzpicture}
\foreach \Value in {0,1,5,7}
{
\node[circle,fill,inner sep=2pt] at (\Value cm,0) {};
\foreach \Radius [count=\xi] in {0,0.2,...,2}
{
\draw[visible on=<\xi>] (\Value,0) circle (\Radius cm);
\draw[visible on=<\xi>] (\Value,-3cm) -- ++({min(\Radius,1)},0pt);
}
}
\end{tikzpicture}
\end{frame}
\end{document}
生成的动画:
如果你不使用 beamer,你仍然可以使用我的代码,并使用animate
包裹。