diff options
Diffstat (limited to 'math/graphopt/DESCR')
-rw-r--r-- | math/graphopt/DESCR | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/math/graphopt/DESCR b/math/graphopt/DESCR new file mode 100644 index 00000000000..f1f86b35917 --- /dev/null +++ b/math/graphopt/DESCR @@ -0,0 +1,24 @@ +In contrast to Graphviz and other graph optimizers, graphopt does +not use a heuristic approach to layout optimization. Instead, it +uses basic principles of physics to iteratively determine optimal +layout. Each node is given mass and an electric charge, and each +edge is represented as a spring. Node mass, electric charge, +optimal spring length, and the spring constant are tweakable in +the gui in realtime. + +For most graphs, this is all that is needed - hit 'go' and the +graph organizes itself much as the analagous real-life system would +if constrained to two dimensions. For more complex graphs, some +fiddling with the physical parameters at different stages of +optimization usually does the trick. + +To accomodate very large graphs, an additional mechanism called +layering was added. When a graph is loaded, nodes are assigned to +layers based on their relative positions. During optimization, +you can choose to hide any number of layers. Any nodes assigned +to a layer lower than the selected layer are not only hidden, but +neither their electric charges nor the forces of the springs attached +to them are figured into the forces acting on the visible nodes. +In effect, those nodes cease to exist, and a smaller graph is +allowed to lay itself out without being constrained by an excessive +number of nodes. |