Graph::Easy::Layout::Force(3p)

NAME
Graph::Easy::Layout::Force - Force-based layouter for Graph::Easy

SYNOPSIS
        use Graph::Easy;

        my $graph = Graph::Easy->new();

        $graph->add_edge ('Bonn', 'Berlin');
        $graph->add_edge ('Bonn', 'Ulm');
        $graph->add_edge ('Ulm', 'Berlin');

        $graph->layout( type => 'force' );

        print $graph->as_ascii( );

        # prints:

        #   +------------------------+
        #   |                        v
        # +------+     +-----+     +--------+
        # | Bonn | --> | Ulm | --> | Berlin |
        # +------+     +-----+     +--------+

DESCRIPTION
"Graph::Easy::Layout::Force" contains routines that calculate a force-based layout for a graph.

Nodes repell each other, while edges connecting them draw them together.

The layouter calculates the forces on each node, then moves them around according to these forces until things have settled down.

Used automatically by Graph::Easy.

EXPORT
Exports nothing.

SEE ALSO
Graph::Easy.

METHODS
This module injects the following methods into Graph::Easy:

  _layout_force()
Calculates the node position with a force-based method.

AUTHOR
Copyright (C) 2004 - 2007 by Tels <http://bloodgate.com>.

See the LICENSE file for information.