DESCRIPTION

 
 

This demo is simulation of a closed, physical system that self-organizes in a way similar to the formation of crystals.

Nodes of graph are represented as spheres, edges as cylinders connecting nodes. Nodes are given a mass and connected with springs. Physical forces are then integrated, allowing the graph to find a state where nodes that are connected by edges come to rest near to each other in three dimensional space.

Graph visualization can be generalized to many business domains. Node color, transparency, size and mass can be mapped to relevant and specific business data. The elasticity, resting length and damping of the springs can represent data pertaining to the relationships between nodes.

 
 
CONTROLS AND FEEDBACK
 
 

Buttons, Sliders & Text Boxes

LoadGraph: A set of pre-specified graphs are available in the upper-right drop-down list. Selecting one will load the graph and resolve it in three dimensions given the edges of that graph.

FromURL: This will allow you to enter a URL to load graphs from. To load your own graphs into the system you should make a graph file and place it online somewhere it can be accessed. Currently, this system only accepts one file format, edge listings. Before making your file, check the 3DGraphLayout Edge Listing Format. If you have an interest in visualizing more complex graphs with this system, let me know. I could allow for the system to read XML, which could encode all types of graph data.

RandGraph: A random graphs, with a random number of nodes and edges, is created and resolved.

AutoRand: Clicking this will cause a new random graph to be created at regular intervals. Clicking again will turn off this feature.

AddNode: A new node is created and connected to the current graph with random edges.

Elasticity: This slider controls the elasticity of all of the springs used to resolve the graph. Higher values will make the springs forces stronger.

Damping: This slider controls the damping of all the springs used to resolve the graph. Higher values will cause the springs to come to rest faster. Note: high values of damping can cause a graph to come to rest before reaching its optimal layout. It is best to keep the damping high at first and lower it once the graph is in a near optimal layout. (Similar to annealing).

Node Connections: The connections of the graph are provided in text format in the text box in the lower right.

3D View Controls

Rotate Graph: Hold down the Spacebar, click in the view window and drag the mouse in any direction.

Zoom Graph: Hold down the Control key, click in the view window and drag the mouse up and down.

Move Graph: Hold down the Shift key, click in the view window and drag the mouse in any direction.

Center Graph: Press the "c" key. The graph will move the center of the view.