Provided by: libmath-planepath-perl_129-1_all bug

NAME

       Math::PlanePath::DekkingCentres -- 5x5 self-similar

SYNOPSIS

        use Math::PlanePath::DekkingCentres;
        my $path = Math::PlanePath::DekkingCentres->new;
        my ($x, $y) = $path->n_to_xy (123);

DESCRIPTION

       This is a variation on a 5x5 self-similar curve from

           F. M. Dekking, "Recurrent Sets", Advances in Mathematics, volume 44, 1982, pages
           79-104, section 4.9 "Gosper-Type Curves"

       and which is a horizontal mirror image of the E-curve of McKenna 1978.

       The form visits the "centres" of the 5x5 self-similar unit squares of the pattern.  The
       result is some diagonal steps, but replications wholly within 5x5 areas.

                                     ...
               |                     /
             9 |  115-116 122-123-124  89--88  86--85--84
               |    |   |    \          |    \  |       |
             8 |  114 117-118 121-120  90  92  87  82--83
               |    |        \   /      |/   \      |
             7 |  113-112 106 119 102  91  94--93  81  77
               |     /   /  |    /  |    /       /   /  |
             6 |  111 107 105 103 101  95--96  80  78  76
               |    |    \   \  |   |        \   \  |   |
             5 |  110-109-108 104 100--99--98--97  79  75
               |                                         \
             4 |   10--11  13--14--15  35--36  38--39--40  74  70  66--65--64
               |    |    \  |       |   |    \  |       |   |   |\   \      |
             3 |    9   7  12  17--16  34  32  37  42--41  73  71  69  67  63
               |    |/   \      |       |/   \      |       |/      |/   /
             2 |    8   5-- 6  18  22  33  30--31  43  47  72  55  68  62--61
               |      /      /   /  |    /       /   /  |    /   \          |
             1 |    4-- 3  19  21  23  29--28  44  46  48  54--53  56--57  60
               |         \   \  |   |        \   \  |   |        \      |   |
           Y=0 |    0-- 1-- 2  20  24--25--26--27  45  49--50--51--52  58--59
               +---------------------------------------------------------------
                  X=0   1   2   3   4   5   6   7   8   9  10  11  12  13  14

       The base pattern is the N=0 to N=24 section.  It repeats with rotations or reversals which
       make the ends join.  For example N=75 to N=99 is the base pattern in reverse.  Or N=50 to
       N=74 is reverse and also rotate by -90.

FUNCTIONS

       See "FUNCTIONS" in Math::PlanePath the behaviour common to all path classes.

       "$path = Math::PlanePath::DekkingCentres->new ()"
           Create and return a new path object.

       "($x,$y) = $path->n_to_xy ($n)"
           Return the X,Y coordinates of point number $n on the path.  Points begin at 0 and if
           "$n < 0" then the return is an empty list.

   Level Methods
       "($n_lo, $n_hi) = $path->level_to_n_range($level)"
           Return "(0, 25**$level - 1)".

SEE ALSO

       Math::PlanePath, Math::PlanePath::DekkingCurve, Math::PlanePath::CincoCurve,
       Math::PlanePath::PeanoCurve

HOME PAGE

       <http://user42.tuxfamily.org/math-planepath/index.html>

LICENSE

       Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Kevin Ryde

       This file is part of Math-PlanePath.

       Math-PlanePath 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.

       Math-PlanePath 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 Math-
       PlanePath.  If not, see <http://www.gnu.org/licenses/>.