http://www.aertia.com

MATFOR in C++

by Ancad

MATFOR in C++ is a high quality 2D/3D visualization library seamlessly integrated in Microsoft Visual C++ and Borland C++.

Visualization

High Quality 2D/3D Visualization
Based on industry recognized visualization library VTK (Visual Tool Kit) and OpenGL, MATFOR graphics library has extended the limit of data visualization to your astonishing imagination. Complicated data exhibition like streamline, surface plot, isosurface plot, vector plot, and slicing plot can be easily created in a few lines of programming. MATFOR focuses on optimizing the quality of visualization for plotting any sort of data. Figure 1 illustrates a series of isosurface plots that are stacked based on meteorological radar data with multiple altitudes to form a high quality weather map.



Figure 1: Isosurface Plot

Instant Visualization
Unlike other graphics libraries such as OpenGL, MATFOR graphics library provides a user-friendly and simple environment for implementation. Without going into the trouble of Windows programming nor being trapped into low-level graphical routines, computed data is visualized by simply inserting graphical commands with data of interest as the input arguments. No previous Windows or graphics initialization is needed. Time is saved due to the design of automatic initialization with default environment setting. As a result, you may find your visualization pops out on the screen instantly. Example 1 illustrates how the mesh plot procedure is embedded in C++ programs.

Example 1: Mesh Plot embedded in C++ program

Figure 2: Result of Mesh Plot

Movie-like Presentation
Movie-like presentation capability creates a dynamical way of thinking at your simulation. MATFOR provides recording approach for the presentation. Pictures displaying on screen can be captured and saved into a movie file in format like avi (Audio Video Interleave). Such files can be replayed using media players.

Figure 3: Recorded Animation Playing on Media Player

Speed

Post-Processing Acceleration
Scientific computing researchers can only debug or do error checking at the end of each program execution. Chung-Shan Institute of Science and Technology reveals that when doing CFD (Computational Fluid Dynamics) researches, 70% of time is spent on post-processing (e.g. data format conversion, data export, colormap adjustment, view angle adjustment and visualization debugging), because computed data can only be visualized for examination after huge quantity of data is processed. Therefore, real-time program monitoring mechanism becomes a necessity for scientific computing programmers as it aids them in reducing the time and effort spent on post-processing.

While the efficiency of MATFOR's graphical procedures is consistently being optimized, MATFOR focuses on enabling a real-time program monitoring mechanism for debugging purpose. To achieve this goal, MATFOR provides Graphics Viewer and Data Viewer that display intermediate data. During execution, you can 1) see how the algorithm runs on the Graphics Viewer, 2) pause the algorithm and export intermediate data to spreadsheet-like Data Viewer for further examination. "Real-time pro gram monitoring mechanism helps us to save at least 60% of developing time in each project", says Dr. Huang of Chung-Shan Institute of Science and Technology.

Simplicity

Single data typing
MATFOR adopts the simple calling concept that is used in Matlab by introducing state-of-the-art data type called "mfArray". It is a highly flexible array that does not require explicit data typing nor dimensioning. Such single data typing brings simplicity in calling routines, as the one used in Matlab and Visual Basic.

mfArray provides dynamic data typing and dimensioning in C++ environment. Most of our procedures are based on it. mfArray-based procedures can be easily embedded into your program without any modification to your source code. It also allows you to use Matlab-like syntax in C++ environment. Example 2 shows how mfArray is declared and used.

Example 2: Declaration and Usage of mfArray in C++

Numerical Library
The MATFOR Numerical Library is a collection of mathematical functions, ranging from elementary mathematical functions such as mfSin, mfCos, and complex arithmetics, to sophisticated functions like eigenvalues, lu decomposition, matrix inverse and conditioning functions.

Based on Intel?s MKL(math kernel library), the Numerical Library is promised to deliver high accuracy and high performance. The Numerical functions are organized into several smaller import library sets ? elfun, fileio, datafun, elmat, and matfun. Most functions use mfArray as input and output argument. With the easy-to-use syntax, MATFOR?s functions fully take the advantage of vector language programming so they can be called very intuitively.

The Numerical functions adopt the easy-to-call syntax. It allows you to fully focus on the problem solving without having to worry about the data structure management and input argument handling. In addition, MATFOR provides specific numerical functions that automatically find the optimal way to solve commonly-used numerical algorithms, such as solving an inverse matrix. This ensures the robustness and efficiency of the code.

Example 3: Solving Ax = b, x = mfLDiv(A, b)

Requirements

MATFOR 3 in C++ for Windows:

Platform: Windows 98/NT/2000/Me/XP
Compiler: Borland C++ Builder, Visual C++, Intel C/C++ 7.0 or above

MATFOR 3 in C++ for Linux:

Platform: Linux system with glibc 2.2.5 or 2.2.93 and the 2.4.X Linux kernel
Compiler: GNC C++, Intel C/C++ 7.0 or above

 

Price list
MATFOR 3 in C++ for Windows 32-bit 2.000,00 €

MATFOR 3 in C++ for Windows 64-bit (Itanium) 4.000,00 €

MATFOR 3 in C++ for Linux RedHat 32-bit 2.000,00 €

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

MATFOR 3 in C++ Academic License Check with Aertia



© 2004, Aertia, S.L.