Create Seed Pattern: Click on the canvas to add points
Move Points: Drag the red points to modify your pattern
Pan: Click and drag on the canvas to move the view
Zoom: Scroll to zoom in and out
About
This interactive editor lets you create custom fractal curves by defining a seed pattern and iterating it.
Each iteration replaces every line segment with a transformed copy of your seed pattern.
The Mathematics Behind Fractal Curves
×
Fractal Generation
These fractal curves are created through an iterative process of replacing each line segment with a scaled,
rotated, and translated copy of a "seed pattern." This process is repeated for each new line segment
created, leading to increasingly complex patterns with self-similarity at different scales.
The process works as follows:
Start with a seed pattern (the points you create by clicking)
For each line segment in the current curve, replace it with a transformed copy of the seed pattern
Repeat step 2 for each new iteration
Fractal Dimension
The fractal dimension is a measure of how "rough" or complex a fractal is.
Unlike regular shapes that have integer dimensions (lines are 1D, squares are 2D), fractals can have
non-integer dimensions. The fractal dimension displayed is the fractal dimension of the curve you would get if you
performed infinite iterations.
For self-similar fractals like those created in this editor, the dimension \(D\) is calculated by solving
the equation:
\[ \sum_{i} r_i^D = 1 \]
where \(r_i\) is the length of the \(i\)-th line segment of your seed pattern.
The resulting dimension \(D\) tells us how "space-filling" the fractal is:
\(D = 1\): The curve is essentially a line
\(1 < D < 2\): The fractal is "rough" but doesn't fill a "solid" 2D area
\(D \ge 2\): The fractal fills a "solid" 2D area
For curves which grow larger and larger after more iterations, the fractal dimension is undefined because
the curve doesn't "converge" in this case.
For more information on the math behind fractal dimension, check out this great video by 3blue1brown, which inspired this app: