2 min read

Constructing Fractals -- Iterated Function Systems

Table of Contents

Introduction

Last week, after having written my first blog post, I got interested in creating a more general framework which supports more general Iterated Function Systems (IFSs).

In general, an IFS can described as a finite set of contractive functions

fj:X→X,f_j: X \to X,

where XX is a compact metric space, and the associated fractal SS for a generating subset S0S_0 is obtained iteratively through:

Si+1=⋃jfj(Si),S=lim sup⁑iβ†’βˆžSi.\begin{align*} S_{i+1} &= \bigcup_{j} f_j(S_i),\\ S &= \limsup_{i \to \infty} S_i. \end{align*}

This is My implementation is available on my Github, on the manim-projects repository. Here are some project examples:

A visualization of iterations of the Barnsley Fern, linearly interpolated with a linear rate function:

And a visualization of the Vicsek fractal: