Log In Sign Up

Interchanging Interactive 3-d Graphics for Astronomy

We demonstrate how interactive, three-dimensional (3-d) scientific visualizations can be efficiently interchanged between a variety of mediums. Through the use of an appropriate interchange format, and a unified interaction interface, we minimize the effort to produce visualizations appropriate for undertaking knowledge discovery at the astronomer's desktop, as part of conference presentations, in digital publications or as Web content. We use examples from cosmological visualization to address some of the issues of interchange, and to describe our approach to adapting S2PLOT desktop visualizations to the Web. Supporting demonstrations are available at


page 2

page 6

page 7

page 9


Beagle: Automated Extraction and Interpretation of Visualizations from the Web

"How common is interactive visualization on the web?" "What is the most ...

Visualizing a Large Spatiotemporal Collection of Historic Photography with a Generous Interface

Museums, libraries, and other cultural institutions continue to prioriti...

Interactive Discovery System for Direct Democracy

Decide Madrid is the civic technology of Madrid City Council which allow...

Interactive introduction to self-calibrating interfaces

This interactive paper aims to provide an intuitive understanding of the...

Petascale Cloud Supercomputing for Terapixel Visualization of a Digital Twin

Background: Photo-realistic terapixel visualization is computationally i...

Hillview: A trillion-cell spreadsheet for big data

Hillview is a distributed spreadsheet for browsing very large datasets t...

Visualizing Webpage Changes Over Time

We report on the development of TMVis, a web service to provide visualiz...

1 Introduction

There are four main ways that astronomers (and scientists in other disciplines) use visual representations of datasets:

  1. For knowledge discovery;

  2. For formal publication of research results;

  3. For academic presentations; and

  4. For (formal) education and (informal) public outreach.

One of the challenges of developing effective visualizations appropriate for all of these targets is the increasingly multi-dimensional nature of astronomy data. Consider the wealth of information offered by four-dimensional radio data cubes of neutral hydrogen clouds (RA, Dec., velocity and intensity); seven-dimensional cosmological simulation outputs (three-dimensional positions and velocities, particle mass); or the 77-dimensional Hipparcos Main Catalogue (Perryman et al.  1997).

A wide range of software packages, including custom codes and commercial solutions, are available for the steps of processing, analyzing and visualizing multi-dimensional astronomy data. However, despite the wealth of tools and techniques, most of astronomy is still performed, presented, taught and learnt in only two dimensions. Aside from the obvious explanation that producing and displaying two-dimensional (2-d) images from scientific datasets is relatively straightforward (see item 14 in Globus & Raible 1994), another factor is relevant: 2-d plots and figures produced for one medium (eg. paper) are easily transferable to another medium (eg. screen). That is, they are easy to interchange. A cartesian scatter plot can be sketched on a whiteboard, drawn accurately on-screen for analysis, be saved in suitable format(s) for presentation in a lecture or conference talk, and for publication in a printed journal. The audience “uses” the 2-d plot in the same way, regardless of the medium via which it is delivered.

If we extend the visual dimensionality from two to three, no such simple interchange mechanism exists. The visualization tool used by the researcher on the desktop is typically not the same one that is used to make a conference presentation, and the creation of educational versions of datasets is usually achieved by handing the data to an animator to interpret using a commercial animation package. At each stage, data is converted for use from one tool to another, each step taking it further away from the original desktop experience, and requiring significant additional effort for the astronomer. Furthermore, there is no common user interface — a fully interactive desktop application is most often reduced to a series of still images. What hope, then, for more complex, multi-dimensional datasets?

We have previously reported on the s2plot interactive graphics library for creating three-dimensional (3-d) visualizations for knowledge discovery (Barnes et al.  2006), and demonstrated the novel capability to produce interactive 3-d figures in the Adobe Portable Document Format (PDF) to enhance academic publications (Barnes & Fluke 2008) and education (Fluke & Barnes 2008). We now describe solutions for interchanging 3-d figures amongst the remaining output targets, as shown in Figure 1. Specifically:

Figure 1: An integrated system for creating, interchanging and using interactive 3-d figures in astronomy, based on the s2plot library. The large upper box encapsulates desktop visualization and s2slides presentation modes, while the lower part of the figure shows the components concerned with production of 3-d PDF and web-based visualizations. Shaded triangles indicate primary output products, and the dashed triangle indicates the (transient) interchange step: the VRML output file and textures do not need to be retained once the primary output product/s are created. Adobe Acrobat 3D is a commercial product.
  • Desktop visualization is accomplished with an application (C, C++, FORTRAN, Python; mys2program in Figure 1) that uses the s2plot library. With a programming interface similiar to the popular pgplot 2-d library,222 s2plot provides a straightforward way for astronomers to produce 3-d plots on-screen through simple function calls within their own custom codes.

  • 3-d figures are embedded in PDF files by exporting the s2plot program geometry to VRML (Virtual Reality Modeling Language; keypress Shift-W or function call writeVRML20() in standard s2plot programs), then importing the VRML to Adobe Acrobat 9 Pro Extended, Adobe Acrobat 3D or the Adobe 3D Toolkit (commercial software). The standard s2plot interaction mode (as well as support for volume rendering, billboards and so on) is implemented in the provided s2plot.js script, which can be added to the 3-d PDF model. The exported VRML file is an interchange file only; it need not be kept after the PDF file is created.

  • PowerPoint-style presentation is enabled by the s2slides application included with s2plot: it provides for navigation through a sequence of pre-rendered slides (*.tga file/s in Figure 1; e.g. bitmap images exported from Microsoft PowerPoint), and can overlay standalone interactive s2plot programs on slides according to simple instructions in an input text file (myslides.s2l file in Figure 1). Note that s2slides does not require Microsoft PowerPoint or any other commercial presentation software, although such software may be a convenient way to generate non-interactive slides for presentation with s2slides.

  • 3-d figures are deployed on the Web by exporting to VRML, as for the PDF case, converting the VRML to X3D (a simple, syntax-only conversion accomplished with VrmlToX3dNist). This X3D is then zipped up with the required textures. The resultant archive (an “s2web archive file”) can then be provided to the s2web program, which is an Adobe Flash (hereafter “Flash”) program that renders s2plot-originated X3D content. s2web allows the user to control the camera and rendering properties just as they do for desktop s2plot programs.

A key feature of our approach to interchange is the preservation of the user experience, particularly via the keyboard and mouse controls for interaction, data selection and control of the visual appearance (such as rendering mode).

This paper is organized as follows. In section 2, we discuss our choice of Web technologies for integration with s2plot . We detail the practical application of these technologies that enable s2plot programs to produce 3-d visualizations for multimedia deployment. We further explore the motivation for, and implementation of, a common user interface across the output targets for s2plot programs. In Section 3, we consider the specfic case of cosmological data as motivation for the demands and requirements of interchanging 3-d data and models, and present several applications enabled by our approach in Section 4. A brief discussion of our future plans follows in Section 5, and we make some concluding remarks in Section 6.

2 Interchange

Astronomers have been willing users of Web technologies, most significantly in the way that they communicate and collaborate across the world. Astronomers have also taken to fully online, digital publication of research papers and data archives. Of particular importance were the first online edition of the Astrophysical Journal published in September 1995 (Abt 2003), the abstract searching capabilities of the ADS Abstract Service (Murray et al.  1992; Kurtz et al.  2000), the widespread availablity of scanned articles (Eichhorn et al. 1994), and the establishment of the Centre de Donnees astronomiques de Strasbourg (CDS) online data archives (Genova et al.  1996), the precursor to the Virtual Observatory (Quinn et al.  2004). Amongst the physical sciences, astronomers are second only to the particle physics community as users and drivers of Internet technologies.

The present problem we are addressing is the provision of a pathway for publishing and sharing interactive 3-d datasets on the Web. Accordingly, our approach is to develop and implement the necessary (informal) standards that yield a practical mechanism for the creation, interchange and use of interactive 3-d figures.

2.1 Exporting s2plot Geometry

Simple and robust standardized 3-d interchange formats have been available for quite some time, notably ISO/IEC 14772:1997 Virtual Reality Modeling Language (VRML) and its successor ISO/IEC 19775:2004 Extensible 3D (X3D). When implementing our 3-d PDF solution (Barnes & Fluke 2008), it was necessary to choose an interchange format for exporting 3-d geometry from s2plot programs. We selected VRML because it is one of the few open, non-proprietary file formats that Adobe Acrobat 3D can import. Programs using versions 2.0 and upwards of the s2plot library can now write the s2plot geometry data to a VRML file that can be imported into Acrobat 3D for the creation of 3-d annotations in PDF documents.

It is worth making the distinction between our use of VRML and earlier uses of VRML for astronomy visualization (Crutcher et al.  1998; Plante et al.  1999; Beeson et al.  2004). In previous systems, VRML was the final product: it had to be viewed in a VRML browser such as Cortona or FreeWRL. Historically VRML browsers have not been particularly complete (in terms of implementation of the entire language), fully cross-platform or especially stable. Nor have their user interfaces been adaptable to suit users’ expectations. Our use of VRML is as an interchange format: it is simply an intermediate format for expressing s2plot geometry for onward conversion and/or import into other software.

The scene geometry in VRML is structured as a model tree — a concept common to many 3-d applications and scene description formats. The tree allows related components of the geometry to be grouped in a “branch”. This tree is preserved upon VRML import to Acrobat 3D, and Adobe Reader provides both an application programming interface (API; via Adobe 3D JavaScript) and a simple user interface for switching parts of the model tree on and off. For our 3-d PDF solution, we added a function to s2plot that allows the user to arrange the geometry into a tree when exporting VRML. Selective use of this function (pushVRMLname) makes it possible, for example, to export two or more different visualizations of the same data from one s2plot program into one VRML file (we demonstrate an example of this in Section 4.3). Importing this VRML file to Acrobat 3D together with some very basic JavaScript code enables reader control of the visualization state via buttons or other user interface elements in the target PDF file.

2.2 Web Deployment with Flash

Flash applications are ubiquitous on the Web, which, together with the breadth and depth of the ActionScript 3 API, makes Flash the ideal system for the development of a Web-based “player” of s2plot content. Unlike Java—the only other viable environment for Web-based 3-d at this point in time—Flash applications run in-browser, integrate seamlessly with static Web content, and the necessary plugin(s) are generally kept up-to-date. Ideally for the academic community, Flash applications can be developed with the freely-available Adobe Flex 3 SDK.

Writing a complete 3-d engine for Flash would be a formidable task. Happily there already exists a maturing, open-source project implementing a 3-d environment in Flash: Papervision3D.333Papervision3D: Papervision3D is a software 3-d API for Flash, distributed under the MIT license. It provides a high-level 3-d engine capable of displaying a standard set of 3-d primitives, mapping a variety of textures onto objects, including image and movie textures, and navigating and manipulating 3-d space. Papervision3D objects can be defined in ActionScript 3 code or can be read from external files which contain the geometry information.

Papervision3D allows camera and environment redefinition such that we were able to port the code controlling the s2plot interface to ActionScript 3, giving a very closely matched interface to the one presented by native s2plot desktop applications. Papervision3D even allows for object interaction, so that the s2plot interactive “handles” can be made available within Flash applications.

Our Web-based solution for 3-d export from s2plot entails a simple, syntactic translation of the exported VRML to X3D. This translation retains the model tree structure, and consequently our Flash s2web program can also provide explicit or implicit user-control of the model tree and visualization as has been accomplished for PDF.

Predefined strings within the model tree are used to denote s2plot “handles” (which are selectable elements of scene geometry) and “billboards” (textured rectangles which always face the camera), and to support volume rendering. Using predefined (or “special”) strings for pushVRMLname makes downstream ActionScript 3 or JavaScript code universal; e.g. one Adobe 3D JavaScript code for rotating billboards correctly will work for all s2plot VRML output containing billboards.

X3D was chosen as the most appropriate interchange format for the following reasons:

  • For the set of features requiring support, X3D is equivalent to VRML 2.0, easily convertible from VRML, and s2plot was already capable of outputting VRML.

  • XML-encoded X3D is very simple to read and parse in Flash; ActionScript 3 has XML parsing as a native part of the language, and the XML Document Object Model (DOM) structure is mirrored by the ActionScript 3 objects created. This is particularly useful for parsing the hierarchical geometry model tree, and maps isomorphically to the Papervision3D geometry tree.

  • Although text-based X3D documents are larger than the equivalent geometry expressed in a binary format, Flash can easily read zipped files. A zipped archive can also contain the necessary textures for a scene, so an entire 3-d scene can be exchanged in a single file (this is much like Google Earth’s KMZ files, which are zipped archives of Collada files with textures).

Our final Web-deployment platform is therefore a Flash Papervision3D application, capable of reading XML-encoded X3D converted output from s2plot programs, and providing a very similar user interface to s2plot. This enables two types of applications: a Flash X3D static geometry-viewer (like the native s2plot program s2view), and custom s2plot Flash applications. The viewer has the advantage that it can display any supported static geometry output by s2plot, without having to write any ActionScript 3 code (an unfamiliar language to most astronomers). Nevertheless, the s2plot layer we have built on top of Papervision3D is simple enough that scenes can be animated just by editing a short callback, in the same manner in which geometry is made dynamic in the s2plot library.

Figure 2: A cone or wedge diagram is the standard representation for galaxy positions from a redshift survey, usually projected along the line of the celestial poles. The data is from the 6dF Galaxy Survey (Jones et al.  2005). 49 377 galaxy positions, with 15 000 km s and Dec. , are shown as black points in this projected view. Declination lines are drawn at intervals of .

3 Cosmological Data

In order to demonstrate the practicalities of interchanging multi-dimensional data, we consider the case of cosmological visualization: representation of the three-dimensional spatial structure of the Universe, including both observational and simulation datasets. Where such information exists, we extend this definition to include time-evolving datasets (e.g. evolution of structure formation or the hierarchical merging of galaxies), and derived data products such as catalogues and merger trees. A modern, fully-digital cosmological visualization allows the user to rotate, zoom, pan and even interactively select from datasets.

3.1 Sources of Data

Observational cosmological datasets are usually obtained from galaxy redshift surveys whereby 2-d sky positions (RA, Dec.) are combined with redshift () to give a 3-d spatial location. The most common representation is the cone or wedge diagram, as shown in Figure 2 using galaxy positions from the 6dF Galaxy Redshift Survey second data release (Jones et al.  2005). An interactive 3-d visualization is advantagous in this case, so that the wedge can be rotated and zoomed. Without interactivity, it is difficult to interpret the details of the large-scale structure from a single viewpoint. This conveniently highlights the limitations of a static, 2-d publishing and presentation medium for -dimensional scientific data!

Cosmological simulations generally use -body techniques to efficiently calculate the gravitational forces between an ensemble of dark matter, gas and star “particles”. Each particle often comes with full information on mass, spatial position and velocity over a range of time steps (or snapshots). Derived properties include energy (kinetic and potential), temperature and density, which may be calculated on a per particle basis or on a grid. Dubinski (2008) provides examples of standard technqiues for representing N-body data, but with an emphasis on pre-rendered sequences rather than real-time interactivity.

Figure 3: Oblique view of the 6dF Galaxy Redshift Survey (49 377 galaxies with 15 000 km s and Dec. ). Density isosurfaces are overlaid on the galaxy locations, to help highlight the filamentary large-scale structure. Declination lines are shown at intervals of .

3.2 Visualization Requirements

There are four main data types that a cosmological visualization may need to represent:

  1. 3-d points: (RA, Dec., ) triplets for redshift surveys and positions for -body simulations.

  2. 3-d vectors

    : () velocity data from comological simulations, which have a spatial location and a direction, or flow lines representing the motion of particles over time;

  3. 2-d and 3-d mesh-based data: density, temperature, etc. suitable for display as pixel-based images (2-d) or with volume rendering (3-d). Volume rendering (Drebin, Carpenter & Hanrahan 1988) combines gridded data with lighting effects to give a virtual solid. Volume rendering requires an opacity to be defined for each volume element (voxel). In general, this is a combination of absorption and emission, however, for cosmological datasets we usually only deal with emission: -body particles or galaxies are either present or they are not.

  4. non-mesh data: a practical example is the isodensity surface, the 3-d analogue of a contour line in 2-d. These may make use of gridded data as a calculation aid, but are not constrained to align with the mesh.

The treatment of the first three-dimensions is usally achieved through a direct mapping of positions to screen coordinates for viewing on a 2-d screen or with a 3-d stereoscopic display. Higher data dimensions are visualized through a combination of techniques including:

  • colour: whether plotting points or mesh data, an appropriate colour map can help to highlight significant features in a dataset. Used carelessly, though, colour is also the best way to ruin the effectiveness of a visualization (e.g. Tufte 1990, 2001);

  • point sizes: are most suitable when there is a natural size-ordering (e.g. mass, magnitude), rather than for a morphological or descriptive quantity (e.g. galaxy type, survey date). The latter are often better distinguished through the use of symbols or glyphs;

  • splats: are texture billboards, often with a gaussian profile, which can be used as an alternative to volume rendering, particularly when there are a large number of particles (Westover 1989, 1990). Splats can demonstrate physical scales by choosing an approprate texture size. For an example from cosmology, see (Hopf & Ertl 2003); and

  • animation: usually reserved for visualizing variation with time, although it can also show the variation of a quantity, such as cycling through a sequence of density isosurfaces.

s2plot provides support for each of the data types and techniques described above, and so is appropriate for generating a range of cosmological visualizations. To provide the requirements of interchange, a move to other output formats requires that all of these data types are supported. Using examples from cosmological visualization, we now demonstrate how this has been achieved.

4 Cosmological Examples

In this section, we present several specific examples from cosmological visualization. We look at how our approach permits interchange between s2plot desktop applications, s2slides presentations and s2web. For 3-d PDF demonstrations of interactive volume rendering of a dark matter halo and a wedge diagram based on the CfA2 redshift survey, we refer the reader to Figure 5 of Barnes & Fluke (2008) and Figure 6 of Fluke & Barnes (2008) respectively.

Figure 4: Dark matter halo merger tree from the Millennium Simulation. Progenitor halo positions are mapped to coordinates in 3-d space, colour represents the redshift at which each progenitor is bound to the final halo (“heat”: red = high redshift, white = low redshift), texture splat size is scaled by virial radius of each sub-halo.
Figure 5: Three steps in a merger between two equal-sized galaxies. The Gadget-2 simulation comprises 60 000 particles that are smoothed onto a -cell cubic grid using the TSC algorithm. The counts in each cell, , are scaled by and then normalized to lie in the range 0–100. (top row) Density isosurface levels of (red) and (yellow). (bottom row) Volume rendering with a linear “rainbow” (blue-green-yellow-red from low to high density) colour-map.

4.1 Wedge Diagram

As discussed in the previous section, the wedge diagram is the most common representation of galaxy locations from redshift surveys. Therefore, it serves as an important first demonstration of our approach to interchange.

A static view of the 6dF Galaxy Survey ( 15 000 km s, Dec. ), projected along the celestial poles, was shown in Figure 2. An oblique view of the same dataset is shown in Figure 3, obtained as a screenshot from an interactive s2plot desktop application. The figure shows density isosurfaces overlaid on the galaxy locations to help highlight the large-scale filamentary structures. The isosurfaces were generated by smoothing galaxy locations onto an -cell cubic mesh using the triangular-shaped cloud algorithm (TSC; Hockney & Eastwood 1988). The number count, , in each cell is rescaled as , and then linearly normalized to lie in the range 0–100. The final 3-d mesh is converted to an isosurface using the s2plot ns2cis() function, and displayed with the ns2dis() function. Both 25% (red) and 75% (yellow) contour levels are shown. No attempt has been made to correct for the non-uniform volume filling effect of the spherical (RA, Dec., ) coordinate system when smoothed onto a Cartesian grid in -space.

The VRML output is saved into a file from the s2plot program when the user presses the key combination Shift-W. The conversion to X3D format is syntactic only, and we use the freely-available “Vrml97toX3dNist” convertor provided by the National Institute of Standards and Technology.444 Textures are written by s2plot in TGA format and must be converted to PNG format: we use the ImageMagick convert program.555 The resultant X3D file and PNG texture file(s) are then zipped together into one file. This file can be placed on the Web and an existing s2web Flash program pointed to the zip file, or the zip file can be embedded in the Flash program itself. For this paper, we do the latter.

The s2web version of the 6dF Galaxy Survey can be viewed at Mouse control of camera orientation, and key presses for functionality such as zooming, toggling autospin, and changing the spin speed are consistent between the Web and desktop applications. This is a critical part of our interchange philosophy – that there is a common user interaction experience. Of additional interest here is the use of textured billboards for the RA labels, which retain their orientation towards the viewer regardless of the camera orientation. Line thickness, such as for the grid, is only a global setting in VRML, and correspondingly X3D. Therefore s2plot programs with s2web (or PDF) as a target should not use thick lines. A work-around is to use thin cylinders instead of lines.

4.2 Merger Tree

Semi-analytic models of galaxy formation (White & Frenk 1991; Cole et al.  2000; Croton et al.  2006) make use of halo merger trees, usually generated from dark matter cosmological simulations. Starting with a catalogue of halos at , the halo constituents are traced backwards in time within the simulation, so that the history of mergers can be reconstructed. Each progenitor halo can then be tagged with a galaxy, and used as an input to a (prescriptive) galaxy formation model. In this example, we use data from the Millennium Simulation (Springel et al.  2005) and the galaxy model of De Lucia & Blaizot (2007).

The s2plot application reads a text file generated by an SQL query of the Virgo - Millennium Database,666 returning the list of progenitors for a given halo. The application is able to plot any combination of three (numerical) parameters in the 3-d space, and then applies a colour map based on the fourth parameter. In Figure 4, we show spatial coordinates for the progenitor halos, and colour by the redshift at which each progenitor is bound to the final halo (“heat” colour map: red = high redshift, white = low redshift). Rather than using points to mark each progenitor, we use textured splats, with sizes scaled by the virial radius of each sub-halo.

Export to VRML and conversion to Web format is the same as for the 6dF case, and the s2web version is available from In this example, some additional steps are required to generate the appropriate texture splats. Within s2plot, a single texture image is used, and the colour is controlled within the software. A current limitation in Papervision3D’s material attributes for rendering is that only the first colour applied to the texture will be used. Accordingly, we post-process the VRML file prior to conversion to X3D, and where a single texture is used more than once in different colours, we create multiple copies of the texture so that Papervision3D and s2web code correctly shades the textures. Typically, coloured billboards are very small occupying a few tens of pixels, and so the penalty in total zip file size for this approach is small. We intend to build this capability directly into the s2web code shortly.

4.3 Galaxy Merger

Investigating the dynamics of mergers between galaxies through numerical simulations has become critical to understanding how galaxies evolve over (Gyr). Interactive viewing of the galaxy merger shows the different ways that such a system might be seen on the sky. By varying view angle and merger parameters, such as relative masses of the galaxies or distance of closest approach, the goal is to reproduce known merging systems (such as the Antenna galaxies NGC 4038/9, 90 million light years distant in the constellation Corvus, or the more distant merging pair NGC 2207 and IC 2163 in Canis Major) and hence gain insight into their dynamical evolution.

We use here a sample case distributed with the Gadget-2 gravity plus smooth-particle hydrodynamics code (Springel et al.  2001; Springel 2005). This test case simulates a merger between two equal-mass spiral galaxies, using 30 000 particles per galaxy. An s2plot application has been developed to enable interactive visualization of the merger, including using isosurface (Figure 5; top row) and volume rendering (Figure 5; bottom row) techniques to help highlight and identify specific features. The application can read multiple Gadget-2 datafiles, cycling between the series of steps in the merger – three representive stages in the merger are shown. As with the 6dF wedge diagram, isosurfaces are built by smoothing particle positions (in this case, onto a -cell cubic mesh), and the number counts are log-normalized. Density isosurface levels of (red) and (yellow) are shown. A lower resolution mesh () was used for the volume rendering, and a “rainbow” colour map (blue-green-yellow-red from low to high density) is applied over the data range.

Parameters for the visualization were adjusted within the s2plot program, and the isosurface model was exported to VRML and converted to X3D. Since PaperVision3D is a software-only renderer (i.e. not hardware accelerated), it is not currently feasible to export the full resolution geometry for either isosurfaces or volume rendering. Instead, there is a trade-off between download speed (due to file size of the geometry), the interaction rate, and the level of detail displayed. As a compromise, the s2web versions use a -cell mesh for the isosurface calculation and a -cell mesh for the volume rendering.

An example of using isosurfaces to display a galaxy merger is available at For this example, we have pre-loaded 5 Gadget-2 snapshots. Within the s2plot code, these are given unique FRAME* number identifications for the VRML output – s2web determines which of the frames should be displayed, and the user can step through the sequence by pressing the spacebar.

A particular application of implicit user-control of the s2plot model tree is found in axial-slice volume rendering: a 3-d gridded dataset is used to generate three sets of textures, one set along each lattice axis of the volume (e.g. Lacroute & Levoy 1994). Each set is contained within its own branch of the model tree (using the predefined VRSET* strings with the pushVRMLname function) and then Adobe 3D JavaScript (for PDF) or Adobe ActionScript 3 (for Flash) code is written which selects the best slice set to draw for the current camera location and view direction. The Flash application can be viewed at:

Figure 6 shows an example of an s2slides presentation using the galaxy interaction visualization application. The same s2plot code that is used in the desktop application is executed as a child process by s2slides. The position of the application window on the background slide is customisable, and a fullscreen mode is available via a keystroke.

Figure 6: Displaying the interactive view of a Gadget-2 galaxy merger via the s2slides application for use in an academic presentation. The s2plot desktop application is overlaid by s2slides on top of a background image. The background image can be created by any image or presentation editor; in this case Microsoft PowerPoint was used, and the image was exported as a TGA-format file.

While Microsoft PowerPoint and Apple Keynote do permit the use of embedded interactive datasets on slides through a VRML plug-in, they only provide a limited interaction capability, and do not support advanced displays. One of the main advantages of s2slides is that, as an s2plot application itself, it can be used with advanced displays. This reusability means that a presentation can be given in 2-d via a laptop, but if a stereoscopic display is available, the presentation can be given in stereo simply by changing an environment variable for the display type.

Some s2plot programs may load large data when they run. In order to alert the presenter and audience that something is happening, we utilize a spinning logo while applications are starting up.

5 Future Work

We have completed most of the work involved in writing the s2plot model tree structure to VRML 2.0 format, and we have demonstrated most of the capabilities required for the implementation of a common user interface across desktop, e-print (PDF) and Web (Flash) targets. The latest version of s2plot (2.4, October 2008) can export nearly all of the s2plot primitives to VRML, including transparent facets, billboards and interactive handles.

A binary distribution of the s2web Flash application and a template HTML file is provided on the s2plot website. We plan to release the source code for the s2web Flash application in December 2008. We will include the code that supports interactive handles using the HANDLE* naming convention in the VRML file; provide animation capabilities using the FRAME* naming convention; and support axial-slice volume rendering using the VRSET* naming convention. Users will be able to build the standard s2web application using the free Adobe Flex 3 SDK, or make simple modifications to the code for custom animation and interaction. The combination of the s2plot programming library and the s2web Flash application yields a free and straightforward technique for astronomers and other scientists to generate 3-d visualizations on the desktop and transfer them to the Web.

Figure 7: Embedding an interactive merger tree visualization in a COSMOS encyclopedia entry. A rainbow colour map is used to indicate progenitor redshifts (red = earliest, blue = latest), and there is no scaling of splat sizes.

The prospects for future development of the integrated s2plot solution for 3-d analysis, collaboration, publication, education and outreach are excellent. Specific areas for improvement and development are summarized below.

  • Based on Papervision3D and Flash Player 9, s2web is not hardware accelerated. Accordingly, its rendering speed, or equivalently frame rate, depends on both the size of the Flash window within the Web browser, and the complexity of the 3-d geometry being displayed. Volume rendering of data sets larger than around pixels, splatting of more than a few thousand billboards, and the display of complex transparent isosurfaces, can become slow. However, Adobe Flash Player 10 now offers 3-d graphics accelerated by hardware and is presently in beta release. It is likely that Papervision3D will be modified to provide hardware accelerated rendering, thereby improving the usability of s2web without further work from us. While we wait for this upgrade though, we intend to assess the merits of re-writing s2web directly for the Flash 10 Player, without using the Papervision3D classes.

  • Stereoscopic support: our s2plot philosophy has been to support multiple, advanced display devices from a single library code base. It should be reasonably straightforward to generate real-time, stereoscopic 3-d figures within Web browsers, by interleaving the left and right eye views when a suitable desktop stereo display is available; and

  • Integration of Web-deployed 3-d assets with our in-house Content Management System (CMS) to enable straightforward inclusion of 3-d figures and diagrams in Swinburne Astronomy Online777SAO: course material and the COSMOS Encyclopedia of Astronomy.888COSMOS: For example, the COSMOS entry on hierarchical merging (Figure 7) contains a version of the interactive halo merger tree as described in Section 4.2

    . With regards to learning and teaching benefits, interactive presentation and exploration of scientific data promotes student-centred active learning. There is a natural opportunity to provide the required interactivity via 3-d enabled Web sites, including presentation of conceptual models, geometrical models, and datasets from both observation and numerical simulation. Interactive applications can be enhanced through features such as dynamics, selection, feedback, etc., all of which are feasible with our Flash/ActionScript 3 approach.

  • Our 3-d PDF solution requires commercial software, specifically Adobe Acrobat 3D or Adobe Acrobat 9 Pro Extended. We are cogniscent of the risks of building upon proprietary (and often expensive) software products, however there are few alternatives at this stage:

    1. We have examined the Universal 3D (U3D) File Format.999Standard ECMA-363 Universal 3D File Format: If we could write suitable U3D files, then these could be embedded in PDF files as 3-d annotations using the excellent movie15 LaTeX style created by Alexander Grahn. Unfortunately there is no good reference implementation of the U3D standard, and its originators appear to have lost interest in maintaining or even using the U3D format. Furthermore, we have been unable to preserve important visualization attributes (such as point colour) when experimenting with U3D files using the Adobe software products.

    2. The better format for storing 3-d models in PDF files is Adobe’s PRC format. We are not aware of any reference implementations of the PRC format, and the specification has historically been very hard to locate. While we cannot write PRC format directly from s2plot at this stage, it may be possible in the future if Adobe are forthcoming with an open specification of the file format. In the meantime, what is possible is to use an Adobe product once to import s2plot-generated VRML, save the resultant PDF file, and then extract the model data in PRC format using a tool like pdftk. Once the PRC data is extracted, it can be easily added to documents generated with pdflatex using the aforementioned movie15 LaTeX package.

6 Concluding Remarks

We have described our s2plot-based system for creating 3-d visualizations, and our extensions which use VRML as an interchange format to enable the deployment of almost identical 3-d visualizations across multiple targets: the desktop (s2plot application), the electronic article (3-d PDF), academic presentation (via s2slides; or alternatively and more portably, using 3-d PDF documents created with the beamer or prosper LaTeX packages), and the mainstream Web (Flash s2web application). The two key standards that our system builds on are the formal 3-d model interchange format (VRML and X3D) and the informal user interface: common camera and rendering controls across all output targets.

We have used cosmological visualization as a specific example of the requirements and benefits of interchange between different target modes. s2plot provides the basic set of graphics primitives necessary to represent wedge diagrams from galaxy redshift surveys and large-scale structure from cosmological simulations. Advanced functionality is also available, such as volume rendering, splatting and isosurfaces. We have demonstrated how cosmological visualization applications built on these graphic capablities may be interchanged and accessed interactively at the desktop, on the Web, and during presentations. It is evident that this approach applies equally well across other fields of astronomy research.

While a range of standards-compliant (e.g. Wells, Greisen, & Harten 1981; Ochsenbein et al.  2004) processing, analysis and visualization tools exist, astronomers tend to use their own data formats for intermediate steps of processing (particularly for theory and simulations). This avoidance of data standards makes interchange of data and intermediate results between collaborators a complex process. It is often only at the completion of a research project that astronomers may chose to “publish” their data using an interchange format, and increasingly this includes Virtual Observatory defined standards (Norris et al.  2007). In most cases, it is easier to share still frames or animated sequences from data as intermediate products.

Our approach provides a pathway for the sharing of intermediate and final data products in an interactive, 3-d format. The goal here is that interaction with the Web-based version should be as similar as possible to the application that was used to explore the data initially on the researcher’s desktop. Using s2web, interactive models could be shared online for a “quick look”, in the same way that astronomers regularly put images on a personal or project Web site.

A secondary benefit of interactive visualization in the presentation and publication modes is the additional level of scrutiny available. Rather than selecting a particular “best” view for a 2-d still image or animation sequence, the viewer is able to explore the dataset for themselves, either confirming or rejecting the conclusions as originally proposed.

We believe that 3-d model interchange format(s) need to be augmented with a common user interface before reasonable uptake by the community, who have limited time to learn new tools and techniques, can be expected. The user interface includes interactive functionality such as the control of viewpoint that has never been required for classical 2-d graphics, but is axiomatic to 3-d visualization. By simplifying the deployment of interactive, 3-d visualization tools that share a common user interface across multiple media (desktop, e-print, presentation, Web), we aim to properly enable and stimulate the strategic uptake of 3-d visualization techniques in astronomy.


This research was supported under Australian Research Council’s Discovery Projects funding scheme (project number DP0665574). We acknowledge the Papervision3D development community for their cohesive work towards a stable and capable 3-d platform for Flash applications. We thank the anonymous referee for insightful comments on this paper. We also thank Alexander Grahn for updating and sharing his movie15 LaTeX style file with us, and for describing how to extract PRC-format model data from PDF files for re-use with pdflatex and movie15.


  • Abt (2003) Abt, H.A. 2003, in Information Handling in Astronomy - Historical Vistas, Astrophysics and Space Science Library, 285, ed. A. Heck (Dordrect: Kluwer Academic Publishers), 127
  • Barnes et al.  (2006) Barnes, D.G., Fluke, C.J., Bourke, P.D., & Parry, O.T., 2006, PASA, 23, 82
  • Barnes & Fluke (2008) Barnes, D.G. & Fluke, C.J., 2008, New Astronomy, 13, 599
  • Beeson et al.  (2004) Beeson, B., Lancaster, M., Barnes, D.G., Bourke, P.D., & Rixon, G.T., 2004, in Optimizing Scientific Return for Astronomy through Information Technologies, ed. P. Quinn, A. Bridger, Proc of the SPIE, 5493, 242
  • Cole et al.  (2000) Cole, S., Lacey, C.G., Baugh, C.M., & Frenk, C.S., 2000, MNRAS, 319, 168
  • Croton et al.  (2006) Croton, D.J., et al., 2006, MNRAS, 365, 11
  • Crutcher et al.  (1998) Crutcher, R.M., Plante, R.L., & Rajlich, P., 1998, in Astronomical Data Analysis Software and Systems VII, ASP Conference Series 145, ed. R.Albrecth, R.Hook, H.Bushouse, 3
  • De Lucia & Blaizot (2007) De Lucia, G. & Blaizot, J., 2007, MNRAS, 375, 2
  • Drebin et al. (1988) Drebin, R.A., Carpenter, L., & Hanrahan, P., 1988, Computer Graphics, 22, 65
  • Dubinski (2008) Dubinski, J., 2008, New Journal of Physics, accepted (arXiv:0805.4397)
  • Eichhorn et al. (1994) Eichhorn, G., Kurtz, M.J., Accomazzi, A., Grant, C.S., & Murray, S.S., 1994, BAAS, 26, 1371
  • Fluke & Barnes (2008) Fluke, C.J. & Barnes, D.G., 2008, AER, 7, 113
  • Genova et al.  (1996) Genova, F., et al., 1996, VA, 40, 429
  • Globus & Raible (1994) Globus, A. & Raible, E., 1994, Computer, 27, 86
  • Hockney & Eastwood (1988) Hockney, R.W. & Eastwood, J.W., 1988, Computer Simulation Using Particles (New York: Taylor & Francis Group)
  • Hopf & Ertl (2003) Hopf, M. & Ertl. T., 2003, in VIS ’03: Proceedings of the 14th IEEE Visualization 2003, 15
  • Jones et al.  (2005) Jones, D.H., Saunders, W., Read, M., & Colless, M., 2005, PASA, 22, 277
  • Kurtz et al.  (2000) Kurtz, M.J., Eichhorn, G., Accomazzi, A., Grant, C.S., Murray, S.S., & Watson, J.M., 2000, A&AS, 143, 41
  • Lacroute & Levoy (1994) Lacroute, P. & Levoy, M., in SIGGRAPH ’94: Conference Proceedings, ed. S. Cunningham, (New York:ACM), 451
  • Murray et al.  (1992) Murray, S.S., Brugle, E.W., Eichhorn, G., Farris, A., Good, J.C., Kurtz, M.J., Nousek, J.A., & Stoner, J.L., 1992, in Astronomy from Large Databases II, European Southern Observatory Proceeding, ed. A.Heck, F.Murtagh, 387
  • Norris et al.  (2007) Norris, R.P., et al., 2007, HiA, 14, 673
  • Ochsenbein et al.  (2004) Ochsenbein, F., et al., 2004, in Towards an International Virtual Observatory: Proceedings of the ESO/ESA/NSA/NSF Conference, ed. P.Quinn, K.Mórski, 118
  • Perryman et al.  (1997) Perryman, M.A.C. & ESA, 1997, The HIPPARCOS and TYCHO catalogues, SP1200
  • Plante et al.  (1999) Plante, R.L., Rajlich, P.J., Pietrowitz, S., Xie, W., & Qamar, A., 1999, in Astronomical Data Analysis Software and Systems VIII, ASP Conference Series, 172, ed. E.Mehringer, R.Plante, D.Roberts, 433
  • Quinn et al.  (2004) Quinn, P.J., et al., 2004, in Optimizing Scientific Return for Astronomy through Information Technologies, ed. P. Quinn, A. Bridger, Proc of the SPIE, 5493, 137
  • Springel et al.  (2001) Springel, V., Yoshida, N., & White, S.D.M., 2001, NA, 6, 79
  • Springel (2005) Springel, V., 2005, MNRAS, 364, 1105
  • Springel et al.  (2005) Springel, V., et al., 2005, Nature, 435, 629
  • Tufte (1990) Tufte, E.R., 1990, Envisioning Information (Cheshire, CT: Graphics Press)
  • Tufte (2001) Tufte, E.R., 2001, The Visual Display of Quantitative Information (second edition; Cheshire, CT: Graphics Press)
  • Wells, Greisen, & Harten (1981) Wells, D.C., Greisen, E.W., & Harten, R.H., 1981, A&AS, 44, 363
  • Westover (1989) Westover, L., 1989, in Proceedings of the Chapel Hill Workshop on Volume Visualization, 9
  • Westover (1990) Westover, L., 1990, Computer Graphics, 24, 367
  • White & Frenk (1991) White, S.D.M. & Frenk, C.S., 1991, ApJ, 379, 52