Practical Color Theory for People Who Code
Ugh. This is well meaning, but because based on a color model with a very tenuous relation to human color perception, with further decisions built on loose heuristics without rigorous support (and apparently ported from paint mixing advice), the choices made are pretty arbitrary, yielding poor results.<p>This part in particular ...<p>&gt; <i>Pick any color by selecting its hue (0-360) on the color wheel at full saturation (100%) and at half lightness (50%) - this way you start with the &#x27;most colorful color&#x27; you can get. ¶ Generate your second color without having to guess what will work. Thanks to science and wavelengths, we know that this works. The opposition of these two colors stimulate your photoreceptor cells in a good way!</i><p>... ends up being poor advice in general, “science and wavelengths” notwithstanding. Any pair of decently separated hues will do just as well as a pair of HSL “complements”, as long as the chroma and lightness are carefully chosen. If you take this specific advice and just rotate the hue around in HSL space, all of the perceptual color relationships will swing wildly.<p>Someone following this program who has a lot of experience with visual art &#x2F; design will end up making reasonable choices based on intuition and past experience, but that will be in spite of this guide, not because of it.<p>Sorry to be harsh, but in my opinion non-experts will get better results than this blog post’s recommendations by just choosing perceptual lightness (e.g. in CIELAB space) of each color to have sufficient contrast, and then picking the hue&#x2F;chroma entirely at random, or using any other desired criteria.<p>Here’s what Cynthia Brewer, expert in color choices for maps and diagrams, had to say about models like HSL and HSV:<p>&gt; <i>Computer science offers a few poorer cousins to these perceptual spaces that may also turn up in your software interface, such as HSV and HLS. They are easy mathematical transformations of RGB, and they seem to be perceptual systems because they make use of the hue–lightness&#x2F;value–saturation terminology. But take a close look; don’t be fooled. Perceptual color dimensions are poorly scaled by the color specifications that are provided in these and some other systems. For example, saturation and lightness are confounded, so a saturation scale may also contain a wide range of lightnesses (for example, it may progress from white to green which is a combination of both lightness and saturation). Likewise, hue and lightness are confounded so, for example, a saturated yellow and saturated blue may be designated as the same ‘lightness’ but have wide differences in perceived lightness. These flaws make the systems difficult to use to control the look of a color scheme in a systematic manner. If much tweaking is required to achieve the desired effect, the system offers little benefit over grappling with raw specifications in RGB or CMY.</i><p><a href="http:&#x2F;&#x2F;www.personal.psu.edu&#x2F;cab38&#x2F;ColorSch&#x2F;ASApaper.html" rel="nofollow">http:&#x2F;&#x2F;www.personal.psu.edu&#x2F;cab38&#x2F;ColorSch&#x2F;ASApaper.html</a><p>If anyone is looking for a better resource, the best one I know of on the web is <a href="http:&#x2F;&#x2F;www.handprint.com&#x2F;LS&#x2F;CVS&#x2F;color.html" rel="nofollow">http:&#x2F;&#x2F;www.handprint.com&#x2F;LS&#x2F;CVS&#x2F;color.html</a>. Otherwise, I recommend going straight to books. There are a variety of available books at every level of technical detail.