Перекрывающиеся концентрические полигоны в Beamer

Перекрывающиеся концентрические полигоны в Beamer

Я хочу создать анимацию 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<+>часть, код работает нормально. Как мне получить анимацию в этом случае?

P.S.:Также я хочу соединить центр с вершинами каждого полигона, чтобы разбить весь полигон на треугольники. Как мне этого добиться? Спасибо заранее.

решение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}

Для последнего полигона результат:

введите описание изображения здесь

Связанный контент