Rock ‘n’ Roll: Using VRML 2.0 for Visualisation1 Jeremy Walton2 and David Knight 3 NAG Ltd, Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, UK
Abstract. The Virtual Reality Modelling Language (VRML) is used to publish 3D scenes on the World Wide Web. In this paper, we give a brief account of the development of VRML and discuss its use in the context of scientific visualisation. We pay particular attention to the new features that have been added to the language at version 2.0, and assess these for their utility in sharing visualisations of complex 3D datasets. Chief among the new features is the ability to add behaviour to the scene, and we present a number of examples (garnered from our own work, and scenes which we have discovered on the Web) of dynamic visualisations which make use of these enhancements. Finally, we describe some of the shortcomings which we perceive in VRML 2.0, and indicate ways in which the language could usefully evolve in the future.
Introduction The World Wide Web (WWW) has had an enormous impact on the way in which information can be shared between disparate locations. Many factors have contributed to the explosive growth in its use, but the initial impetus undoubtedly came from the definition of a language—the well-known HyperText Markup Language (HTML)—for the description of text, images, sound, movies and other types of data that can be published on servers around the globe. Once this language had been defined, the way was clear for the development of browser and authoring tools for documents composed of these datatypes. For some time now, this list of ‘Web-aware’ datatypes has been supplemented with 3D geometry, owing to the definition of a language for describing 3D scenes on the WWW. The Virtual Reality Modelling Language (VRML) is a standard for the interchange of 3D data and, following the definition of version 1.0 of the language in 1995, the number of sites which offer 3D scenes has increased dramatically, in a fashion that parallels the overall growth in WWW activity. A new version—2.0—of the language was defined in 1996. The major enhancement over version 1.0 is the introduction of behaviour into the scenes which may be described using this language. This leads to the possibility of sharing geometry which is dynamically changing, and new ways for the user to interact with the scene. In this paper we examine some of the implications of VRML for the field of scientific visualisation. We present several examples of visualisations which have been created in VRML, paying particular attention to those which make use of the new features of VRML 2.0. Some of these scenes have been developed at NAG, but there are others which have been downloaded from other sites on the Web.
1
An early version of this paper was presented in a panel session at the WorldMovers conference in San Francisco during January 1997. The presentation (which includes all of the VRML 2.0 content referred to in the text) is on the World Wide Web at http://www.nag.co.uk/visual/IE/iecbb/VRML2/wm1.html 2
[email protected]
3
[email protected]
8th EG Workshop on ViSC, Boulogne sur Mer, 28-30 April, 1997
Our paper is arranged as follows. We give a brief survey of the history of VRML in the following section, and describe its relationship to the Open Inventor [1] graphics library. We then (§2) present three examples of the way in which VRML has been used as a delivery mechanism for sharing visualisations on the WWW: a Visualisation Web Server (§2.1), which allows users to produce visualisations of their data over the Web, with the results being returned to them as VRML; a molecular hyperglossary (§2.2), where VRML is used as an enabling technology in the exploration of multidimensional data spaces; and finally, in §2.3, an airline planning system. Here, several datatypes are displayed in the same space to produce a visualisation of airline routes, which is then shared with remote sites (actually, the control towers of interested airports) via VRML. Section 3 contains a description of the new functionality that VRML 2.0 offers over version 1.0 of the language, followed by a number of examples of its use. Some of these have been constructed using IRIS Explorer [2], a data visualisation toolkit based on Open Inventor. Finally, in Section 4, we attempt to assess VRML as a language for scientific visualisation, discussing the parts which we have found to be useful, the parts which have received less attention and outlining ways in which it could be further enhanced in the future.
1. VRML—a 3D language for 3D visualisation 1.1. Creating and sharing visualisation The generation of 3D visualisations of scientific data is a comparatively mature field, and today’s user can choose between a variety of public domain and commercial packages. Examples of popular general-purpose visualisation systems include IRIS Explorer [2], AVS [3], Data Explorer [4] and Khoros [5]. Classically, visualisation is used to (a) understand or explore data, and then to (b) publish the result in order to communicate this understanding to others. Following the rise in popularity of the WWW, traditional forms of publishing have been complemented by Web publication. The relative merits of the traditional media vs the Web are still under discussion, but one advantage that the Web has is the possibility of publishing and sharing data in new forms. To see this, consider for example a visualisation of a complex 3D object such as an oil reservoir model consisting of an assembly of coloured hexahedra. Type
Format
Resolution
Size (bytes)
Image
JPEG
750 by 614
62347
Movie
compressed
201 by 49
51089
3D
VRML ASCII
n/a
70647
3D
VRML gzipped
n/a
29203
Table 1. Some file sizes for the reservoir model. The resolution gives the screen size of the image and the movie, and the duration (in frames) of the movie; this is not applicable to the 3D model since its view in the browser can be any size desired by the user. A fixed view of the object may be chosen by the publisher, and shared as an image, or a selection of views may be chosen (usually by specifying the path a camera takes around the object) and published as a movie. Both of these forms only offer a limited number of views of the object which—if the object is complicated—may be overrestrictive for other users who wish to share in the understanding of the object. This leads us to consider the possibility of not sharing views, but a copy of the object itself. Here, the user can choose any view of the scene, and interact with it in the same way as the publisher. Moreover, individual views (i.e., camera locations and orientations) can be stored in the file, so the publisher has the ability to draw the user’s attention to specific features in the scene, but the user still has the freedom to explore the object in whichever way they are inspired to do. Finally, the sharing of views as images or movies can take up more space on disk (and download time) than the sharing of the object, as Table 1 illustrates for the reservoir model. Clearly, the quantitative aspects of this
8th EG Workshop on ViSC, Boulogne sur Mer, 28-30 April, 1997
comparison are dependent on the model, since its complexity determines the size of the 3D file, whereas the size of an image or movie file is related to its resolution in screen space, but we have found in practice that the trend illustrated in Table 1 has held for a wide range of visualisations that we have developed and used elsewhere.
1.2. Open Inventor and VRML 1.0 We have seen the advantages of interactivity that 3D publishing offers, although we have not yet discussed the character of the file format used to do this. The field of 3D geometry creation and storage is somewhat immature, and until recently, 3D formats were usually tied to a particular CAD application. Similarly, those scientific visualisation packages that allowed the user to save their results as geometry (not all did) would often use a proprietary—often undocumented—format. This situation changed with the advent of Open Inventor [1], an object-oriented 3D graphics library which defines an simple file format for the description of 3D scenes. A scene in Open Inventor is made up of nodes; various classes of nodes implement geometry elements (primitive shapes, surfaces, text, etc.), properties (colour, lighting, texturing, transformation, etc.) as well as other behaviours. Following the definition of VRML 1.0, a number of browsers and authoring tools appeared—for example, WebSpace [6], a browser developed by Silicon Graphics. The widespread acceptance of VRML makes it a natural choice for storing and sharing 3D geometry as output from a visualisation package. In the case of IRIS Explorer, converting its output to VRML is most easily done using the Inventor translator ivToVRML, which is part of the WebSpace distribution. A number of VRML files produced using IRIS Explorer are accessible on the WWW [7], together with a large variety of examples [8] from other application areas. Before going on to discuss the latest version of the language (in §3), we interpose a section describing three examples [9] of the way in which the connection between the visualisation system and the Web (effected via VRML) has been exploited recently.
2. VRML as enabling technology—some examples 2.1. A Visualisation Web Server Brodlie and his co-workers have developed a WWW server for visualisation [10,11]. Here, the user accesses a page on the WWW and fills in an HTML form describing the location of their dataset, the visualisation techniques that are to be applied to the data, and any parameters which need to be selected for the technique (for example, the value at which an isosurface is to be calculated). A Common Gateway Interface (CGI) script is created from this information, and this is passed to the visualisation server, where it is used to assemble (or select) the application that is to be run by IRIS Explorer. The resultant geometry is passed back to the server as an Open Inventor file, which is converted to VRML and sent back to the user’s client, where it is delivered to a browser. The Visualisation Web Server has been used in the display of real-time environmental data [11] and has also been demonstrated as an education application, to illustrate the way in which various visualisation techniques can be used. The advantage of this is that the student is free to concentrate on the results of applying the technique, rather than on the details of how it has been invoked in the visualisation application.
2.2. Mining a molecular database using VRML Casher and his colleagues have used VRML in their studies of molecular quantum chemistry [12]. Traditionally, this has been an important area of application for scientific visualisation, because these calculations are usually performed on complicated 3D objects (molecules) which can rotate and bend, and visualisation is often a prerequisite for understanding the results of the calculations. Part of their research has highlighted the way in which VRML can be establish connections between representations of complex multidimensional datasets. For example, Figure 1 illustrates the results [13] of a search through the Cambridge Crystallographic Database for close intermolecular interactions between an oxygen atom in a molecule and the hydrogen in a C–H bond in a chlorinated aromatic system. The results are presented as a cluster of points around a chlorobenzene molecule. The location of each point in space corresponds to the 3D molecular coordinates of the oxygen atom in the interaction with one of the hydrogen atoms on the benzene ring. Some parts of the
8th EG Workshop on ViSC, Boulogne sur Mer, 28-30 April, 1997
coordinate space are densely populated and are indicated by larger points; clicking on one of these downloads a scene showing the individual points for that region. Each of these points is hyperlinked to a scene containing the molecular structure corresponding to that interaction. Finally, the molecular structure can contain a link to other relevant information about the molecule, such as links to electronic journal articles or conferences, and other electronic documentation.
Figure 1. Working with a molecular hyperglossary on the WWW, constructed using VRML and IRIS Explorer. Each link between hyperglossary elements (which could be 3D scenes or text) is associated with an action, which is marked in the figure. The result is a database of chemical information which has been termed a 3D molecular hyperglossary [13], in which hyperlinks serve to establish connections between disparate molecular datasets. Such hyperglossaries have been investigated as a means to collocate data from different sources and present them in navigable form in electronic journals [13].
2.3. An airline route planning system Chiba et al at the IRIS Explorer Center Japan have developed a visualisation system for Japan Airlines to enable them to display routing information in a more intuitive fashion. The system [14] takes physical data such as wind and tropopause information and overlays it on a terrain map, and then overlays other data such as airport locations and details of air traffic control zones. Once the visualisation has been assembled, it is exported as VRML for download by users in airport control towers who require access to the routing information. Here, VRML is being used as a delivery mechanism for the visualisation, which gives the users the freedom to roam throughout the display and make the necessary decisions based on the information portrayed.
3. Worlds That Move—VRML 2.0 The WWW and its associated technologies are still in their infancy, and—as is well known—are currently undergoing technological evolution on a vast scale. In line with these developments, VRML is receiving rapid enhancements. Version 1.0 of the language defines essentially static, single-user 3D scenes, but it was originally
8th EG Workshop on ViSC, Boulogne sur Mer, 28-30 April, 1997
conceived as a minimal starting point for a much larger vision of the implementation of interlinked, dynamic, multiuser 3D worlds as a means to organise information space and navigate through it. In this section then, we discuss some of the drawbacks of VRML 1.0 with reference to this vision and, more prosaically, its use as a language for scientific visualisation, and show how these have led to the definition of version 2.0 of the language. Following a brief description of some of its features, we present a few example worlds written in this language.
3.1. What’s wrong with VRML 1.0? One of the defining characteristics of VRML 1.0 was its simplicity. Whilst this proved popular, it led to some limitations in the types of worlds that it could describe. Apart from the lack of dynamics and multi-user support mentioned above, it has no support for curved surfaces (e.g., NURBS). A number of visualisation techniques have a requirement for these—for example, ribbons are used in the display of particle traces through vector fields, and also in the display of high-order structure in large molecules such as a protein. Current VRML 1.0 scenes are required to mimic such structures by using triangle strips, which is much less compact than the implicit parameterisation of the surface. Another problem with VRML 1.0 is its poor support for prototyping new nodes. This is important for certain domain-specific scenes. For example, the visualisation of a molecule as a set of spheres (atoms) and cylinders (bonds) is not handled efficiently in vanilla VRML, where each element (sphere or cylinder) has to be represented explicitly [15]. This is because the file format stores and manages a collection of similar pieces of geometry in a very general fashion; what is required is some way of grouping these pieces together into (say) a set of spheres. This could be stored in a more compact form in the file, and knowledge about its contents could be used to minimise the overhead associate with such actions as rendering. Other workers have also investigated the possibility of creating these groups in VRML 1.0—specifically, for the display of vector fields [16]—but, as noted above, the support for prototyping these new nodes in VRML 1.0 (via the fields field and the isA keyword) is not ideal.
3.2. What’s new in VRML 2.0? In contrast to the simplicity of VRML 1.0, VRML 2.0 [17] is a much larger and richer language. It is not a superset of the earlier language, although translators exist to upgrade from 1.0 to 2.0 (see below). The chief design objective for 2.0 was the introduction of behaviour. Behaviour and logic are incorporated into the world through the inclusion of scripts which can be written in a programming language such as Java or JavaScript. Other animation can be added to scenes through the use of a TimeSensor node and interpolators. A TimeSensor provides a ‘stopwatch’ in the scene, with user control over the starting time, duration, and cycling behaviour. An interpolator can be used to change the value of elements of the scene such as positions, orientations, coordinates, normals, scalars or colours. Connecting a timer to an interpolator produces dynamic variation in the element; we present some examples below in §4.3. Further features of VRML 2.0 include sensors, which allow for interaction with objects and trigger events (based on options such as collision, proximity, touch, or viewpoint) and the addition of new geometry nodes such as Extrusion, which can be used to define curved surfaces. The language also provides support for sound in scenes, and incorporates the ability to prototype new nodes via a mechanism which is more extensive than the offering in VRML 1.0. Because the language is comparatively nascent (and possibly also because it is more complicated) there are fewer resources available for VRML 2.0 at the moment. Once again, however, Silicon Graphics have developed a browser called Cosmo Player [18], which is (like WebSpace) freely available on the Web. The distribution contains translators to update scenes from VRML 1.0 to VRML 2.0. A VRML 2.0 authoring tool called Cosmo Worlds is also available from Silicon Graphics.
3.3. Rock ‘n’ Roll—some examples of VRML 2.0 worlds In this section, we present some examples of scientific visualisations which have been created in VRML 2.0. First, we briefly describe three simple examples which have been produced by IRIS Explorer and converted to VRML 2.0; extra features such as interpolators were then added by hand.
8th EG Workshop on ViSC, Boulogne sur Mer, 28-30 April, 1997
•
Particle tracing. Here, the output from a particle tracer is animated through the interpolation of position. A sphere travels along the trace; its speed is proportional to the local velocity of the underlying vector field. The input to the interpolator is the set of points on the trace. • Heat diffusion. The visualisation of heat flux in a flat plate is animated through the interpolation of coordinates and colour. The local temperature on the plate is mapped to displacement of the surface, and this changes dynamically. The input to the interpolators are the coordinates of the plate from three time steps, plus a colourmap. • Isosurface morphing. One coloured isosurface (for some threshold value) morphs into another (for a higher threshold value) which surrounds the first. The input to the interpolator is the transparency of the second isosurface. Next, we discuss two example worlds which we have found on the Web. We reiterate our comment above regarding the comparative paucity of VRML 2.0 resources on the Web, but note that these two present excellent examples of the possibilities of the use of VRML 2.0 for scientific visualisation.
Figure 2. The Normal Mode Visualisation page of Brickmann et al. The upper pane displays the vibrational spectrum of the molecule; clicking on a frequency downloads a dynamic 3D model illustrating the corresponding mode of vibration into the lower pane. Brickmann et al have used VRML 2.0 to present the normal modes of molecular vibration for an example molecule. Molecules, like other rigid structures, can vibrate in distinct modes which are usually related to the stretching, bending and twisting of bonds. Each mode has an associated energy, and this can be used to characterise the molecule in terms of its infra-red adsorption spectrum. Since the molecule can be a complex 3D structure, the presentation of the distinct modes via static, 2D media (such as paper) can be challenging. The presentation as a dynamic 3D scene is much more insightful, since each mode can be stored in a VRML 2.0 file, with the mode encoded as a set of interpolations of coordinates and orientations. Once again, the delivery via VRML has
8th EG Workshop on ViSC, Boulogne sur Mer, 28-30 April, 1997
advantages over its delivery as an animation, since the molecule can be rotated and zoomed by the user whilst it is vibrating. Finally, the periodic nature of the vibrational motion can be easily reproduced by making the TimeSensor node repeat its cycle. The molecular vibration page [19] is shown in Figure 2. The user selects an energy from the upper pane, which is displaying the adsorption spectrum, and the corresponding mode appears in the lower pane. The interplay between the two panes leads to a rapid understanding of the different modes of vibration and their corresponding energies. Casher has constructed a dynamic visualisation of the SN2 reaction mechanism [20]. This is exhibited by, for example, the following reaction CH3Cl + Br → CH3Br + Cl which proceeds via a transition state whose formula is (CH3ClBr)À. The mechanism (that is, the way in which the atoms in the molecules are rearranged in the course of the reaction) is, once again, a complicated dynamic process in 3D which can only be represented on the printed page with some difficulty. However, as Casher’s scene illustrates, its presentation as a dynamic 3D scene is much more illuminating, and provides a good example of the way in which VRML 2.0 can be used to add value to static scenes in the display and analysis of scientific data.
4. Conclusions and further work In this paper, we have discussed the use of VRML as a tool in scientific visualisation, paying particular attention to the use of some of the enhancements in version 2.0 of the language. However, we have not yet utilised many of its other new features. In this final section, then, we shall briefly discuss ways in which these could be employed, before going on to describe areas in which we perceive the language could be further improved for the benefit of the scientific visualisation community.
4.1. VRML 2.0—what else is there? All of the dynamics that have been incorporated into our example worlds have used interpolators. These work well for simple changes to parts of the scene, but cannot be used for more complex behaviour, such as the dynamic loading of a series of scenes which represent time steps from a simulation. Such behaviour could perhaps be incorporated into the scene via scripting, although this would depend on the details of the scripting language supported by the browser—for example, Java is more flexible than JavaScript, but has a longer startup time. Another possibility would be to incorporate behaviour into the scene as ‘visualisation nodes’, which would be encoded in the scripting language. Thus, it might be possible to incorporate (say) a node which generates an isosurface through a 3D scalar dataset. The viewer of the scene would be able to select a threshold value and have the isosurface recalculated in the scene. This client-side calculation is to be contrasted with the Visualisation Web Server of §3.1, which is built around a CGI script that passes instructions to the server about the visualisation to be created. The visualisation is downloaded, as a static 3D scene, onto the client machine. Each change to the visualisation (e.g., a new value for an isosurface threshold) requires a round trip to the server. Downloading the scene together with instructions for modifying it (in the form of scripting nodes which would be invoked locally on the client) might lead to a more efficient use of local and network resources. Other enhancements in VRML 2.0 include the new graphics nodes, such as Extrusion. As mentioned above, this is used to create curved surfaces such as ribbons and tubes, which find extensive use in vector field visualisation and the display of molecules. Depth-cueing can now be added to a VRML scene through the use of the Fog node; as is well known, this can be helpful in providing an enhanced sense of 3D structure to scenes, especially when they are rendered in wireframe. The improvements in the mechanism for prototyping and sharing new nodes could be exploited immediately. The ability to do this is important for (at least) two reasons. In the first place, it allows for more efficient organisation of scenes (as illustrated by our SphereSet example above). Secondly, it suggests the possibility of re-use of other work. For example, consider the creation of a user-defined Axis node, whose characteristics are defined in terms of a small set of parameters (e.g., starting and finishing values, number of divisions and labels). Publishing this node on the Web would allow it to be incorporated into other scenes (possibly created by other users) with minimum effort. Finally we note but do not discuss the possibilities of using sound in VRML 2.0 for data sonification.
8th EG Workshop on ViSC, Boulogne sur Mer, 28-30 April, 1997
4.2. VRML—what else is needed? Although VRML 2.0 represents a significant increase in functionality over the earlier version of the language, which presents a wider range of options for the scientific visualiser (some of which have been discussed in this paper), it is still possible to imagine ways in which the language could be further enhanced. We note that these suggestions—many of which arise naturally from consideration of useful features in existing visualisation applications [2–5]—are domain-specific, although some may turn out to be requirements for other application areas as well. The main thrust of current developments for the next version of VRML is apparently the support of multiple users—this would no doubt have a big impact on those parts of scientific visualisation which have a requirement for collaborative work. Some of our suggestions appear to be comparatively simple to implementfor example, it should be possible to set the line thickness and point size in a scene. Other enhancements would probably require a good deal of work on the part of the language developers, and the browser builders. Thus, for example, it is well known that annotation is an indispensable part of visualisation. Although labels which are always turned to face the viewer can be incorporated into scenes via the new Billboard node in VRML 2.0 (see, for example, the way it is used to display the frequency of vibration in the scene shown in Figure 2), there is still no support for captions or titles. These elements of a visualisation live in a ‘screen space’ as opposed to the ‘world space’ that the rest of the geometry inhabits—i.e., they are unaffected by changes in the viewpoint. In other visualisation systems [2], they are implemented by allowing for multiple cameras in the scene—one in each space. We note in passing that such an enhancement would be of use to other areas which make use of VRML (many of which—such as games—are more popular, and receive more attention than scientific visualisation). For example, locating elements of the scene in screen space would allow for the incorporation of items such as dashboard controls which indicate speed or location in the world. There are still further ways in which the language could be extended. One of the most useful features of Open Inventor [1] is the way in which new nodes can be defined along with methods for displaying and outputting them. Such a mechanism has been used in the past to create new visualisation nodes (such as textured smoke for flow volumes [21]) which can then be incorporated into Inventor-based applications such as IRIS Explorer. If this could be incorporated into VRML, it might lead to still greater use of this important technology for distributing and sharing 3D on the Web.
5. References 1. Wernecke, J. (1994) The Inventor Mentor. Programming Object-Oriented Graphics with Open Inventor, Release 2, Addison-Wesley. 2. The Numerical Algorithms Group (1995) IRIS Explorer User’s Guide. 3. Upson, C., Faulhaber Jr., T., Kamins, D., Laidlaw, D., Schlegel, D., Vroom, J., Gurwitz, R. and van Dam, A. (1989) The Application Visualisation System: A Computational Environment for Scientific Visualisation, IEEE Computer Graphics and Applications, 9, 30. 4. Lucas, B., Abram, G.D., Collins, N.S., Epstein, D.A., Gresh, D.L. and McAuliffe, K.P. (1992) An Architecture for a Scientific Visualisation System , Proceedings of Visualization '92, IEEE Computer Society Press, 107. 5. Rasure, J. and Young, M. (1992) An Open Environment for Image Processing Software Development, Proceedings of 1992 SPIE/IS&T Symposium on Electronic Imaging, 1659 6. http://www.sgi.com/WebFORCE/WebSpace/ 7. http://www.nag.co.uk/visual/IE/iecbb/VRML.html 8. http://www.sdsc.edu/vrml/ 9. Walton, J. (1997) World Processing: data sharing with VRML, in The Internet in 3D: Information, Images and Interaction, Earnshaw, R.A., and Vince, J.A., ed., Academic Press, 237. 10. Wood, J. (1995) IRIS Explorer, VRML and the WWW, poster presentation at the IRIS Explorer User Group meeting, SIGGRAPH 95.
8th EG Workshop on ViSC, Boulogne sur Mer, 28-30 April, 1997
11. Wood, J.D., Brodlie, K.W. and Wright, H. (1996) Visualisation over the World Wide Web and its application to environmental data, Proceedings of Visualization’96, IEEE Computer Society Press, 81. 12. http://www.ch.ic.ac.uk/VRML/ 13. Casher, O., Leach, C., Page, C.S. and Rzepa, H.S. (1995) Advanced VRML-Based Chemistry Applications: A 3D Molecular Hyperglossary, Proceedings of 2nd ECC Conference (http://www.ch.ic.ac.uk/eccc2/). 14. Chiba, H. (1996) in Render, The Newsletter for IRIS Explorer Users, issue 7. (http://www.nag.co.uk/visual/IE/iecbb/Render/Issue7/IECJ.html) 15. Casher, O. and Rzepa, H.S. (1996) The Molecular Object Toolkit: A New Generation of VRML Visualisation Tools for use in Electronic Journals , Eurographics UK 1996 Conference Proceedings 1, 173. 16. Ginis, R. and Nadeau, D. (1995) Creating VRML Extensions to support Scientific Visualisation, preprint submitted to VRML 95 Symposium. 17. Hartman, J. and Wernecke, J (1996) The VRML 2.0 Handbook: Building Moving Worlds on the Web, AddisonWesley. 18. http://vrml.sgi.com/cosmoplayer/download.html 19. http://ws05.pc.chemie.th-darmstadt.de/vrml/vib/ 20. http://chemcomm.clic.ac.uk/rxnpath 21. Becker, B.G., Lane, D.A. and Max, N.L. (1995) Flow Volumes for Interactive Vector Field Visualization, Proceedings of Visualization’95, IEEE Computer Society Press, 19.