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.


Three-Dimensional Computation Visualization

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.

Why use 3D?

The two primary reasons to use 3D graphics for computation visualization are :

  1. some data to be visualized is inherently 3D
  2. the third spatial dimension allows additional information encoding

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."

Three-Dimensional Computation Visualization Views

Stasko and Wehrli define three categories of 3D computation visualization views :

  1. Augmented 3D Views - the visualization of data that only requires a 2D view. The third view is added for aesthetic purposes.
  2. Inherent 3D Application Views - the visualization of inherently 3D information or processes. (e.g., volume packing algorithms, non-planar graph algorithms)
  3. Adapted 3D Views - similar to augmented views in that the data could be visualized with a 2D view, but the third dimension is used to encode additional features or attributes of the computation.

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".

Dimension Usage

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.

Examples of Adapted 3D Views

Figures were provided displaying 3D views of several algorithm animations, including

Drawbacks

Stasko and Wehrli point out that 3D visualization does have its drawbacks, including :

Polka 3D

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.


Algorithm Animation Using 3D Interactive Graphics

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.

Uses of 3D Views

Brown and Najork have explored three uses of 3D views in algorithm animation :

  1. Expressing fundamental information about structures that are inherently two-dimensional.
  2. Uniting multiple views of an object.
  3. Capturing a history of a three dimensional view.

These probably look familiar, and are in fact described by Stasko and Wehrli in their section on Dimension Usage.

3D Extension to Zeus

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



Class Response

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.

Questions Posed


gregn@cc.gatech.edu