VU Informationsvisualisierung: "Visualization of Graphs using Radial Layout Techniques"

Authors : Laura Fritz 9826587, Ivan Maricic 0130041

The Paper

We implement some features from the paper "Animatied Exploration of Dynamic Graphs with Radial Layout" (IEEE InfoVis2001 Page(s): 43-50 by Ka-Ping Yee, Danyel Fisher, Rachna Dhamija, Marti Hearst). This paper describes some approaches how to animate a graph in a Radial Layout, to keep the animation clearly arranged for the user.

Project Details

We used OpenGL, GLUT and GLUI and we wrote it in MS Visual C++ (.NET version).

We structured our programm in seperated modules:

Main

This module just initialises and passes all other modules.

Node

In Node all the properties of a single node in the Radial Layout are established. For example the alignment of the node in the Layout (angular width and distance to the focus), the color (RGB values), the ID, the size of the node itself, all the adjacent nodes of one node etc. etc.. Also the shape and appearance from the nodes (material, lighting, blending) is set here.

Graph

In Graph the nodes for the graph are read in and connected with their adjacent nodes.For example the start position is calculated and the angle sector for the nodes. Also the lines between the nodes are drawn in this module.

Node Animation

This module contains the interpolation of the polar coordinates and the interpolation of the node-size and node-color.

Radial Layout

This offers calculation and displaying of the rings for the Radial Layout.

GLUT Callback Functions

In the GLUT Callback Functions module the entire scene is created/drawn, the mouse- and keyboard functions are declared/defined and the object selection takes place there (which object was clicked by the user to become the new focus node). For more programm-details just look at our documentation.

Implemented Features

We implemented some features from the paper and added some extra features of which we thought that it would increase the usability effect. The menu should be self-explanatory until the Speed spinner and the "Reset Rotation" button. The first one controls the animation's speed by setting the number of interpolated nodes between the start point and the end point of the node's animation. The second one resets the rotation of the entire scene back so that the scene is parallel to the Viewplane.

Screenshots

info_vis_screen_shot_01.png
info_vis_screen_shot_02.png
info_vis_screen_shot_03.png
info_vis_screen_shot_04.png

Download

You can find here the binary version of our implementation.
Date: 2004/06/13 04:00pm
Revision: 0.1