Mesh Animator Utility

Written by Paul Bourke
May 1997

Mesh Animator is a plug-in for Geomview that displays time varying rectangular surfaces. Depending on the 3D rendering capabilities of the hardware being used the animation may be in real time (on an SGI Indigo 2, a 40x40 grid can be animated at about 5 frames per second).

The utility has been designed around the requirements of simulation output from the Brain Dynamics Laboratory, one characteristic of which is the very large file sizes. Mesh Animator does not require all the data to be memory resident but reads the data as it proceeds. Further the data is in a "easy-to-read" ASCII format (for historical and portability reasons).

Most of the functionality can be guessed from the main panel shown on the right. Some of the main points are discussed below

  • The grid size must be specified, it isn't part of the datafiles.
  • The grid plane has integer units, the z axis can be scaled for optimal presentation.
  • Grids can be subsampled for averaging purposes or to speed up the animation of large grids.
  • A number of different colour maps are available.
  • The grid can be drawn as a cylinder or torus if the boundary conditions are appropriate. The radii in both dimensions can be specified.
  • Files can optionally have a time label, see later. If a time label is included then it will be displayed as the animation progresses otherwise frame numbers are displayed.
  • The animation can be stopped and single stepped. Note that reverse isn't possible due to the use of an ascii format.
  • Frames can be written to disk at regular intervals to be assembled later into a stand-alone movie.
  • Single ppm files can be saved at any stage.
  • Single geometric representations can also be saved for viewing in Geomview.

File format

The files Mesh Animator expects contain just ascii characters, each element in the grid is represented by a single numerical value separated from the next value by any "white space", namely, spaces, tabs, carriage returns, etc. The file is expected to contain N such values for each time step. By convention it is useful to separate each element by a single space and each time step by an end-of-line character.

So for example, for a 20x20 grid the output file would consist of 400 values for each time step. There is the option to start each time step with an additional numerical value, namely the time value.


The following are single time steps from animations running in Mesh Animator. The first two are "rough" and "smooth" simulations on a plane, the last is a demonstration of the toroid for when the grid is toroidally bound.