An architecture for incorporating interactive visualizations into scientific simulations
MetadataShow full item record
As scientific simulations get increasingly complex, so do the requirements of how to deal with the data that is produced. Few scientists and engineers today are satisfied with just looking at streams of numbers; we require graphical visualizations to better understand their meaning. The traditional method of visualization has been to save the simulation's results to a file, then load that file up in another program (eg. Microsoft Excel) for post-processing. Although post-processing data to produce visualizations may be sufficient for some simple simulations, a modern simulation designer usually wants more out of their visualization. Perhaps they want the visualization to be a 3D plot of an interplanetary trajectory, with the ability to zoom, pan, and rotate the scene interactively. Until now, doing so has required the designer to become adept at computer graphics, which is a feat that almost no scientist or engineer has the time to attempt. The research undertaken here introduces an architecture by which a simulation programmer can easily add interactive 3D visualizations to their simulations. This architecture has several benefits over existing visualization packages, the biggest one being that no knowledge of computer graphics is required to use the it in one's own simulations. Another benefit is that the resulting visualization is interactive by default, without any extra programming required on the part of the simulation designer. This thesis begins by introducing the theory behind how scientific simulations want to visualize data. Common aspects of all simulations are identified, and are used to develop a common "visualization language" that can be used by any simulation designer to specify what they want to visualize. The second part of the thesis specifies a particular implementation of this visualization language, called OpenFrames. Open- Frames is a library of functions that can be called from C, C++, or FORTRAN, and automatically implements the visualization specified by the designer.