
Te comparto el código fuente de una animación que elaboré usando LaTeX2e.
Te explico grosso modo el código fuente.
El documento es de la clase beamer
.
Empiezo cargando los paquetes que se requieren para generar la animación (TikZ
, ifthen
y animate
). Indico las opciones de las diapositivas de la presentación en beamer y después indico información sobre el archivo en un comentario de varias líneas.
Inicio el contador angulo
, que me sirve para indicar el valor del ángulo para graficar las componentes en la imagen (frame) actual.
Inicio el ciclo while
que se repetirá mientras el valor del contador angulo
sea menor que 360. Después inicio la figura usando el ambiente tikzpicture
.
Primero defino las funciones que van a graficar las componentes. Los parámetros de entrada son la frecuencia y t
.
Después dibujo una cuadrícula usando la instrucción grid
.
Para cada celda de la cuadrícula dibujo la gráfica de la función con componentes x(t), y(t) con las frecuencias iguales a los valores de la columna y renglón correspondientes.
Cada gráfica se genera desde t = 0
hasta el valorangulo
.)
Finalmente aumento el contador angulo
en 3 para cambiar el valor del ángulo y así generar 120 frames y vuelvo a iniciar el ciclo hasta que el valor del contador sea igual a 360.
A continuación se enlista el código fuente.
\documentclass[10pt,aspectratio=169]{beamer} \usepackage{tikz} \usetikzlibrary{math} \usepackage{ifthen} \usepackage{animate} % Beamer \usetheme{Warsaw} \usecolortheme{whale} \author{Efraín Soto Apolinar} \title{www.aprendematematicas.org.mx} % % Nombre de archivo: mhs.tex % Descripción: % Se muestran trayectorias de puntos cuyas componentes x(t), y(t) % presentan movimiento armónico simple. % Las curvas cerradas se conocen como curvas de Lissajouse. % Ver animación en YouTube: https://youtu.be/2rA4Alb1lzU % % Fecha de creación: 12 de noviembre de 2022. % Fecha de última modificación: 12 de noviembre de 2022. % Autor: Efraín Soto Apolinar. % https://www.aprendematematicas.org.mx/author/efrain-soto-apolinar/instructing-courses/ % Términos de uso: % https://creativecommons.org/licenses/by-nc-sa/4.0/ % Muchas gracias por respetar los términos de uso. % \newcounter{angulo} \setcounter{angulo}{0} % \begin{document} % % % \begin{frame}[fragile]{}{}{} \begin{center} \begin{animateinline}[loop, poster = first, controls]{20} % \whiledo{\theangulo<360}{ % % Fuente de la figura: % https://domesticflight.tumblr.com/post/182707091566 % \begin{tikzpicture}[scale=1.0] \tikzmath{function equis(\f,\t) {return \a * cos(\f * \t);};} \tikzmath{function ye(\f,\t) {return \a * sin(\f * \t);};} \pgfmathsetmacro{\a}{0.45} % Ejes coordenados \draw[help lines] (0,0) grid (7,7); \foreach \x in {1,2,...,7} \node at (\x-0.5,-0.35) {$\x$}; \foreach \y in {1,2,...,7} \node at (-0.35,\y-0.5) {$\y$}; % Dibujo las gráficas \foreach \fx in {1,2,...,7}{ \foreach \fy in {1,2,...,7}{ \pgfmathsetmacro{\uno}{\fx * 100 / 7.0} \pgfmathsetmacro{\dos}{100 - \uno} \draw[red!\uno!blue!\dos!cyan,shift={(\fx-0.5,\fy-0.5)}] plot[domain=0:\theangulo,smooth,variable=\t,samples=180] ({equis(\fx,\t)},{ye(\fy,\t)}); \pgfmathsetmacro{\px}{equis(\fx,\theangulo)} \pgfmathsetmacro{\py}{ye(\fy,\theangulo)} \fill[red,shift={(\fx-0.5,\fy-0.5)}] (\px,\py) circle (1pt); } } % \end{tikzpicture} % \addtocounter{angulo}{3} % \ifthenelse{\theangulo<360}{ \newframe }{ \end{animateinline}\relax } } \end{center} \end{frame} % % % \end{document} |
El resultado final se muestra a continuación.
Si aún no conoces LaTeX2e, te invito a aprenderlo con nuestro curso en línea gratuito, titulado LaTeX2e para principiantes.
0 responses on "Movimiento armónico simple: Animación en LaTeX2e"