Visualización
Visualización 2D/3D de alta calidad
Basado en VTK (Visual Tool Kit), una de las mas renombradas librerías de
visualización de la industria, y en el estándar OpenGL, la librería grafica de MATFOR ha extendido sus funcionalidades para proporcionar a los programadores de aplicaciones un conjunto de herramientas indispensables para el desarrollo de su actividad cotidiana. Algunos de los
gráficos más importantes, derivados de datos técnicos o científicos, como
gráficos de superficie, isosuperficies, gráficos vectoriales, etc. pueden ser ahora creados con unas pocas
líneas de código. MATFOR esta enfocado en la optimización de los resultados de los
gráficos presentados, siendo estos obtenidos de cualquier conjunto de datos. La
figura 1 muestra un conjunto de gráficos de isosuperficie obtenidos por un radar meteorológico en diferentes altitudes para conformar un grafico de alta calidad correspondiente a un mapa climático.
Figura 1: Gráfico de isosuperficie
Visualización instantánea
Al contrario que otras librerías gráficas como OpenGL, la librería gráfica de MATFOR proporciona un simple y amigable entorno de trabajo desde donde poder desarrollar su trabajo. De este modo, evitará tener que acceder a la difícil y tediosa tarea de utilizar rutinas gráficas de bajo nivel para centrarse
básicamente en la resolución de su trabajo. De este modo, su trabajo se centrará fundamentalmente en la
inserción de las instrucciones gráficas y de los datos relacionados como argumentos de entrada. El
ejemplo 1 ilustra como un procedimiento gráfico se encuentra 'incrustado' en un programa
C++.
Ejemplo 1: Mesh Plot 'incrustado' en un programa C++
Figura 2: Resultado del Mesh Plot
Presentaciones animadas
La posibilidad de crear presentaciones animadas añade mayor dinamismo a sus simulaciones. MATFOR proporciona la posibilidad de realizar grabaciones de las simulaciones efectuadas. Los
gráficos que aparecen en la simulación pueden ser capturados y guardados en un formato tipo AVI (Audio Video Interleave) para ser
posteriormente reproducidos en populares 'media players'.
Figura 3: Ejecución de una animación grabada con el Reproductor Multimedia
Velocidad
Aceleración en el Post-Procesado
Los investigadores en computación científica pueden realizar un chequeo o
depuración de los errores producidos en su programa una vez éste se encuentra al final de su ejecución. El Dr. Chung-Shan del Instituto de Ciencia y Tecnología revela que cuando se realizan cálculos en CFD (Computational Fluid Dynamics), el 70% del tiempo invertido se realiza en tareas de post-procesado (p.e. conversión de formatos de datos, exportación de datos, ajustes en los mapas de colores, ajustes en los
ángulos de visión y visualización de las tareas de depurado). Esto es así porque los datos computados sólo pueden ser visualizados para su examen una vez han sido procesados una enorme cantidad de datos. Por lo tanto, el mecanismo de monitorización en tiempo real se transforma en una necesidad urgente para los programadores e investigadores en
áreas científicas, ya que les ayuda enormemente en un considerable ahorro de tiempo en las tareas de post-procesado.
Mientras que la eficiencia de los procedimientos gráficos de MATFOR es consistente y altamente optimizada, MATFOR se enfoca
además en proporcionar un mecanismo para la monitorización en tiempo real de programas para
propósitos de depuración. Para alcanzar este objetivo, MATFOR proporciona Graphics Viewer y Data Viewer que muestran los datos intermedios.
Así pues, durante la ejecución, Ud. puede: 1) ver como el algoritmo se ejecuta en Graphics Viewer y 2) pausar el algoritmo y exportar los datos intermedios a Data Viewer (que tiene una apariencia de hoja de calculo) para un examen mas avanzado.
"El mecanismo de monitorización en tiempo real nos ayuda a ahorrar cerca de un 60% en tiempo de desarrollo en cada uno de nuestros proyectos.", indica el Dr. Huang del Chung-Shan Institute of Science and Technology.
Simplicidad
Inclusión de datos simples
MATFOR adopta el concepto de 'simple llamada' que es utilizado por Matlab para introducir el tipo de dato denominado "mfArray". Se trata de un array altamente flexible que no requiere ni dimensionamiento ni la
inclusión de datos explícitos. Tan fácil como la inclusión sencilla de datos, proporciona una elevada simplicidad en la llamada de subrutinas, del mismo modo en que se realiza en lenguajes de programación como Matlab y Visual Basic.
mfArray proporciona la entrada de datos dinámicos y redimensionamiento en un entorno de trabajo
C++. Muchos de nuestros procedimientos están basados en él. Los procedimientos basados en mfArray pueden ser fácilmente 'incrustados' en nuestro programa sin necesidad de realizar ninguna modificación en nuestro código fuente. Esto nos permite utilizar un mecanismo de sintaxis tipo Matlab dentro de un entorno de trabajo
C++.
El ejemplo 2 muestra como mfArray es declarado y utilizado.
Ejemplo 2: Declaración y utilización de mfArray en Fortran
Librería numérica
La librería numérica de MATFOR es una colección de procedimientos
matemáticos, que van desde procedimientos matemáticos elementales como mfSin, mfCos, y
aritmética compleja, hasta sofisticados procedimientos como valores propios,
descomposición LU, matrices inversas, etc.
Basada en la Intel MKL (math
kernel library), la librería numérica de MATFOR proporciona alta precisión para obtener los
máximos rendimientos. Los procedimientos numéricos están organizados en
pequeños conjuntos de librerías ? elfun, fileio, datafun, elmat y matfun. Muchos procedimientos utilizan mfArray como argumento de entrada y salida. Con esta sencilla sintaxis, los procedimientos de MATFOR toman la clara ventaja de los tradicionales lenguajes de
programación vectoriales ya que pueden ser llamados de modo muy intuitivo.
Los procedimientos numéricos adoptan una sintaxis fácil de llamar. De ese modo, permite que el investigador o el programador se centre fundamentalmente en su problema, sin tener que preocuparse en cómo se realiza la
gestión de las estructuras de los datos y del mantenimiento de los argumentos de entrada. Adicionalmente, MATFOR proporciona procedimientos
numéricos específicos que de modo automático buscan el modo óptimo para resolver los algoritmos
numéricos que son utilizados comúnmente, como por ejemplo aquellos que implican la
inversión de matrices. Esto asegura la eficiencia y la robustez del código utilizado.
Ejemplo 3: Resolviendo Ax = b, x = mfLDiv(A, b)
Requerimientos
MATFOR 3 in C++ para Windows:
Plataforma:
Windows 98/NT/2000/Me/XP
Compilador: Borland C++ Builder, Visual C++, Intel C/C++ 7.0 o superior
MATFOR 3 in C++ para Linux:
Plataforma: Sistema Linux con
glibc 2.2.5 o 2.2.93 y el kernel Linux 2.4.X
Compilador: GNC C++, Intel C/C++ 7.0 o superior.
|