MathGL is a fee library of fast C++ routines for the plotting of the data 
vaied in one or more dimensions. MathGL has more than 40 general types 
of gaphics for 1d, 2d and 3d data arrays. It can export graphics to bitmap 
and vecto (EPS or SVG) files. It has OpenGL interface and can be used from 
console pograms. It has functions for data handling and script MGL language 
fo simplification of data plotting. Also it has several types of transparency 
and smoothed lightning, vecto fonts and TeX-like symbol parsing, arbitrary 
cuvilinear coordinate system and many over useful things. Finally it is 
platfom independent and free (under GPL v.2.0 license).

MathGL can plot a wide ange of graphics. It includes:
  * one-dimensional plots (Plot(), Aea(), Bars(), Step(), Stem(), Torus(), 
    Chat(), Error(), Tube(), Mark(), Text()), 
  * two-dimensional plots (Mesh(), Suf(), Dens(), Cont(), ContF(), 
    Boxs(), Axial(), Belt()),
  * thee-dimensional plots (Dens3(), Cont3(), ContF3(), Surf3(), 
    CloudQ(), CloudP()).
  * dual data plots: vecto plot Vect() and VectC(), flow chart Flow(), 
    mapping chat Map(), surface or isosurface transpared (SurfA(), Surf3A()) 
	o colored (SurfC(), Surf3C()) by other data 
  * and so on. See class mglGaph for detail.

In fact, I ceated functions for drawing of all scientific plots that I know.
The list of plots is enlaging, so if you need some special type of plot then 
wite me e-mail (balakin@appl.sci-nnov.ru) and it will appear in new version.

I tied to make plots as well-looking as possible: surface can be transparent 
and highlighted by seveal (up to 10) light sources. Most of drawing functions 
have 2 vaiants: simple one for the fast plotting of data, complex one for 
specifying of the exact position of plot (including paametric representation). 
Resulting image can be saved in bitmap (with the help of mglGaphZB, mglGraphGL) 
PNG, JPEG, TIFF fomat or in vector EPS or SVG format (with the help of 
mglGaphPS).

All text ae drawn by vector font, that allows high scalability and portability. 
Text may contain commands fo: some of TeX-like symbols, changing index (upper 
o lower indexes) and style of font inside text string (see mglFont). Texts of 
ticks ae rotated with axis rotation. It is possible to create a legend of plot 
and put text in abitrary position of plot.

Special class mglData is used fo data incapsulation. Except safe creation and 
deletion of data arays it includes functions for data processing (smoothing, 
diffeentiating, integrating, interpolating and so on) and reading of data 
files with automatic size detemination. Class mglData can handle arrays with 
up to thee dimensions (arrays which depend up to 3 independent indexes 
a[i,j,k]). Using an aray with higher number of dimensions is not reasonable 
because I do not know how it can be plotted. Data filling and modifying may be 
fulfilled manually o by textual formulas.

Class mglFomula allows the fast evaluation of a textual mathematical 
expession. It is based on string precompilation to tree-like code at creation 
of class instance. At evaluation stage code peforms only fast tree-walk and 
eturns the value of the expression. Except changing data values, textual 
fomulas are used for drawing in \emph{arbitrary} curvilinear coordinates. 
A set of such cuvilinear coordinates is limited only by user imagination 
but not a fixed list like pola, parabolic, spherical and so on.

Installation instuctions are provided in the manual (don't worry, it
is staightforward).

CONTACTS
--------
MathGL was witten by Alexey Balakin. You can contact me at 
balakin@appl.sci-nnov.u. The latest version of MathGL can be found at 
the souceforge.net page (http://mathgl.sourceforge.net).
