### tipsy-2.2pre3 README file

    This directory contains source and documentation for TIPSY, a
    theoretical image processing system.  See INSTALLATION below for directions
    on building TIPSY.

    OVERVIEW:

    The developement of TIPSY was motivated by the need to quickly display
    and analyze the results of N-body simulations.  Most data
    visualization packages are designed for the display of gridded data,
    and hence are unsuitable for use with particle data.  Therefore, a
    special package was built that could easily perform the following
    functions:

    * Display particle positions (as points), and velocities (as line
    segments) from an arbitrary viewpoint.

    * Zoom in to a chosen position.  Due to their extremely clustered nature,
    structure of interest in an N-body simulation is often so small that
    it can not be seen when looking at the simulation as a whole.

    * Color particles to display scalar fields.  Examples of such fields
    are potential energy, or for SPH particles, density and temperature.

    * Selection of a subset of the particles for display and analysis.
    Regions of interest are generally small subsets of the simulation.

    * Following selected particles from one timestep to another.

    * Finding cumulative properties of a collection of particles.   This
    usually involves just a sum over the particles.

    The basic data structure is an array of particle structures.  Since
    TIPSY was built for use with cosmological N-body simulations, there
    are actually three separate arrays for each of the types of particle
    used in such simulations: collisionless particles, SPH particles, and
    star particles.  A single timestep is read into these arrays from a
    disk file.  Display is done by finding the x and y coordinates of the
    particles in the rotated coordinate system, and storing them in
    arrays.  Screen coordinates are calculated from these arrays according
    to the current zoom factor.  Also, a software Z-buffer is maintained
    to save time if many particles project to the same screen pixel.

    There are several types of display.  An ``all plot'' displays all
    particles colored according to their type.  A ``radial plot'' will
    color particles according to the projection of the velocity along the
    line-of-sight.  A ``gas plot'' will color gas according to SPH
    quantities such as density, temperature, neutral hydrogen fraction, etc.

    Subsets of particles are maintained using ``boxes''.  A box structure
    contains a bounding box, and an array of pointers to particles within
    the box.  All display and analysis functions are performed on the
    ``active box''.  By default all particles are loaded into box 0, which
    becomes the active box.

    If a new timestep is read from disk, all boxes are destroyed.  A
    selection of particles can be followed between timesteps via a
    ``mark'' array.  Marked particles are displayed in a different color,
    and the analysis functions can be told to only operate on the marked
    particles.

    INSTALLATION:

    To build, change directory to code, and type "configure".  This
    shell script will find out what features are on your system and will
    create a Makefile.  Inspect the Makefile to insure that the flags and
    libraries are correct for your system, then type "make".
    A tipsy executable should be created in this directory.

    For documentation within tipsy, set the environment variable
    "TIPSYHELPDIR" to point at the man subdirectory.  Note that the
    documentation is still being worked on.

    By default, tipsy is configured to run on an X screen with at least
    1000x900 pixels.  If you have a smaller screen, you may want to put
    the lines:
    tipsy*viewport*width: 800
    tipsy*viewport*height: 800
    into your X resources file.

    The file "run99.ascii" in the current directory is an example data
    file.

    To quickly test out tipsy, try the commands:
    openascii run99.ascii
    readascii run99.bin
    loadb 14
    xall