There are zero people in the world who can tell #FF4500 from #FF4501, so aren't they effectively the same color?
There are zero people in the world who can tell #FF4500 from #FF4501, so aren't they effectively the same color?
And to collect data on this, one could for example ask many random users to choose the range of colours they believe correspond to a given name (“select all red colours”) and merge the results into the distribution. (There are many, many other ways to carry out such a survey; this is but one example).
Obviously, you won’t get to 16M names this way, but you could definitely learn quite a lot about where the “boundaries” are between colours from this kind of exercise!
Particularly, what you're describing is this: http://imgs.xkcd.com/blag/satfaces_map_1024.png :-)
#b18800, from the xkcd, looks pretty bad; #d4af37 is a good bit better, #cfb53b is semi-passable IMO.
If there is at least one person who cannot tell two colors apart, they should have different names.
My point being - it's very hard to give a simple, unambiguous meaning to seemingly simple concepts like 'what is a color', 'when are colors the same' and 'are these two colors more similar than those other two'. There is a lot of abstraction between the physics of light and representations of color e.g. on a screen, or in fabric, or when printing.
First, because if I recursively apply your argument, then no color would have a name. Starting from the very 1st lowest color frequency and the 2nd right next to it, no-one could differentiate them. Apply the same logic between the 2nd and the 3rd, the 3rd and the 4th, etc.
So you cannot apply this argument to "any" color pair. You would have to define a set of starting colors, and always do the comparison against them. Now you enter the problem of which starting colors to starts, and the fact that using any pre-existing color names would most likely not be evenly distributed on the color spectrum.
Second, it wouldn't work because color recognition is not a transitive process.
- If you show me two very close red variations side by side, I may not be able to tell the difference.
- If you space the variation, I may be able to tell that there are 2 different reds, but wouldn't be able to tell which one is darker/lighter accurately.
- If instead of showing me the two close reds side by side, you show them to me paired with an other color, I may be able to tell the difference. For instance, show me a board with half red1 + yellow, and an other board with red2 + yellow. I may spot than 1 of the red + yellow is matching that good compared to the other one.
So #FF0000 is red. But is #FA0101 is also red, just slightly less so.
This would allow you to model classes of colours, like purples. Shades of a colour could then be any similar colour in the range 0 to 0.5 (or 0.25).
My point is, again, that colors are a much more difficult concept than some in this discussion are making it out to be, and 'distance between colors' is more complex still.
You can map those clusters into RGB space. Or other colour spaces.
Technically you are correct, but I don't think that's what the colour-namers are going for.
My argument was more general.
Being able to distinguish colors on a test such as https://xritephoto.com/cool-tools
But somehow, on all rows, the colors just seemed to snap into place for me, is that a normal feeling?
But given any two colors A and B you can construct a sequence C1 = A, C2, C3, ..., Cn = B where adjacent colors Ci and Ci+1 are indistinguishable from each other, and so need the same name, for 1 <= i < n. Hence, A and B have to have the same name.
Think about it with numbers: if your sequence A, B, C... are each zero units apart, then yes, A = B = C = ...
In actuality, though, they are not zero units apart. They are a small, but positive distance apart. Those tiny differences add up so the distance from A to C is twice as far as the distance from A to B.
Your suggestion was that if a color is close enough to another to be indistinguishable it the two should have the same name.
1 is close enough to 0, so gets the name "black" too.
How about 2? That's farther from 0 "black". Is it distinguishable? If not, it too is "black", and we can go on to compare 3 and 0, and beyond.
At some point we get our lowest blue-only RGB color that is distinguishable from 0 "black". Suppose that is 4. So we have 0, 1, 2, and 3 are all called "black", and since 4 is distinguishable from 0 it needs a new name, say "very light blue".
But now we have 3 "black" only 1 away from 4 "very light blue". Those are probably indistinguishable, so are supposed to have the same name. Oops.
So, if no two indistinguishable colors have distinct names, and for every pair of colors have a path between them of colors such that adjacent colors in the path are indistinguishable, then all colors would have the same name.
The solution of “assign a degree of applicability if each name to each color” and allow a color name to have different levels of applicability for a pair of indistinguishable colors, sorta solves the problem?
But, in a sense, isn’t “to what degree do each of these names apply to this color” just a kind of identifier like a name is? (Though it has the advantage that we can talk about the identifiers being very close to each other )
We can’t have identifiers for colors always be the same iff the colors are indistinguishable, because “is the same” is transitive while “is visually indistinguishable” is not.
Therefore, in order to be able to describe a large variety of colors (with say, rgb), we choose to use an identifying scheme (such as rgb) which has different identifiers for colors which are visually indistinguishable.
const namedColors = require('namedColors');
const chalk = require('chalk');
console.log(chalk.hex(nameColors['Hacker News Orange'])(
lol, you just downloaded a 200meg dep for named colors
));And conversely, there are infinitely more colors than that particular digital representation can express.
Or maybe lockdown is really getting to their head.