Палитра не менее 10 оттенков с 4 уровнями яркости (по внешнему виду)

Для пользовательского интерфейса мне нужно как минимум 10 отличительных воспринимаемых оттенков, чтобы получить палитру со следующими критериями:

  • В палитре должно быть не менее 10 оттенков и 4 уровня светлоты для каждого оттенка (темный, средне-темный, средне-светлый, светлый).
  • Каждый из оттенков должен иметь одинаковое воспринимаемое расстояние до следующего.
  • Каждый из оттенков должен иметь высокую насыщенность (например, коричневый не должен быть вариантом, так как это ненасыщенный оранжевый). Серый, белый или черный тоже не вариант.
  • Каждый уровень яркости должен восприниматься как одинаковый для всех оттенков (например, темно-синий должен быть таким же темным, как темно-желтый).
  • Если бы каждый оттенок можно было легко назвать, это было бы хорошим дополнением (например, красный, оранжевый, желтый и т. д.).
  • Темная и средне-темная светлота должны иметь хороший контраст с белым.
  • Светлая и средне-светлая яркость должны иметь хороший контраст с черным цветом.

Я сделал этот тест, который далек от того, что мне нужно (т.е. желтый и золотой ближе, чем бирюзовый и синий), но он может дать представление о том, что я ищу:

Тест цветовой палитры 12 оттенков

Есть ли палитра, которая соответствует этим критериям? Если нет, есть ли способ добиться этого или что-то подобное?

Редактировать: изменил вопрос с «палитра 12 цветов» на «не менее 10 цветов», так как мне не нужно конкретно 12.

Нужно ли компенсировать дальтоникам?
Не совсем, так как есть другие визуальные подсказки (иконки + цвета)
Кстати, это киноварь, а не бермиллион.
Спасибо за разъяснение @BillyKerr, я перепутал его с испанским словом.

Ответы (3)

Базовый цветовой круг имеет 12 цветов:

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

Это результат отображения этих 12 цветов подряд с добавлением более темного и двух светлых рядов:

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

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

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

Я думаю, проделав пару основных шагов, как описано, вы можете получить довольно приблизительную палитру к той из вопросов, где нужно будет сделать лишь небольшие модификации, например, в темно-красном или синем цвете.


Примечание: изображения этого ответа призваны показать только приблизительный результат полной палитры. Я использовал два прямоугольника с режимом белого экрана 30% и 50% и прямоугольник режима умножения черного цвета 40% для самых светлых и самых темных строк соответственно и три прямоугольника режима умножения черного цвета 25% поверх желтого, пурпурного и голубого.

Чтобы уточнить, какой процесс вы применяли для изменения желтого, голубого и пурпурного во второй палитре?
Режим умножения черного на 25% по сравнению с цветами
Спасибо за ваш ответ Danielillo. Получившаяся палитра хороша, и я буду иметь ее в виду. Я обнаружил, что некоторые цвета, по крайней мере для меня, ближе друг к другу в отношении оттенков, чем другие. Например, голубой и голубой кажутся мне ближе, чем красный и оранжевый. Вот почему я искал что-то вроде подхода Манселла или Cielab или другого метода, о котором я не знаю. Вот почему я не начал с цветового круга, такого как rgb или cymk. Кроме того, чтобы исправить легкость, вы должны сделать это своим личным восприятием, которое может отличаться от других. Спасибо за ваше время и понимание

Взгляните на Colar : это огромная палитра с настройками восприятия. Похоже, он соответствует всем вашим требованиям и является хорошей базой как для пользовательского интерфейса, так и для дизайна/иллюстрации.

Матплотлиб

Просто добавьте ссылку на ресурс качества IMHO — это статья «Выбор цветовых карт в Matoplotlib из вселенной Python». Пакет примечателен своими исследованиями по созданию бесплатных последовательных цветовых карт, однородных по восприятию (Viridis, Plasma, Inferno); но и для вашего требования 10 категориальных цветов им есть что сказать своими качественными картами цветов:

Качественные цветовые карты Matplotlib (12 палитр)

tab10однако не удовлетворяет вашему критерию отсутствия ненасыщенных цветов . Set3(минус серый) может дать ввод для другого списка возможных оттенков для использования.

Турбо

И, просто перейдя по одной из ссылок в приведенной выше статье, я могу добавить запись Google на тему красочных радужных палитр: Turbo, однородная по восприятию эволюция печально известной цветовой карты Matlab Jet :

Цветовые карты Turbo и Jet в сравнении

Турбо подмножество

Я создал небольшой гист (Python) , который берет равномерно распределенные цвета из непрерывной цветовой карты турбо; их количество и смещение можно настроить, здесь для 12:

Цветовая палитра, сделанная из карты цветов Turbo

Я думаю, что это хороший подход. У меня нет знаний о питоне, но есть ли способ квантовать Turbo на 12 цветов, а затем получить приблизительные значения rgb?
@serknor: если вы можете переварить десятичные значения RGB ([0,0-1,0] вместо [0-255]), этот Gist от fmiorelli содержит необработанные данные для турбо. Простая субдискретизация каждой n-й строки должна помочь восстановить равноудаленные цвета.
Я сделал это, у меня получилась хорошая палитра, но есть проблема, которую я должен был заметить раньше. Турбо это не 360º. Он прыгает от красного к фиолетовому, не зацикливается. Там нет малинового цвета. Таким образом, он не проверяет 2-е необходимое «такое же воспринимаемое расстояние».