我试图将圆放在曲线上,但操作会产生错误,而且我不知道如何避免这个问题。
\documentclass[]{standalone}
\usepackage{animate}
\usepackage{tikz}
\begin{document}
\begin{animateinline}[poster=first,controls]{10}
\multiframe{25}{imdeg=0+1}{
\begin{tikzpicture}[line cap=round,line width=3pt]
\clip (-3,-3) rectangle (3,3);
\path [fill=red] (0,0) circle (3pt);
\path [fill=white] (0,0) circle (2pt); % círculo do ponteiro
\draw[line width=1.2pt,color=blue,smooth,samples=100,domain=-5:5] plot(\x,{(\x)^(2.0)});
\draw[] (-5+\imdeg*0.4,(-5+\imdeg*0.4)^2) circle (2pt);
\end{tikzpicture}
}
\end{animateinline}
\end{document}
问题出在 (-5+\imdeg*0.4)^2,如果曲线是 y=x,那么我将使用 (-5+\imdeg*0.4) 而不使用 ^2,并且运行良好,但是当我输入 ^2 时......错误!!!
谢谢您的帮助。
答案1
您写入以下坐标时有错误:
\draw[] (-5+\imdeg*0.4,(-5+\imdeg*0.4)^2) circle (2pt);
正确的是:
\draw[] (-5+\imdeg*0.4,{(-5+\imdeg*0.4)^2}) circle (2pt);
如果你喜欢(...)
在某些坐标内嵌套括号,则必须用短括号将它们括起来。完整代码
\documentclass[]{standalone}
\usepackage{animate}
\usepackage{tikz}
\begin{document}
\begin{animateinline}[poster=first,controls]{10}
\multiframe{25}{imdeg=0+1}{
\begin{tikzpicture}[line cap=round,line width=3pt]
\clip (-3,-3) rectangle (3,3);
\path [fill=red] (0,0) circle (3pt);
\path [fill=white] (0,0) circle (2pt); % círculo do ponteiro
\draw[line width=1.2pt,color=blue,smooth,samples=100,domain=-5:5] plot(\x,{(\x)^(2.0)});
\draw[] (-5+\imdeg*0.4,{(-5+\imdeg*0.4)^2}) circle (2pt);
\end{tikzpicture}
}
\end{animateinline}
\end{document}
现在工作正常: