This project was made in about an hour (!) at Papercamp 2 with some card, a scalpel, and some red thread. It was an attempt to create a semi-faithful working representation of J Tarbell’s beautiful, famous, Substrate script — but one that would work with pen and paper instead of Processing.

Substrate produces images like this:

Substrate example

The algorithm itself is lovely and simple:

  1. draw some lines
  2. choose some random points on those lines
  3. draw lines perpendicular to the lines you drew

When iterated, the algorithm produces an output similar to the pattern above. The simplicity of the code lends itself to a representation on paper that is easy to carry out by hand.

Three boards were made, each with a window in which the user was asked to carry out the instructions written on the lower-half of the board.

The three steps

Step one: draw two non-crossing lines across the page

The Substrate script starts by drawing some lines at random angles on the screen. The board asks the user to do the same.

Step 1

The good thing about paper was that examples could be sketched below the instructions to clarify.

Step two: mark the points where your lines cross the string and draw a perpendicular line from these points

The Substrate script would at this point select some random points on the line and draw perpendicular lines from these points. Instead of just asking the user to do the same, the zig-zagged string chooses these points for you.

Step 2

The text on this board could probably have done with some work.

Step three: same as step two

After my first test, I realised that the string was not meeting enough points to develop the image as quickly as I would have liked, so I added another board.

Step 3

Step four: iterate!

Step 4

About two-minutes of work gets you the image above, which is certainly reminiscent of J Tarbell’s original. Yay paper!

Three examples

Here’s the rubbish, wonky one I did, and the two much more pleasing ones done by fellow Papercampers.

Example 1 Example 2 Example 3


  1. James Bridle set lovely little challenges for the day — this mini-project was a response to his “paper computing” brief.