QTOCTAVIZ

QTOCTAVIZ
Información sobre la plantilla
Parte de la familia Octave
Q.jpeg
Sistema de Visualización Cientifíca vinculado a Octave para el apoyo de la enseñanza en las matemáticas.
CreadorCompanioni Guerra A.
DesarrolladorHernández Cruz J. L, Chavez Alfonso M. A
Fecha de Creación2009
Lanzamiento inicialmayo 2010
Plataformas soportadasMultiplataforma
Sistemas Operativos compatiblesLinux, Windows
IdiomaIngles

QTOCTAVIZ. A partir del creciente desarrollo experimentado por las Ciencias de la Informática desde las últimas décadas, surge la necesidad de contar con herramientas que ofrezcan un amplio abanico de opciones de acceso a la información, concediendo a los usuarios un elevado nivel de intervención-decisión a través de un gran número de objetos interactivos.

Los asistentes matemáticos, como obra humana y científica, no escapan a este paradigma y de igual manera se trata que lleguen hasta los usuarios finales de la forma más amena y utilitaria posible. Los sistemas sobre los que se soporta Octave de modo particular para la visualización de sus resultados carecen, de manera general, de una eficiente interactividad lo que hace engorroso la gestión de las propiedades de las representaciones y obstaculiza en buena medida los proceso de enseñanza y/o aprendizaje de quienes buscan el conocimiento mediante su empleo.

El propósito de este software consiste en proponer a Qtoctaviz como una alternativa a los graficadores que utiliza Octave, lo que apoyará de forma significativa la enseñanza de las matemáticas con el uso de este asistente. La nueva propuesta abstrae al usuario final de la necesidad de conocer engorrosos comandos para el tratamiento de las representaciones, centrándose solo en la interacción con un popular sistema de ventanas y botones, que propicia fácil acceso a la totalidad de la información que puede gestionarse en el sistema.

Asistentes matemáticos

Los graficadores empleados por los asistentes matemáticos constituyen una de las principales herramientas que utiliza la ciencia moderna para la Visualización Científica de Datos. En el caso particular de los asistentes matemáticos de esencia numérica el más conocido y empleado internacionalmente es Matlab dada la cantidad de prestaciones que posee y el nivel de integración, extensibilidad y facilidad de uso que hoy incorpora.

Si bien son innegables estos atractivos en dicha herramienta de elevado poder de cálculo, no es menos cierto que la misma posee altos precios de adquisición que la hacen completamente inasequibles para universidades y/o centros de investigación o producción, fundamentalmente del tercer mundo. Como herramienta homologa a Matlab se encuentra el asistente matemático libre y de código abierto Octave, que brinda un conjunto de facilidades similares a Matlab, pero el nivel de visualización científica que posibilita Octave en estos días se ubica muy por debajo del nivel de otras aplicaciones privativas.

Octave utiliza fundamentalmente dos graficadores para la visualización de sus resultados Octaviz y Gnuplot; sin embargo estos poseen un ineficiente grado de interactividad. La ineficiente interactividad que poseen los sistemas para la Visualización Científica que actualmente utiliza Octave, impone un engorroso proceso de gestión de propiedades de las gráficas, debido a esto el objetivo del software es proponer a Qtoctaviz como un graficador interactivo para la Visualización Científica mediante Octave, que eliminará lo engorroso del proceso de gestión de propiedades de las gráficas.

Materiales y Métodos

GNU Octave

Octave se puede definir como un lenguaje de alto nivel inspirado en un software comercial MATLAB (MATrix LABoratory). Octave no se limitan a simple trabajo con matrices y vectores, como una mera calculadora, sino que además de aplicaciones puramente matemáticas o numéricas, es aplicable a múltiples campos de la ciencia e ingenierías entre ellos, el procesamiento de señales (sonido), de imágenes (filtrados, análisis, etc.), estadística, geometría, redes neuronales, sistemas de control realimentados y hasta el dibujo vectorial.

Escrito en C++ usando la librería STL y posee un intérprete de su propio lenguaje que permite ejecutar sentencias de forma interactiva, aunque también posibilita la ejecución por lote, o lo que es lo mismo: la ejecución de acciones sin mediación del usuario. El procesamiento interactivo se realiza a través del lenguaje Octave, un lenguaje interpretado de alto nivel y que soporta gran parte de las funciones de la librería estándar de C y otras similares, las cuales pueden extenderse con el uso de funciones y procedimientos por medio de módulos dinámicos.

Librería VTK

VTK es una librería de código abierto bajo la licencia BSD para la visualización de gráficos 2D y 3D y procesamiento de imágenes. Consiste en una librería de clases en C++ incluyendo la posibilidad de una extensión para Java, Python y Tcl. Soporta una amplia variedad de algoritmos de visualización, incluyendo: vectores, escalares, tensores, texturas y métodos volumétricos y técnicas de modelado avanzadas tales como los modelos implícitos, reducciones de polígonos, suavizado de mallas, cortes de contorno y la triangulación de Delaunay. VTK cuenta con un amplio marco de de visualización de la información, posee un conjunto de widgets 3D de interacción, apoya el proceso paralelo y se integra con varias bases de datos sobre la interfaz gráfica de usuario tales como herramientas Qt y Tk.

Librería Qt

Qt apareció como biblioteca en 1992 desarrollada por Quasar Technologies en aquel entonces, hoy Trolltech. Es una biblioteca multiplataforma para desarrollar interfaces gráficas de usuario y también para el desarrollo de programas sin interfaz gráfica, como herramientas de consolas y servidores. Qt utiliza el lenguaje de programación C++ de forma nativa, adicionalmente puede ser utilizada en varios otros lenguajes de programación a través de enlaces. El API de la biblioteca cuenta con métodos para acceder a bases de datos mediante SQL, así como uso de XML gestión de hilos, soporte de red, un API multiplataforma unificado para la manipulación de archivos y una multitud de otros para el manejo de ficheros, además de estructuras de datos tradicionales.

Qtcreator

Qtcreator es un IDE multiplataforma para desarrollar aplicaciones en C++ de manera sencilla y rápida creado por Trolltech. Como su nombre lo indica, está basado en la librería Qt y cuenta con las siguientes características principales:

  • Editor avanzado para C++.
  • Diseñador de formularios (GUI) integrado.
  • Herramientas para la administración y construcción de proyectos.
  • Completado automático.
  • Depurador visual.

Descripción y análisis de la solución propuesta

El sistema desarrollado sobre las librerías VTK y Qt con el uso de Qtcreator, permite la representación gráfica de diferentes funciones desde Octave así como una interactividad a partir de botones y otros componentes, mediante operaciones con el ratón directamente sobre las gráficas y a través de combinaciones de teclas del teclado. Las funciones representativas implementadas son las siguientes:

Opciones de interactividad del sistema

Interfaz de usuario de Qtoctaviz

La nueva propuesta brinda a los usuarios varias opciones de interactividad; inexistentes en los graficadores utilizados por Octave; a través de botones interactivos en un sistema de ventanas y desplazamientos con el ratón sobre las gráficas representadas. Mediante el trabajo con la nueva propuesta el usuario tiene la posibilidad de gestionar de forma rápida y eficiente la información relacionada con los ejes coordenados y las funciones graficadas.


Los siguientes elementos constituyen características relativas a la interactividad y gestión de la información presentes:

Barra de herramientas

Permite cuatro estados de interactividad (None, Pan, Rotate 3D y Rotate 3D All). En el caso del estado None el usuario tiene una interactividad nula con las gráficas. Cuando se selecciona la opción Pan, el usuario puede redimensionar el tamaño de la figura y moverla a través del plano que representa la ventana principal. A través de la opción Rotate3D se puede seleccionar una gráfica para desarrollar una interactividad en tres dimensiones de forma individual. A través de la opción Rotate 3D All el usuario interactúa con todas las gráficas de tipo 3D representadas.

Resultados y discusión

El sistema desarrollado ha sido desplegado satisfactoriamente en los laboratorios docentes de la facultad 1 de la Universidad de Ciencias Informáticas como graficador principal para el uso de la herramienta EIDMAT. Su utilización se realiza principalmente en los temas vinculados a las asignaturas de Matemática 3 y Matemática 4.

Qtoctaviz ha sido presentado en diferentes espacios científicos en la comunidad universitaria, obteniendo categoría de destacado en la VI Jornada Científica Estudiantil realizada en la UCI, ha sido presentado en las diferentes ferias de productos desarrolladas en la propia institución y tuvo gran aceptación en un intercambio con la comunidad científica del IPSJAE y del CITMA.

Mediante el uso de ventanas, botones interactivos y una elevada interacción con las gráficas, el usuario puede realizar de forma rápida e intuitiva diferentes operaciones sobre las funciones representadas lo que constituye un factor de peso en el grado de aceptación de la propuesta, ya que con el uso de los graficadores más utilizados actualmente por Octave la interacción con las gráficas debía hacerse mediante la consola a través de engorrosos comandos.

Observaciones

Con la realización de este software se cierra un período de desafíos y gratitudes asociadas a la superación de un número importante de insatisfacciones en la esfera de la visualización científica, las que dificultaban el trabajo de los centros de investigaciones y casas de altos estudios que utilizan Octave.

Entre los aspectos más significativos del trabajo se puede mencionar que fue desarrollado un sistema para la Visualización Científica, que permite la graficación interactiva en dos y tres dimensiones de elementos procesados por Octave, así como la exportación de gráficas en diferentes formatos y la gestión de la información relativa a las mismas.

Fuente