1Math::PlanePath::QuadriUcsIesrlaCnodnst(r3i)buted Perl DMoactuhm:e:nPtlaatnieoPnath::QuadricIslands(3)
2
3
4

NAME

6       Math::PlanePath::QuadricIslands -- quadric curve rings
7

SYNOPSIS

9        use Math::PlanePath::QuadricIslands;
10        my $path = Math::PlanePath::QuadricIslands->new;
11        my ($x, $y) = $path->n_to_xy (123);
12

DESCRIPTION

14       This path is concentric islands made from four sides each an eight
15       segment zig-zag (per the "QuadicCurve" path).
16
17                   27--26                     3
18                    |   |
19               29--28  25  22--21             2
20                |       |   |   |
21               30--31  24--23  20--19         1
22                    | 4--3          |
23           34--33--32    | 16--17--18     <- Y=0
24            |         1--2  |
25           35--36   7---8  15--14            -1
26                    |   |       |
27                5---6   9  12--13            -2
28                        |   |
29                       10--11                -3
30
31                        ^
32           -3  -2  -1  X=0  1   2   3   4
33
34       The initial figure is the square N=1,2,3,4 then for the next level each
35       straight side expands to 4x longer and a zigzag like N=5 through N=13
36       and the further sides to N=36.  The individual sides are levels of the
37       "QuadricCurve" path.
38
39                                       *---*
40                                       |   |
41             *---*     becomes     *---*   *   *---*
42                                           |   |
43                                           *---*
44                * <------ *
45                |         ^
46                |         |
47                |         |
48                v         |
49                * ------> *
50
51       The name "QuadricIslands" here is a slight mistake.  Mandelbrot
52       ("Fractal Geometry of Nature" 1982 page 50) calls any islands initiated
53       from a square "quadric", not just this eight segment expansion.  This
54       curve also appears (unnamed) in Mandelbrot's "How Long is the Coast of
55       Britain", 1967.
56
57   Level Ranges
58       Counting the innermost square as level 0, each ring is
59
60           length = 4 * 8^level     many points
61           Nlevel = 1 + length[0] + ... + length[level-1]
62                  = (4*8^level + 3)/7
63           Xstart = - 4^level / 2
64           Ystart = - 4^level / 2
65
66       For example the lower partial ring shown above is level 2 starting
67       N=(4*8^2+3)/7=37 at X=-(4^2)/2=-8,Y=-8.
68
69       The innermost square N=1,2,3,4 is on 0.5 coordinates, for example N=1
70       at X=-0.5,Y=-0.5.  This is centred on the origin and consistent with
71       the (4^level)/2.  Points from N=5 onwards are integer X,Y.
72
73              4-------3    Y=+1/2
74              |       |
75              |   o   |
76                      |
77              1-------2    Y=-1/2
78
79           X=-1/2   X=+1/2
80

FUNCTIONS

82       See "FUNCTIONS" in Math::PlanePath for behaviour common to all path
83       classes.
84
85       "$path = Math::PlanePath::QuadricIslands->new ()"
86           Create and return a new path object.
87
88   Level Methods
89       "($n_lo, $n_hi) = $path->level_to_n_range($level)"
90           Return per "Level Ranges" above,
91
92               ( ( 4 * 8**$level + 3) / 7,
93                 (32 * 8**$level - 4) / 7 )
94

SEE ALSO

96       Math::PlanePath, Math::PlanePath::QuadricCurve,
97       Math::PlanePath::KochSnowflakes, Math::PlanePath::GosperIslands
98

HOME PAGE

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

LICENSE

103       Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020
104       Kevin Ryde
105
106       This file is part of Math-PlanePath.
107
108       Math-PlanePath is free software; you can redistribute it and/or modify
109       it under the terms of the GNU General Public License as published by
110       the Free Software Foundation; either version 3, or (at your option) any
111       later version.
112
113       Math-PlanePath is distributed in the hope that it will be useful, but
114       WITHOUT ANY WARRANTY; without even the implied warranty of
115       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
116       General Public License for more details.
117
118       You should have received a copy of the GNU General Public License along
119       with Math-PlanePath.  If not, see <http://www.gnu.org/licenses/>.
120
121
122
123perl v5.38.0                      2023-07-20Math::PlanePath::QuadricIslands(3)
Impressum