VRML Data Visualization Environment
Abstract
In the course of this work an universal environment for visualizing all sorts of data has been developed. The architecture for this environment is open for every new visualization type. There are already some very interresting visualization theories, like "ConeTrees" or "Fisheye Views" which one can find in several publications.
The environment called Explore3D uses the VRML-EAI[VRML97] to create three different examples of data visualization. The environment is not limited to use three different visualisations, because the class hierachy supports every new visualisation ( in Explore3D called "view" ) which extends the ground class Visualizer.
The class Visualizer offers several methods which create a VRML-Syntax String, so that every View class, which extends class Visualizer inherits this VRML modeling methods. The Explore3D environment implements three different Views called BoxView, ConeTreeView and GravityView.
In order to use different sources for the data input, the different views just use data sources which implements a VariableDataSource interface. This concept is very useful, because so it is possible to read data, for example from a file ( class DataFile ) or from the harddisk ( class DiskData ).
Architecture
The class architecture itselve is very simple, so that it is easy to improve the environment with new modules ( Views and DataSources ).
The environment has to run in an Applet, because the EAI-classes use the browser ( Netscape or Explorer ) to get a handle to the VRML-browser, which has to be on the same HTML-page.
Generally the Explore3D-Applet creates an instance of a VariableDataSource and an instance of the VRML-browser and gives this instances to the constructor of a View ( new View( browser, variableDataSource ) ).
BoxView
The BoxView just creates a 3DBox for every data object, with a logarithmical size heigth and a 3DCone if the data item is a directory.
Additionally the environment uses textures like directory.jpg, text.jpg, html.jpg on the objects in 3D-Space.
ConeTreeView
The ConeTreeView creates a tree, visualizing the directory structure with cones, which size depend on the directory size. The ConeTreeView is not able to read information from a FileData source, it needs a DiskData source, because only the DiskData source realizes a directory structure.
GravityView
The GravityView calculates for every data item a position, around the center source, which has to be far enough away from every other data item, the distance to another object depends on the sum of the sizes of the two objects.
The result of a GravityView looks like a planetsystem.