Miscellaneous Stuff

Up ] OpenGL ] DirectX ] [ Miscellaneous ] BMGLib ]


A set of matrix / vector classes that is intended for number crunching.  Five 2-D Matrix classes (General, Symmetric, Upper Triangular, Lower Triangular, and Sparse) have been created.  The math operators have been overloaded and allow the matrix and vector classes to be used in an intuitive manner (i.e. similar to MatLab).  Typical linear functions (LU decomposition, Cholesky decomposition, etc.) have been included as well.

03/05/00 - Several fundamental changes were made to the Matrix/Vector classes.  An additional constructor was added to to each class that will take existing data and encapsulate it within the class.  This constructor became the default output of almost all math operators.  This improved performance (speed-wise) and made memory management simpler and more robust.  The TSparseMatrix class and the MatrixElement helper class were modified.  

Download Matrix/Vector classes


I have also written some additional "math" classes that may be of interest.

A polynomial class with all of the common math operators overloaded.

A transfer function class (a ratio of polynomials) with all of the common math operators overloaded.   Requires the polynomial class.

A generic (template) matrix / vector class that allows you to create matrices and vectors containing integers, floats, complex, polynomial, etc.  The math operators have been overloaded which allow the matrix and vector classes to be used in an intuitive manner.  A template for LU decomposition has been included as well.  These template classes work well with the polynomial and transfer function classes.  An example shows you how to start with a real matrix, A, and calculate the system transfer function matrix, (S I - A )-1.

03/05/00 - An additional constructor was added to to each class that will take existing data and encapsulate it within the class.  This constructor became the default output of almost all math operators.  This improved performance (speed-wise) and made memory management simpler and more robust. 

Download Generic Matrix/Vector classes, Polynomial Class, and Transfer Function Class.


Digital Terrain Elevation Data (DTED) and Digital Elevation Models (DEM) are data file formats that contain elevation data of the EarthLevel 0 DTED of selected areas can be obtained from the National Imagery and Mapping Agency (NIMA) web site.  DEM (I use the GTOPO30 data) and Shuttle Radar Topography Mission (SRTM) data can be obtained from the United States Geological Survey (USGS) EROS Data Center FTP site.  The image of Florida (shown above) was created by concatenating several DTED cells together.  You can download a project that will read and display these terrain data files from here.  You will also need the BMGLib project to build the demo application.  BCB  5 or VC++ 6.0 are required to build the projects.