I'm interested in getting an method for obtaining n well-distinguishable colours, where n is just a given number. The purpose is for it to be implemented in an algorithmic way.

I have read other questions on this topic (this, this, this and this), but none of them provides an self-contained way how to generate the colours. (They, in general, say: "Go to this website and put n there as input.")

As well, I know that I can equally distribute the hues of the colours, but then:

  1. Good balancing between number of different hues and number of different saturations and lightnesses is necessary (and I don't know how to make it well).

  2. The same distance in hue doesn't mean the same distance for a human:

    enter image description here

    In the example, certainly the left one is less recognizable than the right one, yet the colours are only some RGB permutations.

  • 1: find maximum number of unique colors determined by the system you are using to represent them. 2: determine the minimum difference between 2 colors that a "healthy human" can distinguish. 3: divide the maximum number of colors by that distance. << that (lets call this x) is the largest acceptable input from the user. 4: RNG a starting color. 5: divide x by n from user (to get y). 6: add y to start color n times. 7: show resulting colors. – brnnnrsmssn Feb 28 '13 at 17:09
  • Once I know how to generate the colours (and you can show me the way with drawings in a colour space or whatever), I shall be able to make it into a real algorithm. The problem lies in making distinguishable colours, not in making a computer program. – yo' Mar 1 '13 at 15:47
  • Reopened because of the edit. I cleaned the comments, you are more than welcome to continue the conversation in the chat. – Yisela Mar 1 '13 at 23:32
  • 1
    There was an excellent answer to this question posted on the gamedev.SE site by Sam Hocevar recently. – Ilmari Karonen Mar 3 '13 at 15:18
  • 1
    @IlmariKaronen That answer (basically, evenly spaced points on a hue wheel) is a good start but if differentiability and large numbers of colours are your main concerns, you'll reach a point where it's better to add a row higher and lower in lightness and/or lower in saturation than adding more spaces on the hue wheel. Lots of good comments too. – user56reinstatemonica8 Mar 4 '13 at 13:28

If I understand your question well, you should definitely take a look at IWantHue at http://tools.medialab.sciences-po.fr/iwanthue/ There you just enter (like you say) a numbner and it autogenerates colors that play well together. But, they also have some theory on the issue. Good luck...

| improve this answer | |
  • Hi Lim, welcome to GD. That looks like a great website, thank you for suggesting it! – Yisela Mar 7 '13 at 0:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.