+-+-+-+-+-+-+
|B|R|U|I|S|E|
+-+-+-+-+-+-+
home | categories | readme

Computer Drawings

Cellular Automata (CA) are a kind of computational model. I'm particularly interested in the one-dimensional CA, but there are also two-dimensional and other forms.

In the one-dimensional version, you typically end up with a grid of spaces. Each space can be in one of two states. The state of each space is determined by specific spaces around it (within its neighbourhood).

In the one-dimensional CA, the automaton develops line by line. Assuming the automaton is progressing down the grid, the state of a space is determined by the spaces above it, above it -1, and above it + 1. In the diagram below, the spaces a, b and c determine the state of x.

This is computed by following a set of rules. Given that the spaces are binary, there are only 8 different combinations that a neighbourhood can be. For each CA a ruleset is decided and the grid is computed.

    

            ┌─┬─┬─┬─┬─┐
            │ │a│b│c│ │
            ├─┼─┼─┼─┼─┤
            │ │ │x│ │ │
            └─┴─┴─┴─┴─┘
    

This is often demonstrated as a beginner exercise in different coding languages (e.g. This is one I made in Scratch). It's a great way of experimenting with p5 and Processing.

I'm actually really interested how the simplicity of this computation can be performed by a human, and what happens when they do. I've tufted some rugs using different CA patterns, and more recently been drawing them simply on loose twisted grids. A while ago I had been making these drawings on squared paper, but I think it added a regularity that was unhelpful to the gesture of the drawings. I've also done a few as ASCII pieces which I have posted to a log here.

They work a bit like drawings. They take time. They feel like drawings. But the following of the algorithm means that the shape of the drawing is determined in the first line. I normally draw the grids at random sizes and fill starter lines with random states. I do have some favoured rulesets though and return to the same ones regularly.

Drawing them by hand means that there is space for strangeness to enter in. There are mistakes and errors. It is a recording of a period of time.

The Wikipedia page has some great detail about CA and the different research done with them over the years.

Here's an example of an ASCII one:

    
        ░░░░█░░
        ░░░███░
        ░░██░░█
        ███░███
        ░░░░█░░
        ░░░███░
        ░░██░░█
        ███░███
        ░░░░█░░
        ░░░███░
        ░░██░░█
        ███░███
        ░░░░█░░
    

Here are some examples of the paper drawings. These two are included in the Two Queens Members Show 2023.

type url description
image blue-ca.jpg double blue cellular automata drawing
image single-ca.jpg black and white cellular automaton drawing

Finally, I also have a p5.js two-dimensional CA desktop clock that I keep tinkering with. It can be viewed via the p5.js editor here


categories: code | image


~gg 08/23

+-+-+-+-+-+-+
|B|R|U|I|S|E|
+-+-+-+-+-+-+