1Math::PlanePath::PentSpUisrearlSCkoenwterdi(b3u)ted PerlMaDtohc:u:mPelnatnaetPiaotnh::PentSpiralSkewed(3)
2
3
4

NAME

6       Math::PlanePath::PentSpiralSkewed -- integer points in a pentagonal
7       shape
8

SYNOPSIS

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

DESCRIPTION

15       This path makes a pentagonal (five-sided) spiral with points skewed so
16       as to fit a square grid and fully cover the plane.
17
18                 10 ...             2
19                /  \  \
20              11  3  9 20           1
21             /  /  \  \  \
22           12  4  1--2  8 19    <- Y=0
23             \  \       |  |
24              13  5--6--7 18       -1
25                \          |
26                 14-15-16-17       -2
27
28            ^  ^  ^  ^  ^  ^
29           -2 -1 X=0 1  2  3 ...
30
31       The pattern is similar to the "SquareSpiral" but cuts three corners
32       which makes each cycle is faster.  Each cycle is just 5 steps longer
33       than the previous (where it's 8 for a "SquareSpiral").
34
35   N Start
36       The default is to number points starting N=1 as shown above.  An
37       optional "n_start" can give a different start, in the same pattern.
38       For example to start at 0,
39
40                       38             n_start => 0
41                    39 21 37  ...
42                 40 22  9 20 36 57
43              41 23 10  2  8 19 35 56
44           42 24 11  3  0  1  7 18 34 55
45              43 25 12  4  5  6 17 33 54
46                 44 26 13 14 15 16 32 53
47                    45 27 28 29 30 31 52
48                       46 47 48 49 50 51
49

FUNCTIONS

51       See "FUNCTIONS" in Math::PlanePath for behaviour common to all path
52       classes.
53
54       "$path = Math::PlanePath::PentSpiral->new ()"
55       "$path = Math::PlanePath::PentSpiral->new (n_start => $n)"
56           Create and return a new path object.
57
58       "$n = $path->xy_to_n ($x,$y)"
59           Return the point number for coordinates "$x,$y".  $x and $y are
60           each rounded to the nearest integer, which has the effect of
61           treating each point in the path as a square of side 1.
62

OEIS

64       Entries in Sloane's Online Encyclopedia of Integer Sequences related to
65       this path include
66
67           <http://oeis.org/A192136> (etc)
68
69           n_start=1 (the default)
70             A192136    N on X axis, (5*n^2 - 3*n + 2)/2
71             A140066    N on Y axis
72             A116668    N on X negative axis, (5n^2 + n + 2)/2
73             A134238    N on Y negative axis
74             A158187    N on North-West diagonal, 10*n^2 + 1
75             A005891    N on South-East diagonal, centred pentagonals
76
77           n_start=0
78             A000566    N on X axis, heptagonal numbers
79             A005476    N on Y axis
80             A005475    N on X negative axis
81             A147875    N on Y negative axis, second heptagonals
82             A033583    N on North-West diagonal, 10*n^2
83             A028895    N on South-East diagonal, 5*triangular
84

SEE ALSO

86       Math::PlanePath, Math::PlanePath::SquareSpiral,
87       Math::PlanePath::DiamondSpiral, Math::PlanePath::HexSpiralSkewed
88

HOME PAGE

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

LICENSE

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