Так что это больше научная визуализация, чем графический дизайн, но я думаю, что теория та же. В картах цветов, используемых для визуализации данных, часто есть цветные полосы, которые выделяются там, где их быть не должно. Я полагаю, что они являются формой полос Маха ?
Например, я использовал эту биполярную цветовую карту , и она создает такие изображения:
Это почти как кольцо неонового оранжевого около 0,2 и похожее кольцо для синего около -0,2. Вот график компонентов RGB и расчет относительной яркости черного цвета:
Я вручную настроил его, чтобы попытаться избавиться от полос, и в чем-то преуспел, но я не очень понимаю теорию, стоящую за этим:
Стало лучше, но я все еще вижу в нем полосы.
Для другого примера, для горячей карты цветов, я подумал, что, возможно, мне придется линеаризовать график яркости, чтобы предотвратить полосатость, но на самом деле это не сработало:
Желтые и оранжевые полосы все еще там, они просто сдвинуты и немного размазаны. Таким образом, разрывы в графике яркости не являются причиной проблемы.
Как плавно переходить между цветами без полос? Существуют ли правила создания плавных кривых в цветовом пространстве Lab или что-то в этом роде? ( Редактировать: О, я нашел пример для этого : «Цветовая шкала вычисляется с использованием цветового пространства L a b *. Она следует равномерному наклону вдоль направления L * и следует полукруговой траектории в a *-b * самолет.")
Обновление: вот график этой цветовой карты в кубе RGB, показывающий острые углы, о которых говорит пользователь 568458:
Не забывайте, что даже если вы работаете со значениями цвета LAB, значения RGB должны быть выведены, чтобы отобразить их на экране. В какой-то момент он должен сказать красным, зеленым и синим пикселям экрана, что делать.
Посмотрите на это с точки зрения RGB, и причина появления полос на самом деле довольно проста.
Возьмите палитру цветов и посмотрите на градиенты, и вы заметите, что полосы находятся вокруг точек, где меняется характер градиента:
И то же самое с нижними графиками, добавление желтого к белому: по сути, это три градиента, соединенные вместе. Используя красный градиент в качестве примера:
Таким образом, всегда будет видимое соединение, если оно так настроено. Как правило, когда точность и линейность являются главной целью, лучше всего сделать градиент простым, постоянно меняя одну характеристику (если только вы не хотите полосатости, например, на некоторых типах сканирования мозга).
Тем не менее , если вы полны решимости использовать более широкий спектр (это выглядит хорошо), я бы рассмотрел либо начало добавления второго канала до того, как первый будет завершен, сформировав раздел моста между градиентами, либо имея небольшая обратная S-образная кривая скорости, с которой добавляется второй канал (вероятно, оба).
Итак, вместо:
... это может быть (просто догадываюсь с головы, потребуется настройка):
... затем отрегулируйте изгибы каждой секции по своему вкусу :-)
Изменить: вот демонстрация предложения «срезать углы». Это не идеально - это довольно неочищено, просто то, что я собрал на глаз за несколько минут, используя инструмент смешивания Illustrator (несмешанные объекты внизу, чтобы показать цветовые точки). Каждый сегмент градиента между каждой цветовой точкой на 100% линейный, тогда как вам, вероятно, нужно что-то более округлое, и в результате, если вы внимательно посмотрите, вы сможете обнаружить полосы.
Результаты естественно различаются между мониторами: на моем «хорошем» мониторе все гладко; на «плохом» мониторе, который я использую для проверки устойчивости веб-изображений (где исходные полосы отображаются не очень четко), оранжевые всегда кажутся приглушенными, из-за чего красные и желтые области кажутся ярче, чем сливающиеся оранжевые, чрезмерно подчеркивая красный цвет. и желтые области, но вы все еще можете видеть, что «край» исходных полос в значительной степени исчез.
В любом случае, по сравнению с исходными градиентами вы можете четко увидеть разницу. (что касается математики, стоящей за этим - понятия не имею, я не математик, но, надеюсь, это поможет определить проблему и решение)
Другое преимущество заключается в том, что вы можете использовать более четкий черный > переход на один канал больше.
Или та же идея для цветового куба RGB (простите за грубость, она предназначена для демонстрации, а не для точности...):
Это, вероятно, более ясно показывает, что я имел в виду, когда сказал, что градиент в примере можно улучшить, сделав переходы от основных сегментов к сегментам, срезающим углы, плавными, а не угловатыми.
hot
которой используются закругленные углы: gist.github.com/endolith/74275dc8fa2bb9a78266 лучше, но не отлично. Я думаю, лучше всего
делать плавные кривые (с плавными функциями длины дуги?) в цветовом пространстве L a b.Может быть, это могло бы помочь вам, это работает для меня, но я не знаю, как это сделать вручную.
Горацио
пользователь56reinstatemonica8