SYNOPSIS
use Math::PlanePath::QuintetReplicate;
my $path = Math::PlanePath::QuintetReplicate->new;
my ($x, $y) = $path->n_to_xy (123);
DESCRIPTION
This is a self-similar tiling of the plane with ``+'' shapes. It's the same kind of tiling as the "QuintetCurve" (and "QuintetCentres"), but with the middle square of the ``+'' shape centred on the origin.
12 3 13 10 11 7 2 14 2 8 5 6 1 17 3 0 1 9 <- Y=0 18 15 16 4 22 -1 19 23 20 21 -2 24 -3 ^ -4 -3 -2 -1 X=0 1 2 3 4
The base pattern is a ``+'' shape
+---+ | 2 | +---+---+---+ | 3 | 0 | 1 | +---+---+---+ | 4 | +---+
which is then replicated
+--+ | | +--+ +--+ +--+ | 10 | | | +--+ +--+--+ +--+ | | | 5 | +--+--+ +--+ +--+ | | 0 | | +--+ +--+ +--+--+ | 15 | | | +--+ +--+--+ +--+ | | | 20 | +--+ +--+ +--+ | | +--+
The effect is to tile the whole plane. Notice the centres 0,5,10,15,20 are the same ``+'' shape but rotated around by an angle atan(1/2)=26.565 degrees, as noted below.
Complex Base
This tiling corresponds to expressing a complex integer X+i*Y in base b=2+i
X+Yi = a[n]*b^n + ... + a[2]*b^2 + a[1]*b + a[0]
where each digit a[i] is
a[i] digit N digit ---------- ------- 0 0 1 1 i 2 -1 3 -i 4
The base b=2+i is at an angle atan(1/2) = 26.56 degrees as seen at N=5 above. Successive powers b^2, b^3, b^4 etc at N=5^level rotate around by that much each time.
Npow = 5^level angle = level*26.56 degrees radius = sqrt(5) ^ level
FUNCTIONS
See ``FUNCTIONS'' in Math::PlanePath for behaviour common to all path classes.- "$path = Math::PlanePath::QuintetReplicate->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, 5**$level - 1)".
LICENSE
Copyright 2011, 2012, 2013, 2014, 2015, 2016 Kevin RydeMath-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/>.