Colour theories and the generator

I’ve extended the generative art programme so that it can, if you wish, choose colours using different colour theories. (The basic version just picks colours at random from a palette you choose – eg blues, yellows.) The new versions start with your chosen palette, but then choose colours in pairs: the first one is a choice from the palette, the second is related to the first on one of two ways.

Van Gogh apparently followed the ideas of Chevreuil and liked to have lots of complementary colours, so the first option attempts to replicate this. Once the first colour is chosen from the palette, the second is chosen to be complementary to this one, and so on for a random number of colours.


There are various definitions of how complementary colours relate to each other. After looking at the RGB values of several complementary pairs, from colour wheels on the internet, the best mathematical transformation appeared to be simply to shift the RGB values to the right – ie the R in the first becomes the B in the second, and so on.

The second method is to make each colour pair add up to white (ie 255,255,255), the third to make them add to grey (127,127,127). In other words given the first, derive the second by by subtracting the first from grey or white.img_1433684716

Then I tried mimicking the ‘fauves’ – artists who tended to use primary colours for boldness rather than subtlety. For this, the system takes each colour value it generates, finds the nearest primary (or primary plus secondary) colour, then generateds a third colour between the generated colour and the nearest primary and uses the third colour. In other words, colours tend to get closer to primaries and/or secondaries.




In addition I have tweaked the system so you can influence the range of alpha values, which originally were set at random. Now you can specify random selection within a high range (which gives bold colours that scarcely show through) or a low range (which gives more transparent colours that build up ephemeral layers) or into a ‘stepped’ range, where your colours go in a regular increment from min to mz alpha values.

I’ve also made sure that the images scale properly, whatever the overall size of the picture, and added the ability to rotate them by a random amount (within overall limits you supply, eg up to 30 degrees rotation). The latter gives a much more complex set of shapes.

Lastly I’ve added the facility to draw shapes (lines, ellipses, rectangles, and polygons with random numbers of sides).


All this gives quite a number of options to be set by the user – fifteen at the moment. I suppose the next step is to make the setting of the options random as well!

Leave a Reply

Your email address will not be published. Required fields are marked *