NAME

Graph::Maker::QuartetTree - create quartet trees

SYNOPSIS

 use Graph::Maker::QuartetTree;
 $graph = Graph::Maker->new ('quartet_tree', level => 2);

DESCRIPTION

Graph::Maker::QuartetTree creates Graph.pm graphs of Mandelbrot's quartet tree.

                level => 3          *---*
                                    |
        *---*                       *---*---*   *---*
        |                           |           |
        *---*---*   *---*           *   *---*   *---*---*
        |           |               |   |       |
        *   *---*   *---*---*   *   *   *---*---*
        |   |       |           |   |   |
    *   *   *---*---*   *---*   *---*---*---*---*
    |   |   |           |                   |   |
    *---*---*---*---*   *---*---*   *---*   *   *
                |   |   |           |       |
                *   *   *   *---*   *---*---*
                |       |   |       |        
                *   *   *   *---*---*   *---*
                |   |   |   |           |
            *   *   *---*---*---*---*   *---*---*---*---*
            |   |               |   |   |           |   |
            *---*---*   *---*   *   *   *---*---*   *   *
                    |   |       |       |   |   |   |
            *   *   *   *---*---*---*---*   *   *   *
            |   |   |   |               |   |
        *   *   *---*---*           *---*   *---*---*
        |   |           |                       |   |
        *---*---*---*---*                       *   *
                        |                       |
                    *---*                       *

Vertex names are currently integer coordinates "X,Y" which are locations taking tree start as 0,0 and first edge East. But don't rely on that. Of course as a graph any locations can be used for vertex display etc.

FUNCTIONS

$graph = Graph::Maker->new('dragon', key => value, ...)

The key/value parameters are

    level       => tree expansion level, integer >= 0
    graph_maker => subr(key=>value) constructor, default Graph->new

Other parameters are passed to the constructor, either graph_maker or Graph->new().

If the graph is directed (the default) then edges are added both ways between vertices. Option undirected => 1 creates an undirected graph and for it there is a single edge between vertices.

HOUSE OF GRAPHS

House of Graphs entries for graphs here include

https://hog.grinvin.org/ViewGraphInfo.action?id=19655 (etc)

    19655   level=0, path-2
    496     level=1, E tree
    30345   level=2
    30347   level=3

SEE ALSO

Graph::Maker

HOME PAGE

http://user42.tuxfamily.org/graph-maker-other/index.html

LICENSE

Copyright 2017, 2018, 2019, 2020, 2021 Kevin Ryde

This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.

This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with This file. If not, see http://www.gnu.org/licenses/.