This is a Java implementation of the visualisation method of graphs known as hyperbolic tree. This method is based on hyperbolic geometry. The effect is similar to mapping a plane onto a sphere. The part of the plane mapped onto the portion of the sphere's surface directly our eyes looks big and the parts of the plane mapped to the sides of our field of vision look smaller ** but they are not invisible. The main benefit from such a visualisation scheme is that all information is available to the viewer but the information which he/she is currently focusing on looks big while information in the sides of the field of vision is small. If the focus changes then the tree rearranges itself and some other portion of the data is now prominently visible. Compare this to looking the reflection of a room onto a chrome ball like those used in christmas trees decoration: the whole room fits in but where our eyes look, the detail is greater. The original hyperbolic transform is 200 to 300 years old and was studied by Poincare and others. Nowadays Xerox (Inxight) following the great american and capitalist tradition of ``I saw it first, it is mine'' have implemented this algorithm and patented it. THIS IS ABSURD and I hope that not only non-americans can recognise this. It is like patenting arithmetic or the way we do long division. Jesus... Dr. Vladimir Bulatov (bulatov@dots.physics.orst.edu) had programmed an application which used the hyperbolic transform in visualising its output data. His program is called HyperProf, it is for free and can be found in several places: http://www-sor.inria.fr/~java/ http://heiwww.unige.ch/ftp/pub/jaNet/mirror_isbiel/java/HyperProf/ http://www.genome.wi.mit.edu/taskmaster/java/java/Java/HyperProf/ http://www.cs.kuleuven.ac.be/~romain/ZIPPED/ http://www.informatik.fh-muenchen.de/~ifw95043/java/profileviewer.html http://www.ece.orst.edu/~sllu/cfpp/bin/PVS/ http://www.leo.org/pub/comp/programming/languages/oo/java/development/profiling/ I have extracted Dr Bulatov's implementation of the hyperbolic transform from his program, HyperProf, and modified it so that it visualises any data structure the user wishes to use. Before it could operate on a data structure relevant only to HyperProf. After I have consulted Dr Bulatov, I am now releasing this program to everybody. It is now public domain and anybody wishing to use it should first read and understand the GNU License which accompanies this package (see file COPYING.LIB). In essense, you are free to use and modify as long as the final result is still distributed under the same GNU License. Since I am unemployed and in need of money I would kindly ask those that they will use this program for commercial purposes to perhaps consider employing me or some other poor person rather than spending the profits all by themselves. One can also make a generous donation to the Free Software Foundation. Note that since these objects are part of a package called "gnu.hyperti", they need to be in a subdirectory called gnu/hyperti somewhere in your CLASSPATH. INSTALLATION: 1) % tar xvf hyperti.tar this will extract all files to their proper directories. Basically ./gnu/hyperti/ 2) I have included a Makefile for compiling the code. So, % cd gnu/hyperti % make all If you are running out of make then do the following: % cd gnu/hyperti/mathext % javac -d ../../../ -classpath ../../../ *.java % cd ../graphi % javac -d ../../../ -classpath ../../../ *.java % cd .. % javac -d ../../ -classpath ../../ *.java to run javadoc do: % cd gnu/hyperti % javadoc -author -version -public -classpath ../../ -d ../../ HyperbolicTree.java HyperbolicTreeNode.java mathext/MathExt.java mathext/Complex.java graphi/Graph.java I have also included a java file (look in the directory demo, file Paroutis.java) in order to compile and run it do: In the directory ./gnu/hyperti and if you have make % make demo alternatively % cd demo % javac -classpath ../../../ Paroutis.java % java -classpath ../../../:./ Paroutis The opinions expressed in this document represent just me myself and nobody else, especially not necessarily those mentioned here. Happy programming and long live Unix and the Free Software Foundation, andreas hadjiprocopis Any comments, bugs should be addressed to: Andreas Hadjiprocopis livantes@soi.city.ac.uk Computer Science Department www.soi.city.ac.uk/~livantes/home.html Room A534, City University +44 171 477 8551 tel Northampton Sqr, ec1v0hb, London, UK 8587 fax