使用 tikz 绘制一个椭圆包围的矩形

使用 tikz 绘制一个椭圆包围的矩形

在此处输入图片描述我使用下面的代码绘制一个被椭圆包围的矩形,但是它不起作用。

\documentclass{beamer}
\usepackage{tikz}
\usepackage{animate}

\usepackage{fp}

% parameterized tikz graphics
\newcommand{\intersect}[1]{%
\def\setA{(0,0) circle (1)}%
\def\setc{(1,0) ellipse (1,2)}%
\def\setB{(#1,0) circle (1)}%
% define the bounding box
\def\boundb{(-2,2) rectangle (4,-2)}%
%
\begin{tikzpicture}
    \draw \boundb;
    % intersection
    \begin{scope}
    \clip \setc;
    \end{scope}
    \begin{scope}[even odd rule]% first circle without the second
    \clip \setB \boundb;
    \end{scope} 
    \draw \setc;
\end{tikzpicture}
}

\begin{document}
\begin{frame}
\begin{center}

    \begin{animateinline}[autoplay,palindrome]{12}
    %first frame, xb=0.0
    \gdef\xb{0}% xb initial value
    \intersect{\xb}%
    %remaining frames, xb=0.1...2.1
    \whiledo{\lengthtest{\xb pt < 2.1pt}}{%
        \newframe
        \FPeval{xb}{\xb+0.1}% new xb
        \xdef\xb{\xb}% make \xb global
        \intersect{\xb}%
    }%
    \end{animateinline}

\end{center}
\end{frame}
\end{document} 

答案1

我不明白您到底想要做什么,但以下内容在 Adob​​e Reader 中运行没有任何问题。

\documentclass{beamer}
\usepackage{tikz}
\usepackage{animate}

\begin{document}
\begin{frame}{title}
    \begin{animateinline}[autoplay,
                          palindrome,
                          begin={
                                 \begin{tikzpicture}
                                 \useasboundingbox (0,0) rectangle (5cm,4cm);
                                },
                          end={\end{tikzpicture}}
                         ]{10}
\multiframe{20}{nstep=0.0+0.1}{%
  \draw (0.5cm,0.5cm) rectangle (4.5cm,3.5);
  \draw (2.5cm,2cm) circle (\nstep cm and 0.8*\nstep cm);
}
\end{animateinline}
\end{frame}
\end{document} 

请注意,变量名称应以i,n,detc. 开头(请参阅animate手册第 4 页)来反映变量的类型。

相关内容