Provided by: libmath-planepath-perl_113-1_all
NAME
Math::PlanePath::QuintetReplicate -- self-similar "+" tiling
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 +/-1 or +/-1, 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.
SEE ALSO
Math::PlanePath, Math::PlanePath::QuintetCurve, Math::PlanePath::ComplexMinus, Math::PlanePath::GosperReplicate
HOME PAGE
<http://user42.tuxfamily.org/math-planepath/index.html>
LICENSE
Copyright 2011, 2012, 2013 Kevin Ryde 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/>.