On Colour

  • Chromaticity diagrams represent all colours that can be perceived by the human eye. The Luv colour space (“CIE 1976”, illustrated above at a particular luminosity L) is believed to be approximately “perceptually uniform” which means that the distance between any two colour points is proportional to the colour difference perceived by humans.
  • The colours of the rainbow (spectrum of visible light) correspond to saturated colours on the curved boundary of the uv-diagram. These monochromatic colours (indicated above at 20nm intervals) are not distributed uniformly in uv space. In other words the colour acuity of the human eye depends on wavelength.  There is a strong peak at 484nm (cyan) and another broader peak at 592nm (orange).
  • The colours of the rainbow are shown below, firstly as a linear function of wavelength and secondly in perceptually uniform space. Notice that the cyan, blue-green and orange areas expand, while green, red and violet shrink.
  • Digital photographers are familiar with tristimulus sRGB, Adobe RGB and proPhoto colour triangles. In uv space, these cover 33%, 39% and 77% of perceivable colours respectively. Of course, colours outside the sRGB gamut cannot be displayed correctly on any sRGB device. In particular, strictly speaking none of the colours of the rainbow are displayed correctly in sRGB (or ARGB). 
  • Assuming that it is perceptually uniform, the uv-diagram can be used to compute the colour error for the visible light spectrumARGB reduces the colour error at all wavelengths relative to sRGB, because the sRGB gamut is a subset of the ARGB gamut. However there is still a significant error at the 484nm colour acuity peak. proPhoto has the nice property that the colour error is zero in the vicinity of the cyan and orange colour acuity peaks. Unfortunately no proPhoto displays exist at the present time.
  • There is an excellent discussion of the difficulties in rendering the visible light spectrum here.

R Code

Computations were done using R’s colorscience and rgeos packages.