Two papers for Greg Newton's talk on 02/28/96
Three-Dimensional Computation Visualization - John T. Stasko and Joseph F. Wehrli
Algorithm Animation Using 3D Interactive Graphics - Marc H. Brown and Marc A. Najork
Note - Although both papers are about the use of 3D graphics in visualization and animation, the paper by Stasko and Wehrli provides a broader, more general overview and will be summarized more thoroughly. Brown and Najork's paper touches on some of the same issues, but is primarily a description of how they have used 3D graphics to animate specific algorithms.
Stasko and Wehrli define computation visualization to be "the use of computer graphics to explain, illustrate, and show how computer hardware and software function." The area of computation visualization includes other areas that we have studied this quarter, namely algorithm animation, software visualization, and program visualization.
In recent years, many systems for visualizing and animating computational processes have been developed, but most were restricted to 2D graphics. Advances in 3D graphics hardware and software have made it possible to add 3D views to these systems.
The two primary reasons to use 3D graphics for computation visualization are :
Furthermore, the designers of the Information Visualizer from Xerox PARC comment that "three-dimensional displays help shift the viewing process from being a cognitive task to being a perceptual task. This transfer helps to enable humans' pattern matching skills."
Stasko and Wehrli define three categories of 3D computation visualization views :
Of the three categories, Adapted 3D Views are considered to be the most interesting because the "involve innovative new views of some tried and true algorithms and programs".
Although we might consider the spatial dimensions to be the only dimensions involved in a 3D view, Stasko and Wehrli point out that color and shape can also be considered "dimensions" in most computation visualization systems. They then describe what information the various dimensions are often used to convey.
Figures were provided displaying 3D views of several algorithm animations, including
Stasko and Wehrli point out that 3D visualization does have its drawbacks, including :
Polka, Stasko's object-oriented system for 2D algorithm animation, was extended to provide 3D views. Polka 3D is written in C++ and uses the Iris GL 3D Graphics library. In addition to all the features of Polka, Polka 3D provides 3D primitives such as cones, spheres, cubes, etc., and an Eye object to control the position and orientation of the viewpoint. Polka 3D does not require prior knowledge of 3D computer graphics, and defaults are provided for 3D viewing attributes such as surface material and lighting models. Polka 3D has also been incorporated into a virtual environment, but the resolution of available head-mounted displays is not adequate to display many animations.
Like Stasko and Wehrli, Brown and Najork propose the use of 3D graphics to add "an extra level of expressiveness" to algorithm animations, a subset of the class of computation visualizations defined by Stasko and Wehrli. However, unlike Stasko and Wehrli, Brown and Najork reject the idea of using 3D algorithm animation views for aesthetic purposes or to view inherently 3D data. They propose using 3D graphics to "increase the quality or quantity of information conveyed in a graphical display", a purpose essentially the same as the Adapted 3D views class proposed by Stasko and Wehrli.
Brown and Najork have explored three uses of 3D views in algorithm animation :
These probably look familiar, and are in fact described by Stasko and Wehrli in their section on Dimension Usage.
Brown and Najork have extended Zeus, Brown's 2D algorithm animation system, to include 3D viewing capabilities. The 3D version of Zeus includes three dimensional primitives, 3D navigation through mouse interaction, as well as control panels to change rendering parameters and view specific parameters.
The rest of the paper is devoted to specific examples of how 3D Zeus was used to animate specific algorithms, and what type of 3D view each animation employed.
Examples of using 3D to express information about inherently 2D structures
Examples of using 3D to unite multiple views of an object
Example of using 3D to capture a history
A great deal of skepticism was voiced by people in the class, especially concerning the 3D algorithm examples used in the paper and accompanying video by Brown and Najork. Many people felt that Brown's integration of multiple 2D views into one 3D view actually made comprehension more difficult. Another problem noted is inherent in 3D graphics… obscuration of graphical objects by other objects closer to the viewer is a major problem. Brown and Najork used transparency in an attempt to lessen this problem, but some felt that this actually worsened the problem.