Home - H3Viewer - Otter - NAM - Ineato - Dotty

H3Viewer

 

Description                                    

H3Viewer is a 3D graph visualization tool that allows intuitive exploration of hierarchical graphs.  It is highly scalable, having been used to navigate graphs of 100,000 edges.  The key feature of H3Viewer is its hyperbolic layout algorithm, which distorts graphs so that the user can see detail near the center of the graph and at the same time see the larger context of the graph near the edges.  It is hard to appreciate the fluidity and intuitiveness of this tool just by looking at snapshots.  I recommend giving H3Viewer a whirl.  

Layout                                                       

H3Viewer’s layout algorithm operates on hierarchies, so the first step in the layout algorithm is to generate a tree from the general graph.  H3Viewer has several built-in policies for doing this, or the user can implement a custom policy.   Once a hierarchy has been computed, the nodes are laid out inside of a sphere.  The space inside the sphere is hyperbolic, meaning that while objects in the center of the sphere are large, their size decreases rapidly as they approach the surface of the sphere.  It is this exponentially large space that allows H3Viewer to efficiently lay out extremely large graphs without clutter.  While this layout approach does result in a nice focus + context view, the distortion presents some difficulties.  First, it is impossible to see the entire graph at once – points near the surface shrink to nothing.  Second, distances between points become meaningless.

Interactivity                                   

The Win32 release of H3Viewer includes basic interactive controls.  SGI’s SiteManager tool, which uses the H3Viewer engine, has a much richer set of features.  Graph navigation is mostly mouse-based.  Double clicking on a node brings it to the center of the sphere, or the user may drag a node to any point in the sphere.  H3Viewer also supports toggling links that are part of the graph but are not part of the hierarchy.  Finally, it is possible to group links and nodes into categories and then filter and color based on those categories.

Availability                                       

H3Viewer consists primarily of a library written in C++/OpenGL.  The source code is freely available from Tamara Munzer’s H3Viewer page.   She also provides the Win32 binary for a basic implementation of H3Viewer.   

The H3Viewer application is available only for IRIX and Windows machines. 

Using H3Viewer                            

Setting up H3Viewer with to display a graph is not straightforward.  Many features are only available through the API, so a user has to tweak the application code in order to perform link filtering or specify a policy for calculating spanning trees.  Node and link definitions are read in from an input file, but this file must be carefully ordered according to the hierarchical structure of the graph.  For more information on using H3Viewer, see the documentation

Links                                              

Tamara Munzer's H3Viewer page.

Home - H3Viewer - Otter - NAM - Ineato - Dotty