next up previous contents
Next: Scientific Visualization Up: No Title Previous: Contents

Introduction

Visualization tools come in a variety of different forms. Most scientists make use of visualization tools that run on their desktop graphics workstations. The popularity of the Web and the emergence of standard multimedia types such as VRML and MPEG have increased interest in providing visualization capabilities that can be accessed remotely using Web browsers. And new virtual reality facilities, such as the CAVE, invite exploration of how virtual environments can be utilized for visualization.

In current practice, visualization tools built for these different environments are platform specific. Although the tools are similar in functionality and use some of the same libraries, they often have separate code bases and still have to be maintained separately. CAVE applications are usually developed specifically for the CAVE. As a result, these applications are not easily transferred to the desktop. We decided to try to design a CAVE tool in such a way that it could be easily transferred to the desktop. The corresponding desktop tool would have many of the same objects as the CAVE tool. This would allow simultaneous development and maintenance of both tools without much added effort.

The bulk of the work deals with finding consistent, cross-platform ways to deal with the user interfaces. The interfaces to CAVE tools and desktop tools are inherently different. A lot of this is attributed to the fact that the CAVE has special input devices, including a motion tracker. In other research areas, such as 2D desktop gui frameworks, a lot of work has already been done so that interfaces are platform independent. Between the CAVE and the desktop, it's more complicated. It's no longer just a matter of different widgets, there are different forms of interaction in the two environments.

In order to accomplish this task, I am making use of object oriented techniques (design patterns). This essentially involves making abstractions for things that are common between different user interfaces and encapsulating the things that may change. Encapsulating things that may change facilitates reuse since the impact of any change will be localized.

This work presents the beginnings of an object oriented framework that facilitates the creation of portable and extensible custom visualization tools.

The framework emphasizes an approach to visualization that facilitates taking existing software and adapting it to different environments. It allows custom visualization tools to be built quickly by integrating components from different packages using object oriented techniques (design patterns). This is in contrast to the current trend of building custom visualization software from scratch for every new application.

Using this framework, a specific tool is created. This tool demonstrates how the framework architecture is applied to a particular application and the impact of the framework's design decisions. Designing a framework is an iterative process. More tools will be developed using this framework, helping it to evolve and become more reusable.


next up previous contents
Next: Scientific Visualization Up: No Title Previous: Contents

Paul John Rajlich
Mon May 4 16:53:57 CDT 1998