The catalog
147 motifs in 19 families, as of geomotif
1.3.1. Every one of them resamples by arc length, takes every
spacing curve, and exports to SVG, DXF, GIF, CSV, TXT, JSON and a spec file.
The pictures are in the gallery; this page is the same
list in a form you can search and read.
curve
| Motif |
Class |
Summary |
astroid |
Astroid |
The four-cusped star x**(2/3) + y**(2/3) == 1. |
bow |
BowCurve |
The bow, x**4 == x**2*y - y**3: two loops pinched at the origin. |
butterfly |
Butterfly |
Temple Fay's butterfly: twelve revolutions that draw two wings. |
cardioid |
Cardioid |
The heart-shaped r = 1 + cos(theta): one circle rolled around another. |
cassini-oval |
CassiniOval |
Points whose distances to two foci multiply to a constant. |
cochleoid |
Cochleoid |
The snail shell r = sin(theta) / theta, coiling in on itself. |
cornoid |
Cornoid |
The cornoid, x = cos(t)cos(2t), y = sin(t)(2 + cos(2t)). |
cycloid |
Cycloid |
The path of a point on a rolling wheel's rim. |
deltoid |
Deltoid |
The three-cusped tricuspoid, Euler's curve of 1745. |
fish |
FishCurve |
A fish, tail and all, from x = cos(t) - sin(t)**2 / sqrt(2). |
folium |
Folium |
The leaf curve r = cos(theta) * (4*a*sin(theta)**2 - b). |
heart |
Heart |
A heart, in either of the two shapes that go by the name. |
lemniscate |
Lemniscate |
Bernoulli's lemniscate: the infinity symbol. |
lemniscate.gerono |
LemniscateOfGerono |
Gerono's lemniscate: the other figure eight, x**4 = x**2 - y**2. |
limacon |
Limacon |
Pascal's snail, r = b + a*cos(theta), inner loop and all. |
nephroid |
Nephroid |
The kidney: the two-cusped epicycloid, r = 3cos(t) - cos(3t). |
trochoid |
Trochoid |
The path of a point fixed to a rolling wheel, on the rim or off it. |
witch-of-agnesi |
Witch |
The witch of Agnesi: a bell curve with an exact algebraic definition. |
fractal
| Motif |
Class |
Summary |
fractal.apollonian |
ApollonianGasket |
Circles packed into circles, filling every gap they leave. |
fractal.cantor |
CantorSet |
Take out the middle third. Repeat. Stack the rounds to see it happen. |
fractal.dragon |
DragonCurve |
The Heighway dragon: fold a strip of paper in half, repeatedly, unfold. |
fractal.gosper |
GosperCurve |
The flowsnake: a space-filling curve on a hexagonal grid. |
fractal.h-tree |
HTree |
An H whose serifs are smaller H's, and so on down. |
fractal.hilbert |
HilbertCurve |
The space-filling curve that keeps neighbours together. |
fractal.koch |
KochCurve |
The original: replace the middle third of every segment with a spike. |
fractal.koch-antisnowflake |
KochAntisnowflake |
The snowflake with its spikes turned inward, which is a different shape. |
fractal.koch-snowflake |
KochSnowflake |
Three Koch curves around a triangle: finite area, infinite perimeter. |
fractal.levy-c |
LevyCCurve |
Paul Levy's C curve: two half-size copies at right angles, forever. |
fractal.minkowski |
MinkowskiSausage |
Koch's idea on a square grid: a battlement instead of a spike. |
fractal.minkowski-island |
MinkowskiIsland |
Four Minkowski sausages around a square: the quadratic Koch island. |
fractal.moore |
MooreCurve |
Hilbert's curve closed into a loop. |
fractal.peano |
PeanoCurve |
The first space-filling curve ever published, from 1890. |
fractal.pythagoras-tree |
PythagorasTree |
Squares on the legs of right triangles, all the way up. |
fractal.sierpinski-arrowhead |
SierpinskiArrowhead |
The gasket approached along a curve instead of through a triangle. |
fractal.sierpinski-carpet |
SierpinskiCarpet |
A square with its middle ninth removed, then again in each ninth. |
fractal.sierpinski-triangle |
SierpinskiTriangle |
The gasket, drawn as one unbroken stroke that closes on itself. |
fractal.terdragon |
Terdragon |
The dragon done in thirds: one segment becomes three at 120 degrees. |
fractal.twindragon |
TwinDragon |
Two Heighway dragons back to back, enclosing a region that tiles. |
fractal.vicsek |
VicsekFractal |
The box fractal: a plus sign made of plus signs. |
points.barnsley-fern |
BarnsleyFern |
Four affine maps and a coin, producing a fern. |
points.ifs |
IFSAttractor |
The chaos game: pick a map at random, apply it, plot the point, repeat. |
girih
| Motif |
Class |
Summary |
girih.hex-star |
HexStarLattice |
Six-pointed stars on a triangular lattice, rhombi filling the gaps. |
girih.interlocking-decagons |
InterlockingDecagons |
The pattern the tenfold tiling carries: ten-pointed stars, interlocked. |
girih.rosette |
Rosette |
The shamsa: a star, a blunter star inside it, and so on inward. |
girih.rosette-tiling |
RosetteTiling |
A field of rosettes, touching point to point. |
girih.tenfold |
TenfoldGirih |
Regular decagons laid edge to edge, with a bowtie in every gap. |
girih.tile |
GirihTile |
One of the five girih tiles, with the strapwork it carries. |
graph
| Motif |
Class |
Summary |
graph.bipartite |
BipartiteGraph |
Two rows of nodes, and every line from one row to the other. |
graph.chord |
ChordDiagram |
Nodes on a circle and whichever chords you name between them. |
graph.complete |
CompleteGraph |
Every node joined to every other: K5, K12, and the ones in between. |
graph.cyclic |
CyclicGraph |
The circulant: join every node to the ones a fixed number of steps away. |
graph.prime-chords |
PrimeChords |
Join two numbers whenever they add up to a prime. |
modular.addition |
ModularAddition |
Join each number to the one a fixed distance further round. |
modular.multiplication |
ModularMultiplication |
The times table drawn as chords, which turns out to be a cardioid. |
guilloche
| Motif |
Class |
Summary |
guilloche.band |
GuillocheBand |
A woven ribbon along a straight spine: the border of a banknote. |
guilloche.pattern |
GuillochePattern |
A rosette inside a woven border, with rules between: the banknote layout. |
guilloche.rosette |
GuillocheRosette |
A stack of rosettes, each turned a little further than the last. |
harmonic
| Motif |
Class |
Summary |
harmonic |
Harmonic |
Sums of sines on each axis: Lissajous with more terms. |
harmonograph |
Harmonograph |
The Victorian drawing machine: swinging pendulums, slowly running down. |
lissajous |
Lissajous |
Two perpendicular oscillations, plotted against each other. |
illusion
| Motif |
Class |
Summary |
illusion.cafe-wall |
CafeWall |
Parallel mortar lines that refuse to look parallel. |
illusion.impossible-cube |
ImpossibleCube |
The same cube, told two contradictory things about which face is nearer. |
illusion.moire |
MoirePattern |
Two regular patterns laid over each other, and the fringes between them. |
illusion.necker-cube |
NeckerCube |
A wireframe cube with nothing to say which face is in front. |
illusion.penrose-stairs |
PenroseStairs |
The endless staircase: four flights, every step up, back where you began. |
illusion.penrose-triangle |
PenroseTriangle |
The tribar: three square beams meeting at three right angles. |
knot
| Motif |
Class |
Summary |
knot.celtic-grid |
CelticGrid |
The plait: strands at 45 degrees, bouncing off the frame and off barriers. |
knot.circular |
CircularCelticKnot |
One strand wound several times round a ring, weaving with itself. |
knot.endless |
EndlessKnot |
The endless knot: four strands each way, woven, with their ends looped back. |
knot.square |
SquareCelticKnot |
The same winding, but round a square frame instead of a ring. |
knot.triquetra |
Triquetra |
The trinity knot: three arcs that turn out to be one strand. |
mandala
| Motif |
Class |
Summary |
kaleidoscope |
Kaleidoscope |
One motif, repeated under a cyclic or dihedral symmetry group. |
layered-rings |
LayeredRings |
Concentric circles: the other half of a mandala's scaffolding. |
mandala |
Mandala |
Concentric rings of repeated motifs. |
snowflake |
Snowflake |
Six identical arms, each mirrored in its own axis. |
spoke-pattern |
SpokePattern |
Radial lines from an inner circle to an outer one. |
polar
| Motif |
Class |
Summary |
points.phyllotaxis |
Phyllotaxis |
The sunflower head: r = c*sqrt(n) at n golden angles. |
polar.expression |
PolarExpression |
Any radius function you like, wrapped as a motif. |
rose |
Rose |
The rhodonea r = cos(n/d * theta), with the petal count right. |
rose.maurer |
MaurerRose |
A rose walked in whole-degree steps and joined by straight chords. |
primitive
| Motif |
Class |
Summary |
arc |
Arc |
Part of a circle: sweep radians of it, starting at start_angle. |
circle |
Circle |
A circle of radius radius around center. |
egg |
Egg |
An oval fatter at one end than the other. |
ellipse |
Ellipse |
An ellipse with semi-axes rx and ry, optionally rotated. |
line |
Line |
A straight segment from start to end. |
points.grid |
PointGrid |
A rectangular lattice of loose points, optionally staggered. |
points.poisson |
PoissonDiscPoints |
Points scattered at random, but never closer together than a set distance. |
polygon.regular |
RegularPolygon |
A regular sides-gon inscribed in a circle of radius radius. |
polygon.reuleaux |
ReuleauxPolygon |
A curve of constant width: the Reuleaux triangle and its odd-sided kin. |
polygon.star |
StarPolygon |
The {n/k} star polygon: every step-th corner of an n-gon. |
rectangle |
Rectangle |
An axis-aligned rectangle centered on center. |
rectangle.rounded |
RoundedRectangle |
A rectangle with its corners replaced by quarter circles. |
sector |
Sector |
A pie slice: an arc closed back to its center by two radii. |
squircle |
Squircle |
The square-circle midpoint: a Superellipse with n = 4. |
star |
Star |
The star people actually draw: outer points joined through inner ones. |
superellipse |
Superellipse |
The curve \|x/rx\|**n + \|y/ry\|**n == 1, for any positive n. |
roulette
| Motif |
Class |
Summary |
epicycles |
Epicycles |
Rotating arms stacked tip to tail; the path of the last tip. |
roulette.epicycloid |
Epicycloid |
A point on the rim of a wheel rolling outside a ring: a ring of petals. |
roulette.epitrochoid |
Epitrochoid |
A pen fixed to a wheel rolling around the outside of a ring. |
roulette.hypocycloid |
Hypocycloid |
A point on the rim of a wheel rolling inside a ring: a cusped star. |
roulette.hypotrochoid |
Hypotrochoid |
A pen fixed to a wheel rolling around the inside of a ring. |
spirograph |
Spirograph |
The toy, in the toy's own terms: a ring, a wheel and a hole. |
sacred
| Motif |
Class |
Summary |
sacred.flower-of-life |
FlowerOfLife |
The seed of life continued outward: circles on a hexagonal grid. |
sacred.fruit-of-life |
FruitOfLife |
The thirteen circles of the flower that touch without overlapping. |
sacred.golden-rectangle |
GoldenRectangle |
A rectangle that keeps its shape when you cut a square off it. |
sacred.metatrons-cube |
MetatronsCube |
Thirteen circles with every pair of middles joined by a line. |
sacred.seed-of-life |
SeedOfLife |
Seven circles: one in the middle, six around it, all the same size. |
sacred.sri-yantra |
SriYantra |
Nine interlocking triangles inside a circle, four pointing up and five down. |
sacred.vesica |
VesicaPiscis |
Two circles, each through the other's middle. |
solid
| Motif |
Class |
Summary |
solid.cube |
Cube |
Six squares. Dual to the octahedron, and the one everybody can check. |
solid.dodecahedron |
Dodecahedron |
Twelve pentagons, built on a cube and the golden ratio. |
solid.icosahedron |
Icosahedron |
Twenty triangles: three golden rectangles at right angles to each other. |
solid.octahedron |
Octahedron |
Eight triangles: a corner of the cube's every face, joined up. |
solid.polyhedron |
Polyhedron |
Any solid you like: your corners, your edges. |
solid.tetrahedron |
Tetrahedron |
Four triangles: the simplest solid there is, and its own dual. |
solid.truncated-icosahedron |
TruncatedIcosahedron |
The football: twelve pentagons and twenty hexagons. |
spiral
| Motif |
Class |
Summary |
spiral.archimedean |
ArchimedeanSpiral |
The arithmetic spiral r = a + b*theta. |
spiral.between |
SpiralBetween |
The endpoint-constrained arithmetic spiral: r = a + b*theta. |
spiral.euler |
EulerSpiral |
The clothoid: curvature increasing linearly with distance traveled. |
spiral.fermat |
FermatSpiral |
The parabolic spiral r = a * sqrt(theta), both branches. |
spiral.fibonacci |
FibonacciSpiral |
Quarter circles inscribed in a chain of Fibonacci squares. |
spiral.golden |
GoldenSpiral |
The logarithmic spiral that widens by the golden ratio each quarter turn. |
spiral.hyperbolic |
HyperbolicSpiral |
The reciprocal spiral r = a / theta. |
spiral.involute |
CircleInvolute |
The path of a string unwinding, taut, from a circle. |
spiral.lituus |
Lituus |
The spiral r = a / sqrt(theta), named for the Roman augur's staff. |
spiral.logarithmic |
LogarithmicSpiral |
The equiangular spiral r = a * exp(b*theta). |
spiral.theodorus |
TheodorusSpiral |
The square-root spiral: a chain of right triangles, drawn exactly. |
string-art
| Motif |
Class |
Summary |
string-art.corner |
StringArtCorner |
Two arms, laced so the far end of one meets the near end of the other. |
string-art.envelope |
StringArtEnvelope |
The general engine: nail i on one curve, to nail rule(i) on another. |
string-art.polygon |
StringArtPolygon |
A strung corner at every corner of a regular polygon. |
symmetry
| Motif |
Class |
Summary |
symmetry.point-set |
SymmetricPointSet |
Points arranged by a symmetry group, spaced by iterative relaxation. |
tiling
| Motif |
Class |
Summary |
tiling.ammann-beenker |
AmmannBeenker |
The octagonal quasicrystal: squares and 45-degree rhombs, never repeating. |
tiling.cairo |
CairoPentagonal |
The Cairo tiling: pentagons in fours, spinning like a pinwheel. |
tiling.herringbone |
HerringboneTiling |
Rectangles laid in chevrons, each one's end against the next one's side. |
tiling.hexagonal |
HexagonalTiling |
The honeycomb: regular hexagons, three to a corner. |
tiling.penrose-p2 |
PenroseP2 |
Penrose's kite and dart, the tiling that cannot repeat. |
tiling.penrose-p3 |
PenroseP3 |
Penrose's rhombs: one thin, one thick, and no repeating pattern ever. |
tiling.rhombille |
RhombilleTiling |
Tumbling blocks: each hexagon split into three rhombi. |
tiling.snub-square |
SnubSquare |
Squares and triangles, two of each at every corner -- the 3.3.4.3.4. |
tiling.square |
SquareTiling |
Squares edge to edge: the graph paper of tilings. |
tiling.triangular |
TriangularTiling |
Equilateral triangles, alternately point up and point down. |
tiling.truchet |
TruchetTiling |
Quarter-circles in square cells, each turned at random. |
tiling.truncated-square |
TruncatedSquare |
Octagons with small squares in the gaps -- the 4.8.8 tiling. |
voronoi
| Motif |
Class |
Summary |
voronoi.cells |
VoronoiCells |
The same map, drawn one closed region at a time. |
voronoi.delaunay |
Delaunay |
The triangulation that joins points whose Voronoi cells touch. |
voronoi.diagram |
Voronoi |
The map of which point is nearest, drawn as its borders. |
voronoi.lloyd |
LloydRelaxation |
Points nudged toward the middle of their own cells, over and over. |