アニメーション: 放物線を連続的に動かすにはどうすればよいでしょうか?

アニメーション: 放物線を連続的に動かすにはどうすればよいでしょうか?

放物線のグラフを描き$f(x)=x^2$、これを垂直方向にアニメーション化するにはどうすればよいでしょうか。グラフが右側と左側に移動します。これが私の最小限の動作例です。

\documentclass{standalone}

\usepackage{mathtools} %includes amsmath
\usepackage{mathabx}
\usepackage{tikz}
\usetikzlibrary{patterns,calc,arrows}
\usepackage{pgfplots}
\pgfplotsset{compat=1.10}
\usepgfplotslibrary{fillbetween}

\begin{document}

\begin{tikzpicture}[>=triangle 45, cap=round]

\draw[->] (-4.0,0) -- (4.0,0); 
\node[below] at (4.0, 0.0) {\textit{x}};
\draw[->] (0,-4.0) -- (0,4.0);
\node[left] at (0.0,4.0) {\textit{f(x)}};


\draw[blue, line width=1.75pt, domain=-2.00 : 2.00, samples=1500] plot[smooth](\x, {\x*\x });

\end{tikzpicture} 

\end{document}

この放物線をゆっくりと 3 単位右に移動して、色を変更し、書き込むにはどうすればよいですか$f(x-3)$

答え1

パッケージを使用するとanimate、次のようなことができます。

\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usepackage{animate}

\begin{document}
\begin{animateinline}[controls, palindrome]{15}
\multiframe{33}{rt=-4+0.25}{
    \begin{tikzpicture}
    \\clip (-5.5,-1.5) rectangle (5.5,9.5);
    
    \draw[->] (-5,0) -- (5,0) node[above] {$x$};
    \draw[->] (0,-1) -- (0,9) node[above] {$y$};
    \path (0,0) node[below left] {$0$};

    \begin{scope}[shift={(\rt,0)}]
        \draw (-4,8) parabola bend (0,0) (4,8);
    \end{scope}
    \pgfmathsetmacro{\y}{abs(\rt^2)/2}
    \node[fill=red, circle, inner sep=2pt] at (0,\y) {};
    
    \end{tikzpicture}
}
\end{animateinline}
\end{document}

ここに画像の説明を入力してください


MWE に適用すると、コードは次のようになります (どの色に変更するかがわからなかったため、赤を選択しました)。

\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows}
\usepackage{animate}

\begin{document}
\begin{animateinline}[controls, palindrome]{4}
\multiframe{4}{rt=0+1}{
    \begin{tikzpicture}[>=triangle 45, cap=round]
    
    \clip (-4.5,-4.5) rectangle (4.5,4.5);

    \draw[->] (-4,0) -- (4,0); 
    \node[below] at (4,0) {$x$};
    \draw[->] (0,-4) -- (0,4);
    
    \ifdim\rt pt=0pt\relax
        \node[left] at (0,4) {$f(x)$};
    \else
        \node[left] at (0,4) {$f(x - \pgfmathprintnumber[precision=3]{\rt})$};
    \fi

    \pgfmathtruncatemacro{\colorgrad}{\rt/(4-1)*100}
    \draw[red!\colorgrad!blue, line width=1.75pt, domain=-2.00 : 2.00, samples=101] plot[smooth] ({\x+\rt}, {\x*\x});
    
    \end{tikzpicture} 
}
\end{animateinline}
\end{document}

ここに画像の説明を入力してください

もちろん、ステップを追加することもできますが、その場合はラベルとして何を書くかを考える必要があります。ええ軸。(上記のコードは多少「強化」されており、浮動小数点数も受け入れるようになったため、さまざまな設定を試すことができます。)

関連情報