‘Smoke script’


Input

Thickness

Output


How it works

The idea

The idea is that we start with a continuous line, like this:

At certain points, we add ‘breaks’ in the pattern:

The more breaks there are, the more chaotic and organic the end result becomes:

Adding the breaks

Breaks can only occur around certain points in the pattern, which are highlighted below:

Which of these potential breaks are ‘activated’ is determined by the letters that make up the input, using the following codes:

A 111 J 0111 S 00111
B 1101 K 01101 T 001101
C 11001 L 011001 U 0011001
D 1011 M 01011 V 001011
E 10101 N 010101 W 0010101
F 101001 O 0101001 X 00101001
G 10011 P 010011 Y 0010011
H 100101 Q 0100101 Z 00100101
I 1001001 R 01001001 . 001001001

Note that the script does not write capitals, interpunction or spaces. The sentence ‘Won’t you be late for work?’ becomes ‘wontyoubelateforwork’. There is a spare character, the full stop, which can be used for interpunction.

As an example, the code for T, 001101, means that the first two ‘break points’ are skipped, the next two are activated, then one more is skipped, and finally the one after that is activated. Each letter has three breaks in total.

This process of going over each break point and choosing whether it gets skipped or activated runs in columns from top to bottom, left to right. If we write the word ‘toothpick’, the following pattern emerges:

This is what we get when we add the breaks around these points:

Saving and stylising

You can save the output by right-clicking on it. Then you can play around with it in a program like Photoshop or Inkscape. Here is our toothpick again, rotated and stylised:


Victor Voermans 2021, with inspiration and encouragement from Dirk Bakker. Back to the homepage