Instituto Polit�cnico Nacional
Instituto Politécnico Nacional
"La Técnica al Servicio de la Patria"

Boletín No. 93
1o. de noviembre de 2022




REPRESENTACIÓN GRÁFICA EN 3D Y USO DE ANIMACIÓN PARA GRAFOS EN MATLAB

 

M. C. Esther Viridiana Vázquez Carmona
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
M. C. Rodrigo Vázquez López
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
M. en C. Luis Alberto Flores Montaño
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
Dr. Juan Carlos Herrera Lozada
Instituto Politécnico Nacional
Centro de Innovación y Desarrollo Tecnológico en Cómputo
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

Cómo citar este artículo

Resumen

Actualmente día a día se generan miles de datos que por lo general se almacenan en servidores o en la nube, sin embargo, en muchas ocasiones estos datos solo tienden a permanecer ahí y no darles un buen uso, es por ello por lo que la visualización de datos contribuye a medir, analizar y mostrar dichos datos con el objetivo de ser interpretados y posteriormente contribuir a la toma de decisiones, realizar predicciones y presentar la información de una forma clara y concisa. En este documento se presenta el uso de una biblioteca de MATLAB que permite visualizar y manipular datos mediante codificación. Además, se presenta el uso de animación simple con el propósito de simular el seguimiento de una ruta en un vehículo aéreo no tripulado (VANT) dentro de una rejilla que mide 3x2 conformada por 24 nodos. Los resultados presentados son una serie de gráficas que muestran el desplazamiento de una esfera hacia cada nodo cubriendo la rejilla en su totalidad.

 

1. Introducción

En la ciencia de datos es importante representar datos con el objetivo de analizarlos y posteriormente evaluar alternativas para la toma decisiones. Cabe destacar que en la actualidad existen un gran número de herramientas para su visualización y análisis, entre ellos se encuentran frameworks, bibliotecas y paquetes de software como ggplot2, matplotlib y plotly (R, Matlab y Python respectivamente) así como MS Excel, MS Power BI, Qlik, Tableau que no requieren conocimientos de programación (D. gob.,2018). No obstante, este trabajo se centra en el uso de la biblioteca PLOT3 de MATLAB, una biblioteca dedicada a crear líneas o diagramas de puntos en espacios 3D.

1.1 MATLAB y biblioteca PLOT3

MATLAB (en inglés Matrix Laboratory) es una plataforma de programación que trabaja particularmente con cálculo numérico empleando el uso de matrices, representación de datos y funciones, entre otras aplicaciones (MathWorks, 1994). Una de las bibliotecas que Matlab utiliza para representación de datos es PLOT3, la cual está diseñada para crear gráficos mediante funciones. Está biblioteca trabaja con los vectores (x,y,z), que deben ser de la misma longitud para el trazado de coordenadas conectadas a través de segmentos de línea (Pedamkar,2022).

1.2 Animación de objetos en gráficas de MATLAB

En general MATLAB tiene la característica de aplicar efectos de color, especificar el tipo de línea, así como agregar texto a los gráficos. Sin embargo, también existe la posibilidad de agregar efectos de animación, esto con el objetivo de enfatizar datos importantes o dar seguimiento en tiempo real (Fizell,2022). Las técnicas más utilizadas para crear animaciones son: representar un marcador a lo largo de la línea, animación de líneas, mover objetos a lo largo de la figura o simplemente animar objetos en una superficie. Estos funcionan a través de las funciones drawnow, addpoints, hgtransform, drawnow limitrate y pause respectivamente (MathWorks, 1994).

Este documento se centra en la visualización de un grafo a través de la biblioteca PLOT3 y aplicar una animación mediante pause, con el objetivo de simular una ruta que sigue un VANT. El grafo es una rejilla formada por 24 nodos, sin embargo, funciona también para grafos de gran tamaño, aunque tiene la desventaja de demorarse en graficar conforme estos se van incrementando. El gráfico además integra pequeñas esferas que se despliegan conforme pasa el tiempo y muestran el seguimiento de la ruta que sigue un VANT hasta cubrir la rejilla en su totalidad.

parrafo

2. Desarrollo

Como se mencionó anteriormente se va a emplear una rejilla de 3x2 lo cual da un total de 24 nodos, cabe recalcar que son coordenadas en un espacio 3D. Para ello se crea una matriz de adyacencias que indica como es que están conectados los nodos, posteriormente se declaran los nodos o coordenadas en el espacio. A continuación, en la figura 1 se muestra la declaración de variables necesarias para la implementación de dicha rejilla.

 

Figura 1. La figura muestra la declaración de variables que corresponde a la matriz de adyacencia y los nodos correspondientes a la rejilla.

 

La figura muestra la declaración de variables que corresponde a la matriz de adyacencia y los nodos correspondientes a la rejilla. En la figura 2 se muestra la codificación que grafica una rejilla de 3x2 con 24 nodos.

 

Figura 2. La figura muestra el código a seguir para obtener el gráfico, nótese agrega una restricción para recorrer la matriz de adyacencia solo una vez.

 

En la figura 3 se observa el código que realiza la animación a través de un conjunto de esferas, esta animación va mostrando en tiempo real la ruta que debe seguir el VANT dentro de la rejilla para recorrer todo el grafo.

 

Figura 3. La figura muestra el código para generar la animación de la rejilla. Cabe destacar que la ruta es un vector aleatorio y agrega un nodo más, esto con el objetivo de que el vehículo regrese a su punto de inicio. El tiempo del que depende la animación está sujeto a la función pause, entre más alto sea el valor, la animación será más lenta.

 

3. Resultados

Los resultados obtenidos a partir del procedimiento llevado a cabo en la sección anterior fueron los siguientes:

  1. Con la implementación del código en la figura 1 se obtuvo una rejilla de 3X2, esta figura se muestra en la figura 4.

 

Figura 4. La figura muestra una rejilla de 3x2 con 24 nodos.

 

  1. Posteriormente se implementó la animación, que son esferas en color azul y van mostrándose conforme avanza el tiempo. Esta figura se puede observar en la figura 5.

 

Figura 5. En esta figura se puede observar la evolución de cada esfera conforme avanza el tiempo hasta cubrir por completo el grafo o rejilla. Además, se agrega la etiqueta con cada uno de los nodos lo cual representa la ruta que sigue un VANT.

 

Conclusiones

En este trabajo, se implementó una rejilla o malla, integrada por un conjunto de vóxels que simula un espacio o volumen 3D, adicionalmente se llevó cabo una técnica de animación, que consiste en mostrar una serie de esferas que van ocupando un nodo de la rejilla conforme avanza el tiempo. La ruta de las esferas está condicionada por un vector aleatorio, está ruta muestra la trayectoria que debe seguir un VANT hasta cubrir el total de los nodos que la integran.

Referencias

  1. D. gob. (2018, May 22). TLa importancia de la visualización gráfica de los datos. La Importancia de la Visualización Gráfica de los datos.Retrieved September 19, 2022, from https://datos.gob.es/es/blog/la-importancia-de-la-visualizacion-grafica-de-los-datos.

  2. MathWorks.utor (1994). Matlab - El Lenguaje del Cálculo Técnico. El lenguaje del cálculo técnico - MATLAB & Simulink.Retrieved September 20, 2022, from https://la.mathworks.com/products/matlab.html

  3. ] Pedamkar, P. (2022, September 8). 3D plots in MATLAB: Learn the types of 3D plot in MATLAB.EDUCBA.Retrieved September 20, 2022, from https://www.educba.com/3d-plots-in-matlab/

  4. Fizell, Z. (2022, March 31). How to animate plots in MATLAB. Medium. Retrieved September 20, 2022, from https://towardsdatascience.com/how-to-animate-plots-in-matlab-fa42cf994f3e

  5. MathWorks. (1994). Técnicas de animación. Técnicas de animación MATLAB &; Simulink - MathWorks América LatinaRetrieved September 20, 2022, from https://la.mathworks.com/help/matlab/creating_plots/animation-techniques-1.html

Cómo citar este artículo en APA

Vázquez, E., Vázquez, R., Flores, L. y Herrera, J. (1 de noviembre de 2022). Representación gráfica en 3d y uso de animación para grafos en matlab. Boletín UPIITA. 17 (93).
https://www.https://www.boletin.upiita.ipn.mx/index.php/ciencia/1022-cyt-numero-93/2104-representacion-grafica-en-3dy-uso-de-animacion-para-grafos-en-matlab

Regresar al índice