我想创建一个动画,Beamer
用于用正多边形近似圆的面积。为此,我需要重叠同心多边形。动画将是重叠部分。我正在尝试使用以下代码
\documentclass[aspectratio=169,10pt, notheorems]{beamer}
\usepackage{tikz}
\usepackage{pgf}
\usepackage{xcolor}
\usetikzlibrary{shapes.geometric}
\begin{document}
\begin{frame}
\begin{figure}
\begin{tikzpicture}[scale=2]
\node [draw, minimum size=3cm, circle] at (0,0) {};
\foreach \n in {3,...,10}
\only<+>
{
\node [fill, brown, minimum size=3cm, regular polygon, regular polygon sides=\n] at (0,0) {};
}
\end{tikzpicture}
\end{figure}
\end{frame}
\end{document}
编译时,会产生错误File ended while scanning use of \pgffor@next.
如果我删除该\only<+>
部分,代码可以正常运行。 在这种情况下,我该如何获取动画?
附言:另外,我想将中心与每个多边形的顶点连接起来,将整个多边形分成三角形。我该怎么做?提前致谢。
答案1
尝试:
\documentclass[aspectratio=169, notheorems]{beamer}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}
\begin{document}
\begin{frame}
\begin{figure}
\begin{tikzpicture}[scale=2]
\node [draw, minimum size=3cm, circle] {};
\foreach \n in {3,...,10}
{ % <-- added
\only<+>
{
\node [fill=brown, minimum size=3cm,
regular polygon, regular polygon sides=\n] {};
}
}% <-- added
\end{tikzpicture}
\end{figure}
\end{frame}
\end{document}
指令only<+>
必须与节点图成组,即您的代码中缺少一对花括号(组定义)。请参阅上述 MWE 中的注释。
编辑: 对于第二个问题:您需要添加新的循环,在其中绘制多边形中心与其角之间的线。使用此循环完成 MWE 是:
\documentclass[aspectratio=169, notheorems]{beamer}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}
\begin{document}
\begin{frame}
\begin{figure}
\begin{tikzpicture}[scale=2]
\node [draw, minimum size=3cm, circle] {};
\foreach \n in {3,...,10}
{
\uncover<+> % or \only
{
\node (n\n) [fill=brown, minimum size=3cm,
regular polygon, regular polygon sides=\n] {};
\foreach \i in {1,...,\n} % <--- added
\draw (0,0) -- (n\n.corner \i);% <--- added
}
}
\end{tikzpicture}
\end{figure}
\end{frame}
\end{document}
最后一个多边形的结果是: