The code for this project is written in Processing 3.5.3. It is a fantastic Open Source language
artists who want to quickly prototyping ideas in code. You can learn more about it here:
The code itself is straightforwards. The logic involves setting some variables to describe the wall
dimensions, grid size, colours, line thicknesses etc... There are pre-calculations done for angled
lines and arcs. Then, to render the wall, two different lines need to be chosen and some logic
included to ensure that a box does not contain two of the same type of lines (or else it just looks
like one line). Where it was tricky was in figuring out the math for the curves that connect from
the mid-points of the grids.
The program includes a minimal keyboard based UI. "S" saves the screen to an image file. "u" updates
the rendering with a new randomized version". "d" toggles the door on and off. And the direction
arrows increase or decrease the number of rows and columns.
One bug I decided not to fix is that the current logic allows for two lines, one solid and one
dashed, to be draw that overlap one another. As a result it looks like there is just one line drawn.
There's an example of this error in the Code Progression gallery below.
There is also a purposeful omission from the program. There are no irregular/random/non-straight
that are often in other representations of 146A. I excluded these wiggly lines for two reasons. One,
the instructions don't explicitly include that type of line, although most of the examples I've seen
of 146A include them. And secondly, I didn't trust that I would like the look of those lines on the
Lastly, I chose to deviate from the instructions again to have a blue wall with off-white lines as
opposed to the prescribed blue lines. This was an aesthetic decision. I just really like the swath
blue on the wall.