# gt
  
This does a node positioning using regions of nodes and that is different from other tools  
  
//  
// position_nodes dag.cpp  
//  
// This function tries to improve the current node positions. This has to be  
// done, because the last step we made was ordering and placing the nodes  
// according to the order graph. That means that all nodes are now placed as   
// far to the left as possible. Therefore our layout is not balanced at all.  
// The idea behind this node improvement is a pendulum. We consider the nodes  
// as balls and the edges as strings. We begin by fixing the nodes of the  
// first level "on the ceiling". The balls on the second level swing to a  
// balanced position caused by gravity and depending on their connections to  
// their predecessors. After finishing the second level we fix the nodes of  
// the second level and repeat that procedure until we reach the bottom. Then  
// we turn the system upside-down, i.e. we fix the nodes of the last level  
// "on the ceiling" and repeat the steps described above until we reach the  
// top again.  
//  
  
