Skip to content
Snippets Groups Projects
partiview.tex 10.2 KiB
Newer Older
% Revision 1.3  2002/06/29 06:18:03  slevy
% Don't try to put a pair of figures together in a row;
% centerline{} isn't enough to allow captions to wrap.
% Add Offerings and Thanks.
% More about starlab.  Need more yet.  Maybe one more figure.
%
slevy's avatar
slevy committed
% Revision 1.2  2002/06/28 01:41:59  slevy
% More written.
%
% Revision 1.1  2002/06/27 01:49:30  slevy
% A bit more, including png images for two of four figures.
%
% Revision 1.1  2002/06/26 19:31:53  slevy
% Maybe this will turn into an IAU208 paper about partiview.
% Figures to appear in same partiview/doc/iau208 directory.
%
\documentstyle[11pt,newpasp,twoside,psfig]{article}
\markboth{Author \& Co-author}{APS Conf. Ser. Style}
\pagestyle{myheadings}
\nofiles

% Some definitions I use in these instructions.

\def\emphasize#1{{\sl#1\/}}
\def\arg#1{{\it#1\/}}
\let\prog=\arg

\def\edcomment#1{\iffalse\marginpar{\raggedright\sl#1\/}\else\relax\fi}
\marginparwidth 1.25in
\marginparsep .125in
\marginparpush .25in
\reversemarginpar

\begin{document}
\title{Interactive 3-D visualization of particle systems with Partiview}
 \author{Stuart Levy}
\affil{National Center for Supercomputing Applications, 
        University of Illinois Urbana-Champaign,
	605 E. Springfield,
	Champaign, IL 61820}

\begin{abstract}
This paper describes partiview, a software tool for 
interactive graphical display of collections of particles
in 3-space, and its application in studying the results
of N-body collisional stellar dynamics calculations from Starlab.
\end{abstract}

% ---

slevy's avatar
slevy committed
\section{Partiview}
Partiview is an interactive graphical software tool, focused on 
flexible display of particles in 3-space.

Input data to partiview is provided as a (possibly time-varying)
collection of particles, each with a 3-D position and an arbitrary number
of other floating-point attributes ("fields"), and a configuration script
specifying which fields to map into visible properties,
including color and luminosity.  For example, if a field were named Tlog,
slevy's avatar
slevy committed
{\verb"  color Tlog 3.2 4.5
"}
assigns colors by using the Tlog field as an index into a
user-supplied color table via a linear mapping
that associates 3.2 and 4.5 with the colormap's endpoints.
Text-based commands can change these selections interactively,
switching between coloring stars by e.g. temperature, mass, or
space velocity on the fly.

From each particle's luminosity and distance from the current
viewpoint, partiview draws a dot whose screen brightness and size
suggest its computed apparent brightness.  With dots up to a few
pixels across, apparent brightness may usefully range by several
hundredfold, and larger ranges can be suggested by adding textured
polygons -- "haloes" -- whose size varies similarly.  The result
is good enough to yield plausible naked-eye starfields given a table
slevy's avatar
slevy committed
of stellar luminosities, colors and 3-D positions as in Figure~1,
drawn using Hipparcos data.

This sort of viewpoint-dependent apparent brightness
is a feature that few other scientific visualization
packages seem to offer, even though it's
inexpensive to compute and can be useful.
(Where not useful, as when making orthographic
plots of 3-D scenes, it can be switched off in partiview.)

Some database-like operations are provided.
For example, one can display only the subset of particles where
some (single) field has values in a given range or set,
or look only at particles lying within a given rectangular subvolume,
Also one can print a histogram of values of a field,
over all particles or the selected subset.

\begin{figure}
  \psfig{figure=starfield.ps,height=2.0in}
  \caption{Figure~1. Desktop version of partiview showing star field
    from Hipparcos data with Sun at upper left, marked by 0.1 pc crosshair.}
\end{figure}
slevy's avatar
slevy committed

\begin{figure}
  \psfig{figure=ncsa-haydenCollab2.ps,height=2.0in}
  \caption{Figure~2.  Virtual Director version: collaborating between
    Hayden Planetarium (dome avatar at lower left) and NCSA while designing an animation path
    in a simplified Milky Way model.}
\end{figure}
slevy's avatar
slevy committed

% \begin{minipage}{2.7in}
% 	\centerline{\hbox{
% 	\psfig{figure=starfield.ps,height=2.3in}
% 	}}
% 	\centerline{Figure~1. Desktop version of partiview showing star field
% from Hipparcos data with Sun at upper left, marked by 0.1 pc crosshair.}
% \end{minipage}\    \
% \begin{minipage}{2.7in}
% 	\centerline{\hbox{
% 	\psfig{figure=ncsa-haydenCollab2.ps,height=2.3in}
% 	}}
% 	\centerline{Figure~2.  Virtual Director version: collaborating between
% Hayden Planetarium (dome avatar at lower left) and NCSA while designing an animation path
% in a simplified Milky Way model.}
slevy's avatar
slevy committed
% \end{minipage}

\section{Desktop and dome}
The same graphical and data-handling code is embedded
in multiple guises for different computing environments.
Both accept the same data and configuration files, and most of the same
slevy's avatar
slevy committed
text-based interactive commands.  Figure~1 illustrates the
desk- (or lap-)top version, mouse and keyboard driven
with conventional buttons and sliders for common controls,
available for Unix-like systems and for Windows.
slevy's avatar
slevy committed
Figure~2 shows the virtual-reality version,
built using the Virtual Director virtual-choreography framework
and the CAVE library; it is currently restricted to Silicon Graphics computers
but can run on systems with multiple graphics pipes.

Though the latter was originally written for the
CAVE virtual reality room at NCSA, it is used elsewhere too.
The Hayden Planetarium at the American Museum of Natural History
in New York built a Silicon Graphics-driven display for their
planetarium dome; this turned out sufficiently
CAVE-like that the same software runs in the Hayden dome and is
regularly used there.

The Virtual Director framework supports networked collaboration too,
allowing widely-separated participants to exchange viewpoints
(represented by "avatars"), animation paths, display settings
and so on.  This has proven helpful for bringing together distributed
expertise, and we've used it between Illinois, Hawaii, New York
and elsewhere on several occasions, most recently when designing
some animations for Hayden's 2002 space show, as seen in Figure~2.


\section{N-body dynamics: examining Starlab traces}

Stellar dynamics simulations done in Starlab [ref?]
produce "traces", recording various information about each star
as a function of time: physical properties such as mass,
slevy's avatar
slevy committed
luminosity and temperature; position and three time derivatives;
and hierarchical descriptions (binary trees) of interacting groups.

Partiview, coupled with the Starlab libraries to read and interpolate
slevy's avatar
slevy committed
traces, is adapted to display these properties as the cluster evolves.

Figure~3 shows a cluster evolving in a tidal field
slevy's avatar
slevy committed
[[with stars colored by mass]].  "Trails" show the recent motion
history of each star, so long trails show high speed, and curved ones
high acceleration.  Note the stars escaping through the tidal [[tails?]] at left and right.

\begin{minipage}{3.5in}
	\centerline{\hbox{
	\psfig{figure=0607.ps,height=2.5in}
	}}
	\centerline{Figure~3.  Star cluster dispersing in a tidal field,
	with recent motion shown by trails.  Small circles indicate binary or multiple systems.}
\end{minipage}\    \
\begin{minipage}{3.5in}
	\centerline{\hbox{
	\psfig{figure=primbin16.ps,height=2.5in}
	}}
	\centerline{Figure~4.  Interacting groups of stars from Starlab}
\end{minipage}
  \psfig{figure=0607.ps,height=2.5in}
  \caption{Figure~3.  Star cluster dispersing in a tidal field,
    with recent motion shown by trails.  Small circles indicate binary or
    multiple systems.}
slevy's avatar
slevy committed
\begin{figure}
  \psfig{figure=primbin16.ps,height=2.5in}
  \caption{Interacting groups of stars from Starlab.}
slevy's avatar
slevy committed
\end{figure}

A sort of interaction microscope is shown in figure~4 on a tiny test case.
Bound or strongly-interacting systems are circled, and colored according to the
number of members of the group.  Circle sizes are related
to separation or semimajor axis, but can be constrained to a range
of screen sizes to ensure that even tightly-bound systems are always
visibly marked.   The binary trees of interacting groups,
with stars as leaves and center-of-mass points as nonleaf nodes,
are shown as stick figures.
Tick marks perpendicular to the tree branches, drawn in the screen plane,
serve a dual purpose: their positions show the center-of-mass location,
and their lengths are proportional to the instantaneous true separation
of the nodes on that branch.

Note the triple system [[in magenta]]: although in this view the
lower-right pair of stars seem very close together, this must be a 
projection effect; as shown by the tick marks, their true separation
is nearly as large as that from their center-of-mass to the upper-left star.

[[ Each star's dynamical state is sufficiently finely sampled in time
to allow accurate interpolation, generally at some fixed multiple of the
internal simulation timestep.   Thus stars in dense regions
may have far more frequent trace entries than isolated stars.
The Starlab libraries offer functions to interpolate the state of the
simulation at any time. ]]

[[ Temporal microscope too. ]]

[[ Interaction tracking.  One more figure? ]]

\section{Offerings}
The desktop version of partiview is available as open source from
the Starlab CVS archive; see Peter Teuben's web pages at
{\tt http://www.astro.umd.edu/nemo/amnh/}.

Also, Brian Abbott and Carter Emmart of the American Museum of Natural
History have assembled a 3-D Milky Way model (nearby stars,
open and globular clusters, H II regions, pulsars, etc.) from various
sources and are offering it in partiview form, along with partiview itself
for Linux and Windows, on the Hayden Planetarium web site at
{\tt http://www.haydenplanetarium.org/hp/vo/partiview/index.html}.

\section{Thanks}
Thanks are due in many directions: to my colleagues Donna Cox and
Robert Patterson at NCSA who've encouraged me to develop this;
to them and other patient users, Emmart and Abbott of Hayden/AMNH; Brent Tully
of U. of Hawaii; Piet Hut, Steve McMillan, Simon
Portegies-Zwart and others of the Starlab group.  All have offered data
to visualize and plenty of good ideas, a few of which are implemented here.
Special thanks are due to Peter Teuben, who wrote much of the extant
documentation, and Steve McMillan for the Starlab interface libraries.
Thanks finally to the NCSA, which is supported in turn
by the National Science Foundation and by the state of Illinois.