Animación: ¿Cómo mover una parábola de forma continua?

Animación: ¿Cómo mover una parábola de forma continua?

¿Cómo puedo dibujar una gráfica de parábola $f(x)=x^2$y hacer una animación vertical de esta? Entonces la gráfica se mueve hacia los lados derecho e izquierdo. Este es mi ejemplo de trabajo mínimo.

\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}

¿Cómo puedo cambiar esta parábola lentamente a 3 unidades hacia la derecha, cambiar el color y escribir $f(x-3)$?

Respuesta1

Usando el animatepaquete, puedes hacer algo como esto:

\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}

ingrese la descripción de la imagen aquí


Aplicado a su MWE, su código podría verse así (como no sabía a qué color desea cambiar, simplemente elegí rojo):

\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}

ingrese la descripción de la imagen aquí

Por supuesto, también podrías agregar más pasos, pero luego tendrías que pensar en qué escribir como etiqueta para elyeje. (El código anterior está algo "reforzado" y ahora también acepta números flotantes, por lo que puedes jugar con diferentes configuraciones).

información relacionada