% $Log$ % 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 for 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} % --- \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, {\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 galaxies by e.g. morphological type, local density, or group membership 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 give plausible naked-eye starfields given a table 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 don't 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 simple 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{minipage}{3.5in} \centerline{\hbox{ \psfig{figure=starfield.ps,height=2.7in} }} \centerline{Figure 1. Partiview showing star field from Hipparcos data with Sun at upper left, marked by 0.1 pc crosshair.} \end{minipage}\ \ \begin{minipage}{3.5in} \centerline{\hbox{ \psfig{figure=galaxies.ps,height=2.7in} }} \centerline{Figure 2. Virtual Director version.} \end{minipage} % \begin{minipage}{3.5in} % \begin{figure} % \psfig{figure=starfield.ps,height=2.7in} % \caption{Star field from Hipparcos data. The Sun is % at upper left, and the crosshair has radius 0.1 pc.} % \end{figure} % \end{minipage}\ \ % \begin{minipage}{3.5in} % \begin{figure} % \psfig{figure=galaxies.ps,height=2.7in} % \caption{Galaxies.} % \end{figure} % \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 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. Figure~2 shows the virtual-reality version, built using the Virtual Director virtual-choreography framework and the CAVE library; it can run on Silicon Graphics computers 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. \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, 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 traces, is adapted to display these properties as the cluster evolves. Figure~3 shows a tiny test case, comprising 16 stars. 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. Groups' binary trees, with stars as leaves and center-of-mass points as nonleaf nodes, are shown as stick figures. Tick marks perpendicular to the tree edges, 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 edge. Thus in 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. Figure~4 shows a larger cluster evolving in a tidal field [[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 tidally escaping stars at left and right. \begin{figure} \psfig{figure=primbin16.ps,height=2.5in} \caption{Interacting groups of stars from Starlab, with hierarchy shown. Tick marks on each segment (a) mark center-of-mass position and (b) have length proportional to true, not projected, separation of that pair of nodes.} \end{figure} \begin{figure} \psfig{figure=0607.ps,height=2.5in} \caption{Star cluster dispersing in a tidal field} \end{figure} 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. \end{document}