How to use Partiview

Data files: .speck
format:
datavar # name (i.e. datavar 0 coloridx)
x y z datavar0 datavar1 . . .
. . .

My data files for spaghetti stars, giant candidates, and lines.

Running Partiview:
open: in file where partiview* is,
./partiview
or
./partiview ./data or config file to be loaded

(i.e. I use './partiview ./data/spag/spag.cf' to open it with my config file)

To type in commands in partiview, either use the mouse to put cursor in command line, or press 'tab'.

configuration files: .cf
format:
filepath ./[path for data files]
include datafilenames
eval (any commands)

my config file

axes - x (red) y (green) z (blue)
change size (length of cross in center): censize #
change center location (point orbited around) center x y z

moving data: change mode either with menu on top left, or with keystrokes
orbit ('o') - left mouse button orbits data around center
- ctrl + left mouse button moves data around you like the fly mode
- right mouse button zooms logarithmically
- ctrl + right mouse button rotates data like rotate mode
fly ('f') - left mouse button moves data around you (the front of the screen)
- right mouse button zooms linearly
rot ('r') - left mouse button orbits
- rightmouse button rotates
trans ('t') - left mouse button moves in plane
- right mouse button zooms linearly
- to start data moving, move mouse and release button while moving the mouse, the data will continue moving in whichever direction the mouse was moving, at whatever speed the mouse was moving.

where are you right now? type 'jump', it returns x y z Rx Ry Rz (rotation angles)

move to a particular place: jump x y z Rx Ry Rz (if rotation angles are not given, it keeps the current ones)

change field of view (in degrees): fov #

labels: add x y z text label (i.e. '5 0 0 text X' puts 'X' on the point (5,0,0))
change size: lsize # (in whatever units the data is in)
or use + * or / before the number to scale the size

color: use a .cmap file and a datavar in your data (.speck) file
I used one of the .cmap files from Partiview's test data
either in config file (with eval before it) or in command line

cmap filename.cmap
color coloridx exact (coloridx is the name of the datavar in my data file with the color index, exact matches exact numbers rather than a gradual scale)

my cmap file

luminosity: can use a datavar, like color, or set a constant
lum const #
or lum lumin (where lumin is the name of the datavar)
scale luminosity: 'slum #' or use the slider in the upper right of the window

transparency: 0 = clear, 1 = opaque
'alpha #'

Drawing Shapes:

meshes: (connect any points)
- best for drawing lines not in a coordinate plane

mesh -t texture -c colorindex -s style {
numu numv
x y z
. . .
}
numu and numv are dimentions (numu*numv= # of total points)
for a line numu=1, numv= # of points to connect
for a rectangle with four points numu=2, numv=2
-s solid, wire, or point

Note: The only way I have found to make lines in partiview thicker than wire is to draw long, thin rectangles. There is a perl script found here which, given a text file with the starting and ending coordinates of the line and the desired width calculates the coordinates for the rectangle. The script also creates starting and ending points for the lines, so I commented out those lines (here is this version of the script).

boxes: add box -n box# xmin,xmax ymin,ymax zmin,zmax
or add box -n box# xcen,ycen,zcen xrad,yrad,zrad

spheres and ellipsoids:
add xcen ycen zcen ellipsoid -r xrad,yrad,zrad -c colorindex -s style -n numlong,numlat

-r for sphere, use only one number, for 2-D ellipse set one coord = 0,
for line set two coords = 0
-s solid, plane (draws 1 in each coordinate plane), wire, or point
(plots points at vertices)
-n # of lines for wire or vertices for point

Making .gif movies
- make an executable file of snapshot commands (I used the scripts from making mpeg movies to make my file), which takes 1000 snapshots

- in Partiview, type 'async filename', it will start taking snapshots

- you can move the display however you want during this, if you want it to orbit, it might be easier to set it in motion first, and then start taking the snapshots. My script takes 1000 snapshots, but I haven't used more than 100 or so, so just exit partiview with 'esc' whenever you are done.

- in the terminal, 'convert -delay 10 -loop 0 snap.???.sgi filename.gif' makes an animated gif of all the snapshots, named filname.

Note: It is also possible to make .mpeg movies, but I have only been able to make very low resolution ones.