Collection of artworks made with the integer circle algorithm (also called Minsky circle) which is a very simple and fast integer algorithm to draw circles with very small number of operations.

The original algorithm come from Marvin Minsky HAKMEM memo, it was also discovered independently multiple time by other peoples around that time.

Here is basically the two lines by which all the artworks below were started from:

```
x += y >> 4;
```

```
y -= x >> 4;
```

My first experience with this algorithm was as a fast way to generate sinusoidal oscillators for sound synthesis. I then tried some graphics experiments by reducing the original algorithm operations (by replacing multiply by bits shift as in above) and then created a program to generate combinations (note: at random) of shifts operations, output was filtered first by algorithmic complexity then manually with a tool.

The algorithm (and variations) output is quite fascinating in term of complexity and variations as shown below, it is my favorite algorithm to this day.

Most of the generated pictures below can be produced with very few machine instructions (just simple 32/16 bits arithmetic!): 32 to 256 bytes of code on modern processors.

The images use saturated arithmetic, symmetry and sometimes colors based on iteration count.

Some interesting "fractals" produced by this algorithm: Mandelbrot, Apollonian etc.

The algorithm is capable of generating some abstract images by pushing the parameters to the extremes or by using massive layering plus symmetry as in the second image.

There is also grid / lines patterns, polygons and some blurry background looking like its made by Langton's ant / Turmite type automaton.

The program which was used to generate parameters combination produce extremely glitchy / noisy images sometimes. Some of the output of that program is available here: zip1 zip2 zip3 zip4 zip5

Structures made of circles varying in size, one of my first experiments. (Note : the first UFO picture was composited in GIMP)

Some early animation attempts. (zoomed in)

- nbickford: detailed article about the integer circle algorithm by Neil Bickford
- minskys 3rd: 50+ images and introduction to the math
- metaminsky: generalization of the algorithm
- hrvoje: accuracy improvements of the original algorithm
- interactive: interactive visualization
- blender3b: 3d version with Blender
- sizecoding: my very small standalone executables (128 bytes, 256 bytes)

20/05/2021