AnimGraphLab Alpha

Pattern generator node takes an input shape (the “Tile”) and duplicates it into highly customizable repeating arrangements. It supports everything from strict architectural grids to nature-inspired spirals and random organic scatters.

Unlike Scatter node which generates abstract points, Pattern node directly duplicates the input geometry.

Inputs

Tile shape
Boundary
Pattern Generator

Tile shape

Shape(s) to be duplicated across the pattern.

Boundary

Optional boundary shape. If provided, pattern will only generate inside this boundary.

Parameters

ParameterDescription
LabelThe display name for the node.
LayoutThe mathematical arrangement used to distribute shapes.
SpacingBase distance between each tile.
StaggerHow much every other row is shifted.
Row offsetShifts every alternating row horizontally.
Column offsetShifts every alternating column vertically.
AmplitudeVertical height of the sine wave.
FrequencyFrequency (tightness) of the sine wave.
RingsNumber of concentric rings to generate.
Base rotationBase rotation applied to every tile.
PositionRandomizes placement of each tile.
RotationRandomizes rotation of each tile.
ScaleRandomizes size of each tile.
StepApply modifiers to every Nth tile.
OffsetShift the starting index for the sequence.
RotationAdded rotation for the Nth tile.
ScaleScale multiplier for the Nth tile.
Translate XHorizontal offset for the Nth tile.
Translate YVertical offset for the Nth tile.
SeedRandom seed for jitter and organic layouts.
Output modeHow the generated tiles are output into the graph.

Layout methods

Layout parameter completely changes rules used to distribute tiles.

Tessellations

Standard repeating grid structures.

Grid
Brick
Checkerboard
Triangular/Hexagonal
Herringbone
Sine wave

Radial & Spiral

Patterns radiating from a central point.

Polar
Golden spiral (Phyllotaxis)
Vortex

Organic & Scatter

Natural, algorithmic, and noisy distributions.

Poisson disk
Organic (random)

Boundaries and clipping

By default, Pattern node generates an infinite pattern that covers a large generic area (1000x1000).

If secondary input (Boundary) is connected:

  1. pattern automatically calculates exactly how many rows/columns are needed to fill the boundary.
  2. pattern is automatically centered inside the boundary.
  3. any tiles that spill over the edge of the boundary are Boolean clipped to perfectly match the silhouette of the boundary shape.

Adding randomness

To break up perfectly uniform grids and make them look hand-drawn or natural, use the jitter parameters:

  • Position jitter: shifts tiles slightly off their perfect grid coordinates.
  • Rotation jitter: adds a random rotation offset (e.g., +/- 10 degrees).
  • Scale jitter: adds random scaling to the tiles, allowing some to be slightly larger or smaller than others.

Tip: Use 'seed' parameter to randomize the look of added jitter.

Output mode

  • Individual shapes: every duplicated tile remains an independent shape in the graph. This is useful if you want to animate them individually downstream or apply random colors.
  • Combined shape: merges all generated tiles into a single, unified SVG Path. This is significantly faster for rendering massive patterns (thousands of tiles) and guarantees clean, gapless rendering if you apply strokes or drop shadows later in the graph.

See also