http://www.aertia.com

MATFOR in C++

de Ancad

MATFOR in C++ es una librería de visualización 2D/3D de alta calidad que está perfectamente integrada con entornos de desarrollo C++, como Microsoft Visual C++ y Borland C++.

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.

 

Precios
MATFOR 3 in C++ para Windows 32-bits 2.000,00 €

MATFOR 3 in C++ para Windows 64-bits (Itanium) 4.000,00 €

MATFOR 3 in C++ para Linux RedHat 32-bits 2.000,00 €

MATFOR 3 in C++ para Linux RedHat 64-bits (Itanium) 4.000,00 €

MATFOR 3 in C++ Licencia Académica Consultar



© 2004, Aertia, S.L.