Patterns

Variations that create different kinds of patterns.

Download Sample flames and resources

checkerboard_wf

Generate a checkerboard pattern

Type: 3D direct color blur
Author: Andreas Maschke (thargor6)
Date: 7 Oct 2016

Patterns Group Variation Sample  Checkerboard
ParameterDescription
positionPosition of the checkerboard along its perpendicular axis
sizeWidth and height of the (square) checkerboard (assuming variation amount is 1)
axis0: Checkerboard on XY plane
1: Checkerboard on YZ plane
2: Checkerboard on ZX plane
checker_sizeSize of each square (as a fraction of size)
displ_amountThickness of the checkerboard
checker_color1, checker_color2Gradient index of the squares (between 0 and 1)
side_colorGradient index of the square borders (if present)
with_sides0: No borders on the squares
1: Add borders to the squares (displ_amount must be non-zero)

dc_perlin

Generate a pattern based on fractal Brownian motion (fBm), also known as Perlin noise.

Type: 2D direct color blur
Author: Neil Slater (slobo777)
Date: 14 Nov 2010

Patterns Group Variation Sample  dc_perlin
ParameterDescription
shapeThe shape to use:
0: Square
1: Disk (filled-in circle)
2: Blur disk (brighter in center, like the blur variation)
mapMapping from the noise function to the shape:
0: Flat
1: Spherical (like the spherical variation, creates small features in the center)
2: Half-spherical (like spherical, but with less distortion)
3: Quarter-spherical (between 1 and 2)
4: Bubble (like the bubble variation; the result is still 2D, but has a 3D appearance)
5: Exaggerated bubble (like bubble but the effect is stronger)
select_centre, select_rangeNoise values outside the range of select_centre±select_range create holes (transparent areas) in the pattern; increase select_range to eliminate unwanted holes
centreThe center gradient index value to use, between 0 and 1; works with range to determine the gradient color to use
rangeThe range of gradient values on each side of centre to use; 0.5 to use the entire gradient; larger values will use the gradient multiple times
edge0 for normal; positive values increase the size and create a ragged edge
scaleScale factor for the noise function; increase for higher frequency noise (smaller features that are closer together)
octavesNumber of octaves to use for fBm, between 1 and 5
ampsValue to divide the amplitude of each octave by; use 2 for normal fBm noise, but change for different effects (normally greater than 1, but this is not enforced)
freqsValue to multiply the frequency of each octave by; use 2 for normal fBm noise, but change for different effects (normally greater than 1, but this is not enforced)
zThe z value for computing the noise; changing it changes the specific pattern but not the general appearance of the noise
select_bailoutLimits the number of retries when the random point hits a hole controlled by the select_centre, select_range, and edge parameters; the default of 10 is usually fine, but it can be increased if faint patterns show in the holes (this will slow down the variation)

Apophysis 7X variation
Dc_perlin description at Fractal Formulas
Coherent Noise explanation
Wikipedia description of Perlin noise
Roz Scripts (for Apophysis)

dla3d_wf

Create a 3D Diffusion Limited Aggregation (DLA) mesh.

Type: 3D direct color blur
Author: Andreas Maschke (thargor6)
Date: 12 March 2017

Patterns Group Variation Sample  dla3d_wf-1
Patterns Group Variation Sample  dla3d_wf 1
ParameterDescription
node_obj_filenameName of file containing the mesh object used for nodes; default is a sphere
node_colormap_filenameName of file containing the colormap used for nodes
junct_obj_filenameName of file containing the mesh object used for junctions; default is a cylinder
junct_colormap_filenameName of file containing the colormap used for junctions
max_iterMaximum number of iterations to use; larger values create a larger, more intricate pattern. To animate DLA growth, set single_thread to 1, then start with a small value for max_iter, and increasing it as the animation progresses
seedRandom number seed
inner_blur_radiusRadius for elements closest to center; normally larger than outer_blur_radius, but this is not required
outer_blur_radiusRadius for elements furthest from center; very small values will make them pointed
junction_scaleScale factor for nodes
dc_color0: Standard variation coloring; don’t modify the gradient color index directly
1: Direct color; set the gradient color index according to the distance from the center
glue_radiusRadius for adding new nodes; small values tend to clump the nodes together; larger values spread them apart
force_x, force_y, force_zValues added to x, y, and z, respectively, when adding new nodes
display_nodes1 to display nodes; 0 to hide them
display_junctions1 to display junctions; 0 to hide them
single_thread0: Use multiple threads for DLA generation; this is faster, but less predictable
1: Use a single thread for DLA generation
node_sdiv_levelNumber of levels of subdivision smoothing to perform on node meshes; 0 to disable
node_sdiv_smooth_passesNumber of smoothing passes to perform for each subdivision level for nodes
node_sdiv_smooth_lambdaSmoothing parameter for first step for each node smoothing pass (should be positive)
node_sdiv_smooth_muSmoothing parameter for second step for each node smoothing pass (should be negative)
blend_colormapWhether to blend node colormap colors with surrounding colors
0: Don’t blend colors
1: Blend colors
node_mesh_scaleScale factor for node meshes
junct_sdiv_levelNumber of levels of subdivision smoothing to perform on junction meshes; 0 to disable
junct_sdiv_smooth_passesNumber of smoothing passes to perform for each subdivision level for junctions
junct_sdiv_smooth_lambdaSmoothing parameter for first step for each junction smoothing pass (should be positive)
junct_sdiv_smooth_muSmoothing parameter for second step for each junction smoothing pass (should be negative)
blend_colormapWhether to blend junction colormap colors with surrounding colors
0: Don’t blend colors
1: Blend colors
junct_mesh_scaleScale factor for junction meshes

Wikipedia article on DLA
Paul Bourke article on DLA

dla_wf

Create a simple Diffusion Limited Aggregation (DLA) pattern.

Type: 2D blur
Author: Andreas Maschke (thargor6)
Date: 26 May 2014

Patterns Group Variation Sample dla_wf 2
ParameterDescription
buffer_sizeNumber of points per side of the square buffer used to store the generated points
max_iterMaximum number of iterations to use; larger values create a larger, more intricate pattern. Animate DLA growth by starting with a small value, and increasing max_iter as the animation progresses.
seedRandom number generator seed; different seeds create different patterns
scaleScale factor
jitterControls the random offset of the dots creating the pattern; 0 makes the dots line up perfectly, which can be distracting

Wikipedia article on DLA
Paul Bourke article on DLA

mandala

Generate a fractal kaleidoscope pattern based on rotation transformations and rounding errors.

Type: 2D blur, true color or direct color
Authors: Jesus Sosa and Steve Witham
Date: 14 Sep 2018

Patterns Group Variation Sample  Mandala
ParameterDescription
widthNumber of points to use for both the width and height of the pattern; large values give a higher resolution pattern, but slow down the variation
sizeSize of each point, between 0 and 1
numNumerator of the rotation angle as a fraction of 360 degrees
denomDenominator of the rotation angle as a fraction of 360 degrees
minsky0: Circular mandala
1: Elliptical mandala
wobbleVaries the mandala calculation by a small amount, which disturbs the pattern (some fractions are more sensitive to wobble than others); an integer between 0 and 8, 0 for none
wrap_rangeIf not 0, includes a wrapping effect in the mandala calculation; an integer between 0 and 8, 0 for none
hskewIf not 0, the point is shifted to the right by some amount after each rotation step, often resulting in interesting effects; an integer between 0 and 22
color id0: True color: colors are set directly, ignoring the gradient
1: Direct color: sets the gradient index so gradient colors are used

Mandala description (by Steve Witham, author of the mandala program the variation is based on)

snowflake_wf

Generate a snowflake shape using a cellular automaton.

Type: 2D direct color blur
Author: Andreas Maschke (thargor6)
Date: 10 Jan 2021

Patterns Group Variation Sample  Snowflake_wf 1
Patterns Group Variation Sample  Snowflake_wf 2

To animate snowflake growth, start with a low value for max_iter at the beginning of the animation and increase it as the animation progresses.

ParameterDescription
buffer_sizeControls the number of cells (dots) in the generated snowflake
max_iterNumber of times to iterate snowflake generation; larger values make larger, more intricate patterns, but take longer and require a larger buffer_size value
bg_freeze_levelThe base starting value for the cells
fg_freeze_speedHow fast cells next to frozen cells (with value at least 1) freeze
diffusion_speedHow fast cells not next to frozen cells freeze
diffusion_asymmetryControls the weighting for averaging cell values
rnd_bg_noiseAmount of noise added to base starting value for the cells; 0 for completely symmetrical snowflakes
thresholdThreshold value to display cells in final snowflake; if background dots appear, increase threshold to remove them
seedThe random number seed; different seeds will generate similar but different results
scaleScale factor for the result
jitterControls the random offset of the dots creating the snowflake; 0 makes the dots line up perfectly, which can be distracting
dc_color0: Standard variation coloring; don’t modify the gradient color index directly
1: Direct color; set the gradient color index according to the point intensity
dc_color_scaleScale factor for the point intensity (most points will have intensity between the threshold parameter and 1)
dc_color_offsetLowest color index to use (0 for leftmost gradient color)

A local cellular model for snow crystal growth (description of the algorithm)
Interactive online version

sunflower

Generate a spiral of small polygons that can resemble the center of a sunflower.

Type: 2D direct color blur
Author: Jesus Sosa
Date: 8 Jul 2018

Patterns Group Variation Sample  Sunflower 1
Patterns Group Variation Sample  Sunflower 2
Patterns Group Variation Sample Sunflower 3
ParameterDescription
nPointsNumber of polygons to generate
shapeNumber of sides of each polygon (3 to 20)
scaleSize of largest polygons
angleControls the angle of the spiral; adjusted so 180 gives the “golden angle”, the angle between successive florets in sunflowers
colorNot used
F.fillingAmount to fill the shapes, from 0 (filled) to 1 (hollow)
invert0: Center of spiral has largest polygons with color index 1
1: Center of spiral has smallest polygons with color index 0

The Golden Ratio (Numberphile video that shows how the sunflower variation works)
Nature, The Golden Ratio, and Fibonacci too

szubieta

Fractal patterns by Santiago Zubieta: circle squares and square tile.

Type: 2D direct color blur
Author: Jesus Sosa
Date: 16 Aug 2018

Patterns Group Variation Sample  szubieta 1
Patterns Group Variation Sample  Szubieta 2
ParameterDescription
widthNumber of circles horizontally
heightNumber of circles vertically
type0: Circle squares pattern (first example)
1: Square tile pattern (second example)
scaleSize of the circles

Circle squares fractal
Square tile fractal

terrain3D

Generate a random terrain surface mesh.

Type: 3D mesh
Author: Jesus Sosa
Date: 14 Apr 2018

Patterns Group Variation Sample  terrain3d
ParameterDescription
roughnessSurface roughness; 0.5 is average, smaller is smoother
z_exaggerationAltitude scale; larger values exaggerate the altitude
Size (N PowersOf 2)The number of cells per side used to generate the terrain, as a power of 2; for example a value of 5 would use 2^5=32 cells per side (for a total of 1024)
seedThe random number seed; changing this number will change the terrain generated
dc0: Use the transform color
1: Use direct color; the color of a point is based on its altitude
scale_x, scale_y, scale_zScale factors for x, y, and z
offset_x, offset_y, offset_zShift the mesh in the x, y, and z directions
subdiv_levelThe number of levels of subdivision to perform; it must be an integer between 0 (to disable smoothing) and 6. Note each level used will dramatically increase both render time and memory needed.
subdiv_smooth_passesThe number of Taubin smoothing passes to apply to each subdivision level; it must be an integer between 0 and 24.
subdiv_smooth_lambdaThe lambda value used for the first step of each pass; it should be a positive number between 0 and 1.
subdiv_smooth_muThe mu value used for the second step of tach pass; it should be a negative number between 0 and -1, and is usually a bit less than -lambda).
blend_colormapNot useddispl_amountNot usedblend_displ_mapNot usedreceive_only_shadowsIf set to 1, and solid rendering is enabled, the mesh will be invisible but will show shadows that fall on it (hard shadows must be enabled to see any)

JWildfire forum post

wangtiles

Generate a (possibly repeating) pattern from a 12×8 set of Wang tiles.

Type: 3D blur
Author: Jesus Sosa
Tile artist: Guy Walker
Date: 29 Apr 2018

Patterns Group Variation Sample  Wangtiles 1
Patterns Group Variation Sample Wangtiles

The core Wang tiling is always 12 wide and 8 high, so the tiles are elongated vertically. This is why the vertical pipes in the first example are thinner than the horizontal pipes. To use square tiles, set scale_x to 1.5 (and optionally square to 0 and offset_x to -0.25).

The wangtiles variation will also set z based on the color of the point, like colorscale_wf. This is not a bump map for the tile, so it won’t make the result an accurate 3D tiling.

ParameterDescription
idThe id of the Wang tile set to use, from 0 to 104
seedThe random seed; changes the pattern of the tiles
square0: Make the overall wangtiles shape a rectangle
1: Make the overall wangtiles shape a square
scale_x, scale_yHorizontal and vertical scale factors for the Wang tiles
scale_zScale factor for z colorscale setting; 0 to disable
offset_x, offset_yHorizontal and vertical offsets for the Wang tiles
offset_zOffset added to the z value of each point
tile_x0: Don’t tile horizontally (space outside the 12×8 Wang tile set will be black)
1: Tile the Wang tile set horizontally
tile_y0: Don’t tile vertically (space outside the 12×8 Wang tile set will be black)
1: Tile the Wang tile set vertically
reset_z0: Add the color index to existing z value
1: Override existing z value with the color index

Wang tile on Wikipedia
Source for tiles used in this variation (under Gallery)



This information has all been created by Rick Sidwell as a guide to the more popular variations used in fractal flames, and very generously allowed me to reproduce it here. Not all of the variations are included with JWildfire, but a great many are, so it is worthwhile learning about them.
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.


See Also...

You may be interested in ...

Leave a Comment