Point AnimatorWritten by Paul Bourke
"pointanim" (point animator) is an OpenGL application to visualise, in stereo3D, point datasets that vary in time. The exact specifications have evolved to meet the needs of the local research projects. Two stereo3D modes modes are supported, frame sequential that typically runs at 120Hz and uses active shutter glasses, and dual display which normally uses a two pipe OpenGL card and passive polaroid glasses. Various data formats are supported (see later), some are ascii and other binary. The binary formats while less convenient are normally used because they can be read significantly faster. The basic element of a data file is a series of x,y,z triples, each one is drawn as a point with some colour. The colour can either be derived from geometric features such as curvature, velocity, etc, or a scalar variable can be secified and this will be mapped onto one of a number of colour ramps, or it can be explicitly specified in the data file.
The normal use of "pointanim" involves launching the application with a variety of command line arguments, once loaded the point data is repeatedly drawn for each time step. The user may control almost all aspects of the camera, position, orientation, etc as well as control time (run forward, backwards, stop, jump to arbitrary position).Command line arguments
Typing "pointanim" on the command line will present the following (since none of the required arguments are provided).
Usage: pointanim [command line options] Required: -np n number of points to read from each file -f_ read in different formats (currently 0..5) -b s printf name for files eg: "aa%%04d.dat" Optional: -f full screen -F full half screen -s frame sequential stereo -ss dual screen stereo -l circular looping (default: off) -dn n the subsampling rate (1..) -i n interpolation factor (1..) -da n draw as symbol (default: 1) -os n object size (default: 1) -c n colour ramp (default: 1) -C n colour attribute (default: -1) -as start in autospin mode (default: off) -bb show bounding box (default: off) -ax show axes (default: off) -gr show grid (default: off) -sl show slider (default: off) -fps n target frame rate (default: 25) -bg sl sr background images (left and right) -vf s start with view file -d debug mode -h this text
There are three required arguments, the number of points "-np" in each file (it isn't generally stored with the file), the format "-b" for the name of the data files, and the format of the files themselves "-f". The format for the file name follows standard C format specifications for printf().
As an example of the minimum command line to run "pointanim", assume the data files are called galaxy000.pnt, galaxy001.pnt, galaxy002.pnt, etc, each contains 10,000 points and and each point is defined by a vertex and colour then the minimal command line would bepointanim -np 10000 -f3 -b galaxy%03d.pnt
Once the program is running the following keyboard commands are supported.
arrow keys rotate left/right/up/down left mouse rotate left/right/up/down middle mouse roll clockwise/anticlockwise a toggle autospin h move the camera to the default position r toggle automatic progression of time i,j,k,l translate up,down, left, right [,] roll clockwise, anticlockwise +,- move forward or backward <,> move forward/backwards in time f1 toggle help f2 toggle info f3 toggle boundingbox f4 toggle axes f5 toggle axes grid f6 toggle animation slider f7 toggle colour ramp 0 go to the first frame 1,2 decrease/increase frame rate w dump current image to disk as TGA file esc,q quitFile Formats
"pointanim" expects each time step to be stored in a separate file. The file name must contain an integer from 0 upwards that indicates the time sequence order. Otherwise, since "pointanim" is given the C printf() format string for the file names, the file names can be formatted however one likes. The following formats specified by the "-f" option are currently supported.