No Drawing Thinking Lots

I set out tonight at around 9pm to do a 1 hour drawing and here I am drawingless. But I have not been idle. Nope. Not me. I've been giving myself a headache, recalling an insomnia inspired idea and trying to make it possible, if not very easy. The image for the post is an image of my generative linocuts, which are to feature in another post. 

If you should know anything about me at all it's that I love the concept of translation. How information can be conveyed in different languages for example, and more importantly what is lost in that translation. Last night my brain decided to talk to me all about this until half past stupid o' clock in the morning. Out of that monologue came the idea of using a room as a data set to create an algorithmical painting from. The data is all of the information that the room contains and it is translated by an algorithm of my design into the abstract language of painting. I have specified 'abstract' as a term as I'm dealing  with pure painting elements. Not all of them yet I admit, however some of the elements arise as emergent properties, but that's a different bunch letters and syntax altogether.

I've also begun bashing out  an idea for an installation that might be good for a proposal if I find it suits.  

Below I've put my algorithm down in writing  as it seems to best work in my head. The language becomes more abbreviated and code like as the writing progresses. So without any further preambulation here is the pseudo 'code'. The algorithm will probably change during execution as I'll no doubt run into odd things I have not accounted for.  I'll update when I try it. 

ROOM GENERATED ART V1.0 (algorithm draft)



  1. distance

  2. direction

  3. thickness

  4. colour

  5. tone

  6. opacity

distance = max width/height of canvas

direction up to 360- easier with limits could be 4 -8

thickness as a % of voulme?

Finding the values

Distance= as a %of total (either width/height ) of canvas- from last object// distance from last object / width or height of canvas. (for simplicity sake use a square canvas.)

Direction = Height is up and down on a 50% basis or current object width/height ratio roll of %die Width is Left or Right 50/50 or as above

Thickness of line ( for simplicity work with 3 values THIN , MED, WIDE) (current object width * height/100 )*depth 0 -33=thin/ 34 – 67 =med/ 68-100 = wide.

Tone = compare last tonal value if current object is lighter then line is light else line darker.

Opacity- use clock face- 7-12 thicker1-6 thinner/ use what I would consider the front of the object how is it position relative to last object// gives six values of translucency vs opacity. 

Colour range is found by first three objects closest to DOOR count duplicates of them in room /8 round to whole number. Can give mono/x2 or x 3 pallet


Start from DOOR. Find start point on canvas = calculate ROOM orientation vs North. Calculate DOOR vs North. North =Up, EAST =Right, SOUTH =Down, WEST = Left.

Use DOOR orientation vs North as start side.

Calculate width as % of perimeter = W%. If right hand wall is closer to East then startg line begins W% from Right of canvas else from Left.

Calculate height as % of perimeter = H%. If left hand wall is closer to North then line begins H% from top else from bottom.

Finding pallet(colour) – either use reduce ROOM pallet to 3 main colours or use 8 hue spectrum as % (12.5% per hue) If room is:

  1. higher than wide or deep = x1 colour volume of room (ROOMVOL) / D *100 Hue1.
  2. wider than high or deep = x2 colours = Hue1; ROOMVOL / H 100 = hue1; 
  3. deeper than high or wide =x 3 colours = Hue1; Hue2;  ROOMVOL/ W * 100 =Hue3

If room orientation = more North than South work CW round ROOM, else CCW.


Line Distance (Ldis)

Calculate distance to First Object (FO) from DOOR. Find as % of ROOM= DIS%. This is the % the line will move on canvas or CAN%. DIS% = CAN%

FO tonal value = neutral (Neut).

Measure the FO for Height (H), Width (W), Depth(D)- Note orientation vs North = Original Orientation (OO)

Line Direction (Ldir) =

  1. If Object (O) is taller than wide, direction is Up/Down (U/D). Else Left/Right. (L/R)
  2. If U/D – calculate the H/W ratio of Current Object (CO) use ratio as % value for U vs D
  3. If L/R do as above but W/H.
  4. If H=W then line is UL/UR/DL/DR. If object(O) is closer to :
  • North Wall it is UL
  • South Wall it is UR
  • West Wall it is DL
  • East Wall it is DR


Line Thickness (Lthk)

Current Object (CO) (H*W)/100)*D = Lthk% 

if Lthk% < 33 then Lthk = thin

else if Lthk% < 67 then Lthk = med

else Lthk >68 then Lthk = Wide.

Move to next closest object :

  • CO front vs OO = opacity re opaticy rules.
  • Tone = CO tone value vs Neutral. Re tone rules
  • cal Ldis ; cal Ldir.   Draw line.   
  • REPEAT until all objects used.

If object touches another object END current line.

 Restart New Line Layer re DOOR, where CO = DOOR. Recalibrate Opacity and tone.

 If object has small objects on top.

Cal Ldis as % of CO surface; cal Ldir % of CO surface. Do for each objects moving current CCW or CW direction around surface.  Draw line as thin only branching from middle of current line.  When all surface objects used begin original cals from current line end.