The documentation for this application is spread
out over several help panels like this one.  If
you are new to the visualization of higher
dimensional objects, the tesseract demo (which
you get by pressing the other large button on the
main panel) should provide a useful
introduction.  If you are new to Geomview, you
may find it helpful to familiarize yourself with
motion and objects in the usual three-dimensional
world of Geomview before moving on to use the n-d
capabilities of NDview.  The rest of this
documentation will assume that 1) you are
familiar with the idea of visualizing higher
dimensional objects and 2) you can use Geomview's
standard controls to view ordinary objects
without too much difficulty.

Features of NDview:  Currently, surfaces (meshes)
and curves (polylines) in n-dimensional Euclidean
space can be examined by choosing arbitrary
hyperplanes and projecting orthogonally into
them.  Several of these projections may be viewed
simultaneously.  Arbitrary rotations and
translations in n-dimensional space are
supported, without undue complication of
controls.  These may be specified either
qualitatively with the mouse or quantitatively
through the "basis vectors" panel.

The following paragraphs explain one simple data
structure for describing objects, and how to view
your object using NDview.

The simplest data structure used is that of a
mesh-- a two dimensional lattice of points whose
position in some n-dimensional space is specified
by a list of n-tuples.  Here is an example of a
crude approximation to a part of the ordinary
paraboloid f(x,y) = x^2 + y^2:

nMESH     #a keyword begins the data
3         #dimension of the ambient space
3 2       #fineness of the lattice,
          #  in two directions
-1  0  1  #a list of n-tuples
 0  0  0  #in this case, we have
 1  0  1  #points of the form
-1  1  2  # x y f(x,y)
 0  1  1  #arranged in order, as if
 1  1  2  #reading off a grid.

Another example yields four faces of a cube lying
in four dimensions:

nMESH            #the same keyword
4                #dimension
2 5              #size of the grid
0 0 0 0  0 1 0 0 #list of n-tuples
0 0 1 0  0 1 1 0 #the spacing is
0 0 1 1  0 1 1 1 #not crucial, as
0 0 0 1  0 1 0 1 #long as white-
0 0 0 0  0 1 0 0 #space separates
                 #the numbers.

In order to include several nMESH objects within
a single file, simply concatenate the nMESH
objects and add the keyword LIST at the top:

LIST
nMESH
. . .
nMESH
. . .

Examples can be found in the standard Geomview
data directory under NDview/geom.

Assuming you have a datafile to look at, the
following is a simple recipe for looking at the
object using NDview.  More experienced users may
find short-cuts documented elsewhere.

1.  Start NDview.  (NDview is an external module
of Geomview, so to get this help page you 
probably invoked it from the Modules browser of
Geomview's main panel.)

2.  Select the "toolbox" option, and increase the
"current (maximum) number of dimensions" if 
necessary to accommodate your object.

3.  Still in the "toolbox", click on the "New
Window" button.  This panel allows you to choose
the coordinate directions used for projection.  
For example, if you have a five-dimensional
object, and you want to see it projected into the
first three coordinates, press "1" "2" and "3",
then press "Done".  A new window should appear,
with a label on the top corresponding to your
choice of projection axes.

4.  Load your datafile in the usual way for
Geomview, starting with the "Load" button on the
main panel for Geomview.  If everything is
working correctly (and your object projects to
something visible by your camera) you should be
able to see the object in the newly created
window.

5.  Finally, select the "basis vectors" button on
the NDview panel.  NDview now shows the basis
vectors of the space into which object is being
projected, and the position of the camera within
that space.  (If you have several windows, the
information is shown for the current window,
which may be the last one visited by the mouse.)

At this point you can fly around the object and
examine it using the usual Geomview controls.
You can also quantitatively specify the subspace
and camera position by modifying the values on
the NDview panel.

These introductory paragraphs have necessarily
simplified some issues that are addressed in more
detail elsewhere (please press the help button
for the "pre-fab", "toolbox", and "basis vectors"
options or see the manual pages.)  It is hoped
that this is enough to begin.

If you have any questions or comments, please
e-mail them to holt@geom.umn.edu
