Colour wheels



The colour picker incorporated into the Paint application bundled with Acorn RISC OS computers shows the 256 colour palette in what appears to be almost a random arrangement. (In fact it relates to the peculiar bit-assignment of colour channels in the VIDC1 chip.) I wondered whether there might be a more intuitive and user-friendly way of arranging the colours.

Colour wheels have been used by artists for hundreds of years. The basic idea is that primary colours are spaced equally around the wheel and the secondary colour which compliments each primary colour lies on the opposite side. For example, orange is a mixture of red and yellow and it lies opposite its complimentary colour, blue. Originally the three primary colours were red, yellow and blue but they have been largely superseded by the physicists' colour model in which yellow is replaced by green.

The colour wheels below can be subdivided in two dimensions: segments (of different hues derived from the primary colours) and concentric rings (of the same hue with different saturation and/or brightness). On the lefthand side, rings of the same hue are adjacent, forming linear colour gradients. On the righthand side, rings of the same minimum brightness are adjacent, causing the most saturated (i.e. least white) colours to be clustered in the innermost rings.

The wheels are drawn using a combination of web technologies: Javascript and SVG.


240 colour wheel

Three primary colours with 4 bits per channel would give 24 × 3 = 212 = 4096 colours. However, there are only 8 bits per pixel in the 256-colour screen modes supported by the Acorn Archimedes computer. The lowest 2 bits of each primary are therefore tied to the same value (known as 'tint'). That constraint means that the brightness (or 'value') of colours can only be increased by decreasing their saturation.

Sixteen of the available colours have equal quantities of each primary colour. Those shades of grey are not included in the colour wheel. (240 colours + 16 greys = 256 colours.)


60 colour wheel

The VIDC20 chip in Acorn's Risc PC introduced support for 256-colour screen modes with a fully programmable palette. Consequently the old 256-colour modes carried over from the Acorn Archimedes are sometimes refered to as 64-colour modes. It's also easier to name 64 colours than it is to name 256 colours, as I discovered when writing my Star Fighter 3000 to Wavefront convertor.

Three primary colours with 2 bits per channel gives 22 × 3 = 26 = 64 colours. The primary colours are more saturated than in the colour wheel above because the lowest two bits of all three channels are not tied to the same value, as they would be in the Archimedes palette. (The brightest fully-saturated red is 3/3rds or 100% brightness, instead of 12/15ths or 80% brightness.)

Four of the colours have equal quantities of each primary colour. Those shades of grey are not included in the colour wheel. (60 colours + 4 greys = 64 colours.)


Draw your own

The method that I used to generate the colour wheels above can be generalised into an algorithm for any given number of bits per channel:

Adjust the parameters below to draw your own colour wheel.






Alternative A

A proposed alternative arrangement for the 256 colour picker incorporated into the Paint application.

The colours are arranged in roughly the same order as in a colour wheel, to the extent allowed by a 16×16 grid layout. This arrangement emphasises the segments of the wheel over its rings.

The same layout but with red first instead of magenta:


Alternative B

A second proposed alternative arrangement for the 256 colour picker incorporated into the Paint application.

This arrangement emphasises the rings of the colour wheel over its segments. It has the potentially-useful feature that six of the eighteen pairs of opposite colours are adjacent.

The same layout but with red first instead of magenta: