Как, зная число, найти столько цветов, которые хорошо различимы?

Меня интересует метод получения nхорошо различимых цветов, где nпросто заданное число. Цель состоит в том, чтобы это было реализовано алгоритмическим способом.

Я читал другие вопросы по этой теме ( this , this , this и this ), но ни один из них не дает автономного способа генерации цветов. (Они, в общем-то, говорят: «Зайди на этот сайт и поставь nтам входные данные».)

Кроме того, я знаю, что могу одинаково распределить оттенки цветов, но тогда:

  1. Необходим хороший баланс между количеством различных оттенков и количеством различных насыщенностей и светлот (и я не знаю, как это сделать).

  2. Одно и то же расстояние в оттенке не означает одинаковое расстояние для человека:

    введите описание изображения здесь

    В примере, конечно, левый менее узнаваем, чем правый, но цвета являются лишь некоторыми перестановками RGB.

1: найдите максимальное количество уникальных цветов, определенных системой, которую вы используете для их представления. 2: определить минимальную разницу между 2 цветами, которую может различить «здоровый человек». 3: разделите максимальное количество цветов на это расстояние. << это (давайте назовем это x) является наибольшим допустимым вводом от пользователя. 4: ГСЧ начальный цвет. 5: разделить x на n от пользователя (чтобы получить y). 6: добавьте y, чтобы начать цвет n раз. 7: показать результирующие цвета.
Как только я узнаю, как генерировать цвета (и вы можете показать мне, как это делать с рисунками в цветовом пространстве или чем-то еще), я смогу превратить это в настоящий алгоритм. Проблема заключается в создании различимых цветов, а не в создании компьютерной программы.
Открыт повторно из-за редактирования. Я почистил комментарии, вы можете продолжить общение в чате .
Недавно на сайте gamedev.SE Сэм Хосевар опубликовал отличный ответ на этот вопрос .
@IlmariKaronen Этот ответ (в основном, равномерно расположенные точки на колесе оттенков) — хорошее начало, но если ваши главные проблемы — дифференцируемость и большое количество цветов, вы достигнете точки, когда лучше добавить строку выше и ниже по яркости. и/или ниже по насыщенности, чем добавление большего количества пробелов на колесе оттенков. Также много хороших комментариев.
можете представить себе хороший ответ, не связанный с кодом/математикой, например: «Вот краткое объяснение HSL с трехмерной диаграммой ромба. Обратите внимание, как вы можете использовать больше делений оттенков по направлению к внешнему центру ромба HSL. Вот краткое объяснение относительной яркости, и обратите внимание на комбинации цветовой слепоты.Итак, возьмите X делений вокруг 360 градусов оттенка, затем Xn раз округлите 1 шаг вверх и вниз по насыщенности и яркости и повторите Y раз - настраивая относительную яркость и избегая плохих контрастов для дальтонизма. "

Ответы (1)

Если я хорошо понимаю ваш вопрос, вам обязательно стоит взглянуть на IWantHue по адресу http://tools.medialab.sciences-po.fr/iwanthue/ . Там вы просто вводите (как вы говорите) numbner, и он автоматически генерирует цвета, которые хорошо воспроизводятся. вместе. Но у них также есть некоторая теория по этому вопросу. Удачи...

Привет Лим, добро пожаловать в GD. Похоже, это отличный веб-сайт, спасибо, что предложили его!