NAME

Math::PlanePath::MathImageSquareReplicate -- replicating squares

SYNOPSIS

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

DESCRIPTION

This path is a self-similar replicating square,

40--39--38  31--30--29  22--21--20                    
 |       |   |       |   |       |                    
41  36--37  32  27--28  23  18--19                    
 |           |           |                            
42--43--44  33--34--35  24--25--26                    
                                                      
49--48--47   4-- 3-- 2  13--12--11                    
 |       |   |       |   |       |                    
50  45--46   5   0-- 1  14   9--10     <- Y=0
 |           |           |                            
51--52--53   6-- 7-- 8  15--16--17                    
                                                      
58--57--56  67--66--65  76--75--74                    
 |       |   |       |   |       |                    
59  54--55  68  63--64  77  72--73                    
 |           |           |                            
60--61--62  69--70--71  78--79--80                    
                                                                        
                 ^
                X=0  1   2   3   4 

The base shape is the initial N=0 to N=8 section,

4  3  2
5  0  1
6  7  8

It then repeats.

A given replication extends to

N = 0 to 9^level - 1
- 3^level < X < 3^level
- 3^level < Y < 3^level

FUNCTIONS

$path = Math::PlanePath::MathImageSquareReplicate->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::PeanoCurve