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