You will probably be familiar with some of the most famous fractals, such as the Mandelbrot set, Sierpinski triangle, or Lorenz Attractor.
Types of fractal
There are a number of different types of fractals, but they all tend to have certain things in common:
- Fractals tend to have complex shapes.
- The shapes often possess infinite amounts of detail, which means that you can zoom in on the shape forever and there will always be more detail.
- They are often self-similar at different scales, that is as you zoom in the image will have similar features to the original image.
- They are often created by very simple formulas.
There are several different ways to create fractals:
- Strange attractors, such as the Tinkerbell fractal covered below.
- Escape time fractals, such as the Mandelbrot fractal also covered below.
- Iterated function systems
- Grammar based systems, such as L-systems and finite subdivision rules.
- Random fractals, such as fractal landscapes and diffusion limited aggregation.
We will cover strange attractors and escape time fractals in this section, because they have similar implementations.
Join the PythonInformer Newsletter
Sign up using this form to receive an email when new content is added:
2d arrays abstract data type alignment and angle animation arc array arrays bar chart bar style behavioural pattern bezier curve built-in function callable object chain circle classes clipping close closure cmyk colour combinations comparison operator comprehension context context manager conversion count creational pattern data science data types decorator design pattern device space dictionary drawing duck typing efficiency ellipse else encryption enumerate fill filter font font style for loop formula function function composition function plot functools game development generativepy tutorial generator geometry gif global variable gradient greyscale higher order function hsl html image image processing imagesurface immutable object in operator index inner function input installing iter iterable iterator itertools join l system lambda function len lerp line line plot line style linear gradient linspace list list comprehension logical operator lru_cache magic method mandelbrot mandelbrot set map marker style matplotlib monad mutability named parameter numeric python numpy object open operator optimisation optional parameter or pandas partial application path pattern permutations pie chart pil pillow polygon pong positional parameter print product programming paradigms programming techniques pure function python standard library radial gradient range recipes rectangle recursion reduce regular polygon repeat rgb rotation roundrect scaling scatter plot scipy sector segment sequence setup shape singleton slice slicing sound spirograph sprite square str stream string stroke structural pattern subpath symmetric encryption template text text metrics tinkerbell fractal transform translation transparency triangle truthy value tuple turtle unpacking user space vectorisation webserver website while loop zip zip_longest