Non-Euclidean Spring Embedders

 

Jürgen Pfeffer, 9626384

 

 

S. Kobourov and K. Wampler, Non-Euclidean Spring Embedders, IEEE 2004, Austin, Texas, 2004

 

Motivation

 

 

Aims of Graph Drawing:

n      Distribute the vertices evenly in the frame

n      Minimize edge crossings

n      Make edge lengths uniform

n      Reflect inherent symmetry

 

 

Spring Embedders: Basics

 

Some of the most flexible algorithms for calculating layouts of simple undirected graphs belong to a class known as forcedirected algorithms. Force-directed algorithms are a well-known and powerful tool for laying out graphs. Also known as spring embedders, such algorithms calculate the layout of a graph using only information contained within the structure of the graph itself. Such methods define an energy function in such a way that low energies correspond to layouts in which adjacent nodes are near some pre-specified distance from each other, but in which non-adjacent nodes are well-spaced. A layout for a graph is then calculated by finding a (often local) minimum of this objective function. [1]

 

n      Graph Drawing by Force-directed Placement

n      Repulsive Forces

n      Attractive Forces

 

Standard Algorithm:

n      Kamada-Kawai (1989)

n      Fruchterman-Reingold (1991)

 

 

Non-Euclidean Spring Embedding

 

Much of the work on non-Euclidean graph drawing has been done in hyperbolic space [11, 13] which offers certain advantages over Euclidean space. For example, in hyperbolic space it is possible to compute a layout for a complete tree with both uniform edge lengths and uniform distribution of nodes. Furthermore, some of the embeddings of hyperbolic space into Euclidean space naturally provide a fish-eye view of the space, which is useful for “focus+context” visualization.

 

 

               euclidean space                               hyperbolic space                                     spherical space

 

 

 

Accomplished

 

The paper in hand shows an common way for layout optimizing in general non-euclidean space. My special interest main concern was with the euclidean spring embedder by Kamada/Kawai [3]. I completed the following production steps:

 

1. Kamada Kawai

2. Optimized Kamada Kawai (N³ N²)

3. Hyperbolic Kamada Kawai

4. Hyperbolic Projection

 

Program Environment:

Borland Delphi 7 (Source)

 

 

References

 

[1] S. Kobourov and K. Wampler, Non-Euclidean Spring Embedders, IEEE 2004, Austin, Texas, 2004

 [2] P. Eades, A heuristic for graph drawing. Congressus Numerantium, 42:149–160, 1984.

[3] T. Kamada and S. Kawai, An algorithm for drawing general undirected graphs. Information Processing Letters, 31(1):7–15, Apr. 1989.

[4] T. M. J. Fruchterman and E. M. Reingold, Graph drawing by force-directed placement. Software — Practice and Experience, 21(11):1129–1164, 1991.