Setup Menus in Admin Panel

  • LOGIN
  • No hay productos en el carrito.

Movimiento circular y olas

Te comparto el código fuente de una figura que elaboré usando TikZ de LaTeX2e para generar una animación de un patrón de movimiento con forma de ola con base en el movimiento circular usando Beamer, TikZ y animate.

Te explico grosso modo el código fuente.

Empiezo cargando los paquetes que se requieren para generar la figura. Indico información sobre el archivo en un comentario de varias líneas.

El contador angulo se utiliza para calcular el ángulo en coordenadas rectangulares de la posición del punto en cada círculo. El contador paso se utiliza como incremento entre valores sucesivos del contador angulo.eje x.

Utilizo un ciclo while para generar la animación.

Se definen algunas variables.

  • \r es el radio de cada círculo dibujado en color gris.
  • \factor ayuda a calcular el ángulo de defasamiento en cada círculo.
  • \xf Máximo valor de x en la gráfica.
  • \yx Máximo valor de y en la gráfica.

Después con la instrucción \foreach anidada, una para x y la otra para y, calculo la posición de cada punto en cada círculo, de manera que dé la apariencia de movimiento a través del defasamiento del punto en cada círculo.
Finalmente, dibujo un rectángulo de color azul claro (cyan) para enmarcar la animación.

A continuación se enlista el código fuente.

\documentclass[10pt,aspectratio=169]{beamer}
\usepackage{tikz}
\usepackage{ifthen}
\usepackage{animate}
% Beamer
\usetheme{Warsaw} 
\usecolortheme{whale}
\author{Efraín Soto Apolinar}
\title{www.aprendematematicas.org.mx}
%
% Filename: circular-patterns-animation.tex
% Description: 
% An animation to simulate a wave-like motion
% using circular motion.
% 
% Date of creation: October, 5th, 2023.
% Date of last modification: October, 5th, 2023.
% Author: Efraín Soto Apolinar.
% https://www.aprendematematicas.org.mx/author/efrain-soto-apolinar/instructing-courses/
% Terms of use:
% https://creativecommons.org/licenses/by-nc-sa/4.0/
% Your commitment to the terms of use is greatly appreciated.
%
\newcounter{angulo}
\setcounter{angulo}{0}
\newcounter{paso}
\setcounter{paso}{10}
%
\begin{document}
%
%
%
\begin{frame}[fragile]{Patrones circulares}{}{}
\begin{center}
\begin{animateinline}[loop, poster = first, controls]{20}
%
\whiledo{\theangulo<360}{
	%
	% Source of the idea:
	% https://x.com/pickover/status/1709715236922564897?s=20
	%
	\begin{tikzpicture}
		\pgfmathsetmacro{\r}{0.475}
		\pgfmathsetmacro{\factor}{30.0} 
		\pgfmathsetmacro{\xf}{12.0}
		\pgfmathsetmacro{\yf}{5.0}
		% The circles and points
		\foreach \x in {0,0.5,...,\xf}{
			\foreach \y in {0,0.5,...,\yf}{
				\pgfmathsetmacro{\px}{\r * cos(\theangulo + \factor * (\x + \y))}
				\pgfmathsetmacro{\py}{\r * sin(\theangulo + \factor * (\x + \y))}
				%
				\draw[gray] (\x,\y) circle (\r cm);
				\fill[blue,shift={(\x,\y)}] (\px,\py) circle (1pt);
			}
		}
		%
		\draw[cyan,very thick] (-0.25 - \r,-0.25 - \r) rectangle (\xf + \r + 0.25, \yf + \r + 0.25);
	\end{tikzpicture}
	%
	\addtocounter{angulo}{\thepaso}
	%
	\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.

octubre 6, 2023

0 responses on "Movimiento circular y olas"

    Leave a Message

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

    X