Compute a layout for a given graph:

At start, all nodes are located at point (0, 0). 
Moving the mouse over the ActiveX control will "shake" this arrangement. Now, the edges act like springs with attractive and repulsive forces. 
The layout of the graph begins to unfold.

The tiny red lines represent the forces tugging at the nodes.

A mouse click restarts the process.


This ActiveX control is a toy - without any certification.
But is is absolutely harmless. Believe it or have a look into the source code:

SpringCtl.h  the ActiveX control
SpringCtl.cpp
spring.idl
spring.cpp
SpringImpl.h  main program and visualization

SpringImpl.cpp

graph.h  graph + spring-embedder algorithm
graph.cpp
random.cpp