Software > Hyperbolic TreesDescription | Pros and Cons | Applications | Details | Usage Hints | References | Acknowledgments
Hyperbolic graph layout uses a context + focus technique to represent and manipulate large tree hierarchies on limited screen size. Hyperbolic trees are based on Poincare's model of the (hyperbolic) non-Euclidean plane. Experience non-Euclidean Geometry with Paul Garrett's applet! John Lamping, Ramana Rao and Peter Pirolli rediscovered hyperbolic spaces in 1995 for information visualization. Tamara Munzner at Stanford University developed a 3D hyperbolic viewer in her Ph.D. thesis.
The hyperbolic layout employs the following techniques:
Hyperbolic trees are very valuable to visualize hierarchical structures such as file directories, web sites, classification hierarchies, organization hierarchies, newsgroup structures, etc. While traditional methods such as paging (divide data into several pages and display one page at a time), zooming, or panning show only part of the information at a certain granularity, hyperbolic trees show detail and context at once.
In class we will use the hyperbolic tree implementation by Jason Baumgartner (2001) based in part from the hyperbolic tree implementation by Andreas Hadjiprocopis (1999). We will use the hyperbolic tree code implemented in the Information Visualization XML Toolkit.
The Hyperbolic Tree package can be found on ella at '/home/www/ella/htdocs/classes/L697/code/toolkit/gui/hyperbolic'.
The XML implementation in the Information Visualization XML Toolkit can be found on ella in '/home/www/ella/htdocs/classes/L697/code/toolkit/xmlbridge'.
To use only the hyperbolic tree portion of the toolkit you need an entire copy of the Hyperbolic Tree Package and the Information Visualization XML Toolkit, as listed in the above directories on ella. You need to maintain the package (directory) structure of these copied files. To run the code as an applet, use the XMLHyperbolicTree as a visual component just like any other Swing component. Please review the applet example.
In addition, the Information Visualization XML Toolkit provides a demo of the hyperbolic tree on ella in '/home/www/ella/htdocs/classes/L697/code/toolkit/demo/'. Copy the demo files to a machine with the proper JDK (1.3 with the XML pack or 1.4) and then double click on 'infovis.jar' to open the demo. Use 'Select File' in the top menu to select a newly created XML file of to visualize an XML demo files.
Note: Hyperbolic trees require a 'hierarchy.xml' input file. They cannot display 'tabular.xml' or 'list.xml' structured files.
Variations: Change of Hyperbolic parameters.
The hyperbolic tree implementation is based in part on the hyperbolic tree implementation by Andreas Hadjiprocopis (1999). It was modified by Jason Baumgartner in 2001 and integrated into the XML Toolkit by Nathan James Deckard.