Math-PlanePath Gallery

See also examples/ in the Math-PlanePath sources for a sample program printing text numbers. Module links are to the online man pages, and see the full list of online man pages.


SquareSpiral sample SquareSpiral wider=4 sample
(See Math::PlanePath::SquareSpiral.)

HexSpiral and HexSpiralSkewed

HexSpiral sample HexSpiral wider=4 sample HexSpiralSkewed sample HexSpiralSkewed wider=4 sample
(See Math::PlanePath::HexSpiral and Math::PlanePath::HexSpiralSkewed.)

PentSpiral and HeptSpiralSkewed

PentSpiral sample HeptSpiralSkewed sample
(See Math::PlanePath::PentSpiral, and Math::PlanePath::HeptSpiral.)

DiamondSpiral and AztecDiamondRings

DiamondSpiral sample AztecDiamondRings sample
(See Math::PlanePath::DiamondSpiral and Math::PlanePath::AztecDiamondRings.)


TriangleSpiral sample
(See Math::PlanePath::TriangleSpiral.)


TriangleSpiralSkewed sample TriangleSpiralSkewed sample, skew=right TriangleSpiralSkewed sample, skew=up TriangleSpiralSkewed sample, skew=down
In the default skew="left", and also "right", "up" and "down. See Math::PlanePath::TriangleSpiralSkewed.


AnvilSpiral sample AnvilSpiral sample, wider=4
(See Math::PlanePath::AnvilSpiral.)


OctagramSpiral sample
(See Math::PlanePath::OctagramSpiral.)


KnightSpiral sample

See Math::PlanePath::KnightSpiral. See also the Knight's Tour Art page at


CretanLabyrinth sample
(See Math::PlanePath::CretanLabyrinth.)

SquareArms, DiamondArms and HexArms

SquareArms sample DiamondArms sample HexArms sample
(See Math::PlanePath::SquareArms, Math::PlanePath::DiamondArms and Math::PlanePath::HexArms.)


Greek-KeySpiral sample turns=2 (the default)

Greek-KeySpiral sample, turns=5 turns=5

Greek-KeySpiral sample, turns=1 turns=1

See Math::PlanePath::GreekKeySpiral. Have a look also at Jo Edkins Greek Key pages.

Diagonals and DiagonalsAlternating

Diagonals sample DiagonalsAlternating sample
(See Math::PlanePath::Diagonals and Math::PlanePath::DiagonalsAlternating.)


DiagonalsOctant sample
(See Math::PlanePath::DiagonalsOctant.)


Corner sample Corner wider=4 sample
The second image is with wider=4. See Math::PlanePath::Corner.


CornerAlternating sample CornerAlternating wider=4 sample
The second image is with wider=4. See Math::PlanePath::CornerAlternating.


Staircase sample
See Math::PlanePath::Staircase.


StaircaseAlternating sample StaircaseAlternating square end sample
The first image lines don't show direction, so it looks the same as the plain Staircase but is going alternately up and back. The second image is with the end_type="square" option. See Math::PlanePath::StaircaseAlternating.


MPeaks sample
(See Math::PlanePath::MPeaks.)


PyramidSides sample
(See Math::PlanePath::PyramidSides.)


PyramidRows sample PyramidRows align=right sample PyramidRows align=left sample
(See PyramidRows.)


CellularRule rule=30 sample CellularRule rule=73 sample
Samples of rule=30 and rule=73. See Math::PlanePath::CellularRule.


CellularRule54 sample
See Math::PlanePath::CellularRule54.


CellularRule57 sample CellularRule57 mirror sample
See Math::PlanePath::CellularRule57. The second image is rule 57 mirrored, which is rule 99.


CellularRule190 sample CellularRule190 mirror sample
See Math::PlanePath::CellularRule190. The second image is rule 190 mirrored, which is rule 246.


SacksSpiral sample
(See Math::PlanePath::SacksSpiral.)


VogelFloret sample VogelFloret sqrt2 sample VogelFloret sqrt5 sample
Default phi, and other rotations sqrt 2 and sqrt 5. See Math::PlanePath::VogelFloret.

TheodorusSpiral and ArchimedeanChords

TheodorusSpiral sample ArchimedeanChords sample
(See Math::PlanePath::TheodorusSpiral and Math::PlanePath::ArchimedeanChords.)


PixelRings sample PixelRings lines sample
(See Math::PlanePath::PixelRings.)


FilledRings sample
(See Math::PlanePath::FilledRings.)


MultipleRings sample
(See Math::PlanePath::MultipleRings.)


PeanoCurve sample PeanoCurve radix 7 sample
In the usual base 3 ternary, and higher radix=7.
See Math::PlanePath::PeanoCurve, and Peano's 1890 paper.


PeanoDiagonals sample PeanoDiagonals rounded sample
Second image has corners rounded to show the pattern.
See Math::PlanePath::PeanoDiagonals, and E.H. Moore's 1900 paper figure 3 for this sort of drawing (here is transpose).

HilbertCurve and HilbertSpiral

HilbertCurve sample HilbertSpiral sample

See Math::PlanePath::HilbertCurve and Math::PlanePath::HilbertSpiral, and Hilbert's 1891 paper.

If you ever wanted a jumper which is everywhere continuous but nowhere differentiable, try woolly thoughts.


HilbertSides sample

See Math::PlanePath::HilbertSides.


ZOrderCurve sample ZOrderCurve sample
In the default radix=2, and higher radix=5. See Math::PlanePath::ZOrderCurve.

Here's a cute image of the fibbinary numbers plotted on ZOrderCurve radix 2,
ZOrderCurve fibbinary


GrayCode sample GrayCode sample
In the default binary, and higher radix=4. See Math::PlanePath::GrayCode.


WunderlichSerpentine sample WunderlichSerpentine coil order WunderlichSerpentine radix 7
The default "alternating", and also "coil" order and radix=7 "alternating". See Math::PlanePath::WunderlichSerpentine, and Wunderlich's 1972 paper from this page in German, scanned pdf.


WunderlichMeander sample
See Math::PlanePath::WunderlichMeander, and Wunderlich's 1972 paper from this page in German scanned pdf.


BetaOmega sample
See Math::PlanePath::BetaOmega, and papers by Jens-Michael Wierum: definition cached at citeseer, and CCCG paper.


AR2W2Curve sample start_shape=A1 (the default)
AR2W2Curve D2 sample start_shape=D2
AR2W2Curve B2 sample start_shape=B2
AR2W2Curve B1rev sample start_shape=B1rev
AR2W2Curve D1rev sample start_shape=D1rev
AR2W2Curve A2rev sample start_shape=A2rev
See Math::PlanePath::AR2W2Curve, and the paper by Asano, Ranjan, Roos, Welzl and Widmayer.


KochelCurve sample
See Math::PlanePath::KochelCurve, and the paper by Herman Haverkort.

DekkingCurve and DekkingCentres

DekkingCurve sample DekkingCurve arms=4 sample DekkingCentres sample
See Math::PlanePath::DekkingCurve and Math::PlanePath::DekkingCentres.


CincoCurve sample
See Math::PlanePath::CincoCurve. And see Fortran 90 code by John Dennis.


ImaginaryBase sample ImaginaryBase sample
In the default radix=2, and higher radix=5.

(See Math::PlanePath::ImaginaryBase.)


ImaginaryHalf sample ImaginaryHalf sample
ImaginaryHalf XXY sample ImaginaryHalf YXX sample ImaginaryHalf XnYX sample ImaginaryHalf XnXY sample ImaginaryHalf YXnX sample
In the default radix=2, and higher radix=5. Second row is the digit order variations XXY, YXX, XnYX, XnXY, YXnX.

See Math::PlanePath::ImaginaryHalf.


CubicBase sample CubicBase sample
In the default radix=2, and higher radix=5.

(See Math::PlanePath::CubicBase.)


CornerReplicate sample
(See Math::PlanePath::CornerReplicate.)


SquareReplicate sample
(See Math::PlanePath::SquareReplicate.)


LTiling sample LTiling ends sample LTiling all sample
(See Math::PlanePath::LTiling.)


DigitGroups sample DigitGroups sample
In the default radix=2, and higher radix=5. These samples are drawn to just 0 to 2047 and 0 to 15624 respectively to show some of the shape, since continuing on they fill the entire plane. (See Math::PlanePath::DigitGroups.)


FibonacciWordFractal sample
(See Math::PlanePath::FibonacciWordFractal.)

Flowsnake and FlowsnakeCentres

Flowsnake sample FlowsnakeCentres sample Flowsnake 3-arm sample
(See Math::PlanePath::Flowsnake and Math::PlanePath::FlowsnakeCentres.)

See Ed Schouten's hexagon centres code too.


GosperReplicate sample
Drawn just N=0 to N=2400 (=7^4-1) to show the shape, since continuing on fills the entire plane. See Math::PlanePath::GosperReplicate.

GosperIslands and GosperSide

GosperIslands sample GosperSide sample
(See Math::PlanePath::GosperIslands and Math::PlanePath::GosperSide.)

QuintetCurve, QuintetCentres

QuintetCurve sample QuintetCentres sample QuintetCurve 4-arm sample
(See Math::PlanePath::QuintetCurve and Math::PlanePath::QuintetCentres.)


QuintetReplicate sample
Drawn just 0 to 3124 (5^5-1) to show the shape, since continuing on fills the entire plane. See Math::PlanePath::QuintetReplicate.

KochCurve, KochPeaks and KochSnowflakes

KochCurve sample KochPeaks sample KochSnowflakes sample
See Math::PlanePath::KochCurve, Math::PlanePath::KochPeaks and Math::PlanePath::KochSnowflakes, and Koch's 1904 paper at (pages 145-174)


KochSquareflakes sample KochSquareflakes inward sample
Second image is with the "inward" option. See Math::PlanePath::KochSquareflakes.

QuadricCurve and QuadricIslands

QuadricCurve sample QuadricIslands sample
(See Math::PlanePath::QuadricCurve and Math::PlanePath::QuadricIslands.)


SierpinskiTriangle sample align=triangular (the default)
SierpinskiTriangle sample, align=right align=right
SierpinskiTriangle sample, align=left align=left, showing X<0
SierpinskiTriangle sample, align=diagonal, LinesTree align=diagonal
See Math::PlanePath::SierpinskiTriangle.


SierpinskiArrowhead sample align=triangular (the default)
SierpinskiArrowhead align=right sample align=right
SierpinskiArrowhead align=left sample align=left, showing X<0
SierpinskiArrowhead align=diagonal sample align=diagonal
See Math::PlanePath::SierpinskiArrowhead.


SierpinskiArrowheadCentres sample SierpinskiArrowheadCentres align=right sample SierpinskiArrowheadCentres align=left sample SierpinskiArrowheadCentres align=diagonal sample
Alignments "triangular", "right" "left", "diagonal". See Math::PlanePath::SierpinskiArrowheadCentres.


SierpinskiCurve sample SierpinskiCurve 8 arm sample
Default arms=1 and a full arms=8. See Math::PlanePath::SierpinskiCurve.


SierpinskiCurveStair sample SierpinskiCurveStair 8 arm sample
Default arms=1 and a full arms=8. See Math::PlanePath::SierpinskiCurveStair.


HIndexing sample
(See Math::PlanePath::HIndexing.)


DragonCurve sample
(See Math::PlanePath::DragonCurve.)


DragonRounded sample DragonRounded 3 arms sample
1 arm and 3 arms. See Math::PlanePath::DragonRounded.


DragonMidpoint sample DragonMidpoint 4 arms sample
1 arm and 4 arms. See Math::PlanePath::DragonMidpoint.


AlternatePaper sample AlternatePaper sample, rounded
The second image has the vertices rounded off to show the pattern. See Math::PlanePath::AlternatePaper.


AlternatePaperMidpoint sample AlternatePaperMidpoint sample, 8 arms
1 arm and 8 arms. See Math::PlanePath::AlternatePaperMidpoint.


TerdragonCurve sample
See Math::PlanePath::TerdragonCurve.


TerdragonRounded sample TerdragonRounded sample, 6 arms
1 arm and 6 arms. See Math::PlanePath::TerdragonRounded.


TerdragonMidpoint sample TerdragonMidpoint 6 arm sample
1 arm and 6 arms. See Math::PlanePath::TerdragonMidpoint.


AlternateTerdragon sample
See Math::PlanePath::AlternateTerdragon.


TerdragonRounded sample TerdragonRounded sample, 6 arms
1 arm and 6 arms. See Math::PlanePath::TerdragonRounded.


R5DragonCurve sample R5DragonCurve sample, rounded R5DragonCurve sample, 4 arms, rounded
1 arm and 4 arms. The second and third images have the vertices rounded off to show the pattern. See Math::PlanePath::R5DragonCurve.


R5DragonMidpoint sample R5DragonMidpoint 4 arm sample
1 arm and 4 arms. See Math::PlanePath::R5DragonMidpoint.


CCurve sample
(See Math::PlanePath::CCurve.)


ComplexPlus i+1 sample ComplexPlus i+2 sample

Default i+1, and with realpart=2 for i+2 . See Math::PlanePath::ComplexPlus.


ComplexMinus i-1 sample ComplexMinus i-2 sample
Default i-1, and with realpart=2 for i-2. These samples are points 0 to 1023 and 0 to 3124 respectively to show the shape, since continuing on they fill the entire plane.
(See Math::PlanePath::ComplexMinus.)


ComplexRevolving sample

This sample is points 0 to 1023 to show the shape, since continuing on it fills the entire plane. (See Math::PlanePath::ComplexRevolving.)

Hypot and HypotOctant

Hypot sample HypotOctant sample
(See Hypot and Math::PlanePath::HypotOctant.)


TriangularHypot sample TriangularHypot sample, odd TriangularHypot sample, all TriangularHypot sample, hex TriangularHypot sample, hex_rotated TriangularHypot sample, hex_centred
In the default "even" points, and "odd", "all", "hex", "hex_rotated" and "hex_centred". See Math::PlanePath::TriangularHypot.)


PythagoreanTree UAD sample tree PythagoreanTree UAD low to high UAD tree lines, high to low and low to high
PythagoreanTree FB sample tree PythagoreanTree UMT sample tree FB and UMT tree lines.
PythagoreanTree UArD tree rows PythagoreanTree UArD tree rows of P,Q UArD tree rows in AB and PQ
PythagoreanTree AB sample points AB points.
PythagoreanTree AC sample points AC points.
PythagoreanTree BC sample points BC points (see the POD on why it's straight lines).
PythagoreanTree SM sample points SM points, short and medium legs.
PythagoreanTree SC sample points SC points, short leg and hypotenuse, 0 < X < sqrt(1/2)*Y.
PythagoreanTree MC sample points MC points, medium leg and hypotenuse, wedge sqrt(1/2)*Y < X < Y.

See Math::PlanePath::PythagoreanTree. Also see H. Lee Price's paper at on FB, and my mathematical write-up on UMT.


DiagonalRationals sample points

(See Math::PlanePath::DiagonalRationals.)


FactorRationals sample points
(See Math::PlanePath::FactorRationals.)


CfracDigits sample points radix=2 (the default)
CfracDigits sample points radix=2 first few points showing growth pattern
CfracDigits radix=3 sample points radix=3 lines
CfracDigits radix=4 sample points radix=4 lines

See Math::PlanePath::CfracDigits and the paper by Jeffrey Shallit.


GcdRationals sample points pairs_order="rows" (the default)
GcdRationals rows_reverse sample points pairs_order="rows_reverse"
GcdRationals pairs_order=rows growth pairs_order="rows" to N=68*67/2 showing growth pattern.
GcdRationals pairs_order=diagonals_down growth pairs_order=diagonals_down to N=47^2 showing growth pattern.

Notice in the last two images how growth rows and diagonals are sheared down to wedges of successive integer part int(X/Y). The wedges are slope X=2*Y, X=3*Y, etc. The diagonals case nicely covers the quadrilateral X≤d, X+Y≤2*d.

See Math::PlanePath::GcdRationals and Lance Fortnow's blog entry.


RationalsTree sample points Points visited
RationalsTree sample SB RationalsTree sample SB rows SB as tree and by rows
RationalsTree sample CW CW as tree.
RationalsTree sample HCS RationalsTree sample AYT HCS, AYT as trees.
RationalsTree sample Bird RationalsTree sample Drib Bird, Drib as trees.
RationalsTree sample L L as tree.
See Math::PlanePath::RationalsTree.


FractionsTree sample points FractionsTree sample Kepler
(See Math::PlanePath::FractionsTree.)


ChanTree sample points ChanTree sample tree lines k=3 as points and tree lines
ChanTree k=4 sample points ChanTree k=5 sample points k=4 and k=5 as points
See Math::PlanePath::ChanTree and paper by "Analogs of the Stern Sequence", Integers 2011, .


CoprimeColumns sample points
(See Math::PlanePath::CoprimeColumns.)


DivisibleColumns sample points DivisibleColumns proper divisors sample points
With divisor_type="all" and "proper". See Math::PlanePath::DivisibleColumns.


WythoffArray sample points
(See Math::PlanePath::WythoffArray.)


WythoffPreliminaryTriangle sample points
(See Math::PlanePath::WythoffPreliminaryTriangle.)


PowerArray sample points PowerArray sample points
In the default radix=2, and higher radix=5. See Math::PlanePath::PowerArray.


UlamWarburton sample points First few points to show the shape.
UlamWarburton sample tree Tree structure.
UlamWarburton parts=2 lines parts=2 line segments.
UlamWarburton parts=1 sample tree parts=1 tree structure.
See Math::PlanePath::UlamWarburton.


UlamWarburtonQuarter sample points parts=1 points.
UlamWarburtonQuarter parts=octant sample parts=octant points.
UlamWarburtonQuarter parts=octant_up sample parts=octant_up lines.
This is the first few points to show the shape. Continuing on fills 6/16 of the plane. See Math::PlanePath::UlamWarburtonQuarter.

The following in the separate Math-PlanePath-Toothpick distribution.


LCornerTree sample tree LCornerTree sample parts=1 parts=4 and parts=1
LCornerTree sample parts=octant LCornerTree sample parts=octant+1 parts=octant and parts=octant+1
LCornerTree sample parts=octant_up LCornerTree sample parts=octant_up+1 parts=octant_up and parts=octant_up+1
LCornerTree sample parts=wedge LCornerTree sample parts=wedge+1 parts=wedge and parts=wedge+1
LCornerTree sample parts=diagonal parts=diagonal
LCornerTree sample parts=diagonal-1 parts=diagonal-1
See Math::PlanePath::LCornerTree.


LCornerReplicate sample points
(See Math::PlanePath::LCornerReplicate.)


OneOfEight sample points parts=4
OneOfEight parts=1 sample parts=1
OneOfEight parts=octant sample parts=octant
OneOfEight parts=wedge sample parts=wedge
OneOfEight parts=3mid sample parts=3mid
OneOfEight parts=3side sample parts=3side
OneOfEight parts=1 non-leaf sample parts=1 non-leaf nodes.
The non-leaf image highlights the branching from the diagonals. Notice that on each branch the sub-branches on the "near" side of the branch are 1 position earlier than on the "far" side. See Math::PlanePath::OneOfEight.


HTree sample
(See Math::PlanePath::HTree.)

ToothpickTree and ToothpickReplicate

ToothpickTree sample tree ToothpickReplicate sample points
ToothpickTree parts=3 sample points parts=3 as tree.
ToothpickTree parts=octant sample tree parts=octant as tree.
ToothpickTree parts=wedge sample points parts=wedge as toothpicks.
See Math::PlanePath::ToothpickTree and Math::PlanePath::ToothpickReplicate.


ToothpickUpist sample
(See Math::PlanePath::ToothpickUpist.)


ToothpickSpiral sample
(See Math::PlanePath::ToothpickSpiral.)

This page Copyright 2011, 2012, 2013, 2014, 2018, 2020, 2021 Kevin Ryde.

(Back to the Math-PlanePath home page.)