Цвета идеальных красок на CIE XY диаграмме

  В статье /1/ "Цвет" http://www.proza.ru/2015/12/03/2217 были рассмотрены цвета красок, применяемых в живописи и теоретические основы их смешения.
  Обсуждался набор идеальных красок, состоящий из 17-ти основных цветов, созданный по принципу достижения в каждой из красок наибольшей насыщенности или наибольшей светосилы тона.
 
  Идеальность красок заключается в том, что в каждой из 5-ти областей спектра,  шириной по 50 нм, краска или полностью поглощает падающее на окрашенную поверхность излучение, или не поглощает - полностью рассеивает его, создавая цвет в соответствии с той цветовой схемой, которая показана на рисунке.
  (об "идеальных красках" можно прочесть здесь -
 http://old.computerra.ru/1999/295/3658/ разница состоит в том, что что в статье по ссылке рассматривается 3 спектральных интервала - обычная практика трёхцветной печати, а мы для описания цветовых свойств красок выделили 5 спектральных интервалов)

  В соответствии со спектральными интервалами были выделены отдельные тона, названные насыщенными (интенсивными), другие тона были названы светосильными (светлыми). Например, тон 3 - красный, является насыщенным одноцветом, поскольку он, заполняя отражённым светом только часть красной зоны чувствительности нашего зрения, не затрагивает ту её часть, которая чувствительна и к зелёному излучению.
  Но мы можем создать и более яркий красный свет, расширив спектральный диапазон и сместив левую спектральную границу излучения от 600 нм к 550 нанометрам. И если бы наш глаз не был бы чувствителен к зелёному излучению, то мы увидели бы опять тот же красный, только в 2 раза более яркий. Но мы как красный, этот цвет не идентифицируем, поскольку зелёное зрение в интервале 550-600 нм у нас работает. Мы видим всё красное, и воспринимаем примерно треть того, что может воспринять зелёный фоторецептор, если бы на него падал белый свет. Результирующий цвет наше сознание идентифицирует как оранжевый (цвет номер 6). Оранжевый был назван светосильным одноцветом, поскольку этот цвет полностью реализует светосильную способность красного рецептора.

  Было предположено, что этот набор красок, в совокупности с методикой их сочетания в смеси, обеспечивает свето и цвето передачу в полной мере. Это предположение мы и проверим сейчас расчётным путём.

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

  Цветовая система CIE XY и её цветовые диаграммы подробно обсуждаются в статье /2/.
  Необходимые формулы расчёта координат цвета для излучения произвольного спектрального распределения приведены также в Википедии.
  Для расчётов координат цвета X и Y используются кривые "x y z" показанные на рисунке вверху. Несмотря на то, что все три кривые используются для сворачивания в интеграл со спектром излучения, только кривую "y" можно назвать кривой спектральной чувствительности глаза. Она представляет собой так называемую кривую видности, и
используется для определения воспринимаемой яркости предметов и источников излучения расчётным путём.

  Спектральные кривые наших идеальных красок очень простые, их можно представить строкой или столбцом из 5-ти амплитуд Ai, каждая из который равна 1 или 0, в зависимости от того, отражает ли окрашенная поверхность излучение в данном спектральном интервале, или поглощает его.
  Например, строка, изображающая спектр красной краски выглядит так - (00001).
  Запишем её в виде столбца, умножим справа (по правилу строка на столбец) на ту матрицу*, которая показана на рисунке и получим столбец значений XYZ.
 * элементы матрицы вычислялись интегрированием кривых "x y z" по каждому из пяти интервалов.

  Полученные значения перевычислим по формулам
 X=X/(X+Y+Z) : Y=Y/(X+Y+Z) : Z=Z/(X+Y+Z)
 
  Значки-квадраты с цветом каждой краски по полученным координатам XY нанесём на диаграмму цвета, см. верхнюю диаграмму рисунка.
  Напомню, что диаграмма CIE XY представляет в своём охвате цветовые координаты XY всех возможных в природе цветов. По её изогнутой части ( она называется локус) расположены спектральные цвета - цвета монохроматического излучения. Длины волн монохроматических цветов указаны на локусе. Белый цвет имеет координаты X= Y=1/3 =0.3333...


   ОБСУДИМ РЕЗУЛЬТАТЫ

   Для создания цвета используются различные методы (масло, акварель, полиграфическая печать) и различные устройства (монитор, принтер).
   Каждый метод или устройство характеризуется доступной ему областью охвата цвета, которая лежит внутри цветовой диаграммы всех возможных цветов, обужая её. Чем шире область охвата, тем большее количество существующих в природе цветов способен создать метод, и способно передать устройство.

   В этом отношении наши идеальные краски занимают широкую область. Чтобы прочертить её границы нужно соединить прямыми все пары крайних заполненых цветом значков-квадратиков (именно так введёт себя результирующий цвет при смешении двух других). Даже неиспользованный в наборе, промежуточный между 1 и 2, "синенький" цвет 1~2 (01000) нам пригодился. Квадратик с ним находится на линии спектральных цветов (на засечке л=475нм) повыше цветов 1 и 4.
   Всё же дефицит синезелёных тонов ощущается. Отметим также, что имеется небольшой зазор между границей зоны охвата и спектральной границей оранжево-зелёной зоны.

   Но всё же полученная нами зона охвата очень и очень широка. Ниже нашей диаграммы показана на чёрном фоне диаграмма ( взято из /2/), на которой показаны зоны цветового охвата двух видов жидкокристаллических мониторов и лазерного монитора - большой треугольник чёрного цвета.
   Все зоны охвата имеют вид треугольника, у нас же, зона охвата - многоугольник, мы используем не 3, а 9 цветов по границе контура (включая "синенький" цвет). Потому и зона у нас шире.

   КАК ОБРАЗУЮТСЯ ЦВЕТА НА ЭКРАНЕ МОНИТОРА

   Проведём небольшой эксперимент. Войдём в программу Paint, сделаем чёрный фон и начертим на нём четыре тонких вертикальных линии - синюю, зелёную, красную и белую. Посмотрим на эти линии через стеклянную призму (я взял призму с углом между гранями 45 градусов).
   Мы увидим ту картинку, которая показана в увеличенном виде в правом верхнем углу чёрного поля на рисунке к статье. Белая линяя (справа) выглядит в виде трёх линий разного цвета, разделённых спектральными промежутками, в которых свет отсутствует. Но свечение синей линии не монохроматично (см.слева) - синяя линия имеет ещё левее от себя ощутимую размазанность, демонстрирующую переход к фиолетовому цвету, который я изобразить не могу - тот монитор, которым я пользуюсь, неспособен передать фиолетовый цвет отдельно от синего, но через призму фиолетовый кант синего света отчётливо виден. Кроме того справа от синей линии наблюдается зелёный сателлит.
   Красная линия - чисто красного цвета, а зелёный цвет имеет справа от себя красный сателлит.
Это - мелкие нюансы, но они дают нам понять, что наш монитор в цветовом отношении не является идеальным.

   Стандарт цветов для мониторов и принтеров sRGB, принятый в 1996 году, сильно ограничивает зону цветопередачи. Я думаю, что его границы очерчены возможностями принтеров, а не мониторов. Тут задача заключается в том, чтобы цвет одного соответствовал цвету другого.
   Но не тут-то было. Все мы знаем, что возможности мониторов в цветопередаче и особенно в передаче яркости тона  - выше. И лучше всех - лазерный монитор.
   Лазерный монитор для подсвета экрана использует источники монохроматического света, поэтому углы зоны его охвата находятся на локусе, и потому зона его цветового охвата - шире. Но и он справляется с цветами хуже, чем наши идеальные краски.

   Для того, чтобы получить на цветовой диаграмме цвета, создаваемые хорошим монитором, я соорудил гипотетический монитор, дающий почти фиолетовый цвет. В качестве источников я взял монохроматические излучения с длинами волн
л= 454, 530, 640 нм - это вершины кривых монитора Samsung XL20 /2/.
   Но там-то для подсветки используются светодиоды, а я взял лазерные источники, и получил бОльшую чем у Samsung зону охвата. Это -гипотетический лазерный монитор с прекрасной цветопередачей и яркостью цветов. С ним мы и будем сравнивать наши краски.
   Итак, сравниваются наш прекрасный монитор и наши идеальные краски.
   Треугольник, показывающий зону охвата нашего монитора прочерчен на верхней диаграмме серыми линиями, вершины, белый цвет и цвет 255 0 255 обозначены кружками.

   СРАВНЕНИЕ ЦВЕТОПЕРЕДАЧИ ТОНОВ КРАСКАМИ И МОНИТОРОМ

   Из диаграммы видно, что в цветовом отношении наши краски вполне выдерживают конкуренцию с монитором. Поскольку мы используем не 3, а 9 цветов по границе контура цветового охвата, зона воспроизводимых цветов у нас шире. Это видно - цвета некоторых красок находятся вне зоны охвата цветов монитором. Монитор правильно воспроизвести цвета этих красок не может.

   Всё же озаботимся более полным заполнением сине зелёной части диаграммы, возможности для этого, оказывается, есть.
   Обратим внимание на то, что наш "синенький" цвет, занимающий интервал спектра 450-500нм прекрасно лёг на локус. А вот зелёный, 500-550 нм, ведь тоже недалеко от локуса, но он убежал на самый верх диаграммы. Может быть мы слишком резко перешли в наших красках с одного интервала к другому? Возьмём промежуточные интервалы.
   Подвинем интервал от "синенького" цвета в сторону красной части спектра на 20нм, а потом и ещё на столько же. И получим прекрасный результат.
   Для новых интервалов 470-520нм и 490-540нм расчёт даёт цвета точно на локусе в сине зелёной его части - показано на диаграмме незаполнеными цветом квадратиками.

   Обратимся теперь к зелёно оранжевой части диаграммы. Оказывается, что если избрать в этой части спектра более узкие интервалы разбиения - не по 50нм, а по 40нм, то цвета красок тоже практически ложатся на локус. На диаграмме чуть правее зелёного намечен серым квадратик для зелёного, соответствующего спектральному интервалу 520-560нм.

   Значит ли это, что для совершенной полноты передачи спектрального цвета мы должны использовать дополнительные краски, не входящие в наш набор?
   Можно поступить и так - дополнительные хорошие кадмиевые краски для оранжево жёлтой части спектра у нас имеются.
   А в зелёной и синезелёной частях спектра можно не изобретать новых красок, а использовать в смесях для сдвига спектральных интервалов и, одновременно, для сужения их, прозрачные краски. Изумрудно зелёную и ультрамарин. Они прекрасно это делают - чем больше концентрация прозрачной краски, тем уже спектральный интервал, выделяемый ею. А совместное использование в смеси двух прозрачных красок - соседей по спектру, дают возможность этот интервал ещё и сдвигать в сторону того цвета, которого в смеси больше.

   Таким образом, наши краски позволяют создавать любой реально существующий в природе цвет, вплоть до спектрального, имея вместе с тем достаточно широкий спектр, чтобы не быть уж очень тёмными. А вот для трёхцветного монитора некоторые цвета оказываются недостижимыми. Особенно в зелёной части спектра. Все нюансы цвета зелёной растительности монитор не передаёт.
   Но зато какие нереально яркие у этой зелени цвета! Проблемой яркости цветов мы сейчас и займёмся.
      

   СРАВНЕНИЕ ЯРКОСТИ ТОНОВ КРАСОК И МОНИТОРА

   Мне придётся сделать некоторые пояснения о форме описания спектрального состава красок и цветов монитора.

   Спектральные кривые наших красок мы задаём в виде строк, состоящих из нулей и единиц, например, так
(00001) что означает, что в 5-м интервале, а именно, в интервале 600-650нм наша краска отражает всё падающее на неё излучение и сияет красным цветом, а в других, более коротковолновых интервалах она всё излучение поглощает, коэффициент её отражения в этих спектральных диапазонах равен 0.

   Цвет на экране монитора мы задаём, например в программе Paint, указывая на яркость всех трёх составляющих цвета B, G и R, например
  0 0 255 что означает, что монитор сияет красным, как может, а синий и зелёный цвета "молчат".

  255 255 255 для монитора означает белый цвет, координата его на диаграмме цветности, как мы помним, равна .333 .333 (первое число -  X, второе - Y). Яркость этого цвета принята за 100%.
  (11111) в красках создаёт тот же белый, той же яркости и с теми же координатами. Это можно видеть в таблице, приведённой ниже. Небольшое отличие X и Y в третьем знаке вызвано тем, что числа в матрице для расчёта (см. рисунок, правый верхний угол) округлены. Посмотрим на таблицу, обращая внимание на яркость тонов.

ТАБЛИЦА Цвета некоторых красок и цвета экрана монитора
 
    яркие тона    X     Y  яркость
17    11111     .328  .337  B=100  белый
   255 255 255  .333  .333  B=100
 
7     11100     .139  .254  B=41.6  синий яркий
    255 142 0   .152  .254  B=42.6

8     00111     .455  .524  B=93.4   жёлтый
     0 250 255  .453  .529  B=95.8
     0 255 255  .450  .532  B=97.2

   тёмные тона
1     10000     .155   0    B=0.1 фиолетовый
   255  0   0   .151  .023  B=2.8

2     00100     .145  .770  B=35.0  зелёный
    0  255  0   .157  .805  B=71.4 

3     00001     .684  .315  B=17.0  красный
    0  22  255  .683  .314  B=32.0
    0   0  255  .726  .274  B=25.9

9     10001     .417  .156  B=17.0  сиреневый тёмный
    228 12 255  .417  .156  B=31.7
    255  0 255  .408  .135  B=28.6   

16    01100     .130  .383  B=41.6  сине зелёный
    255 255 0   .153  .360  B=74.2

1~2   01000     .119  .104  B=6.7    синенький
    255 38 0    .151  .102  B=13.5

  Из таблицы видно, что цвета ярких тонов успешно воспроизводятся как монитором, так и красками во всей полноте их яркости.
  А вот насыщенные тона предметов и красок их изображающих, в реальности являясь темными, могут воспроизводиться монитором с нереальной яркостью, в 2 и более раз превосходя по яркости цвета окружающий нас мир.
  Это - неплохое свойство монитора, но оно может сбивать начинающего художника с правильного пути, принцип получения цвета на экране монитора отличен от получения цвета при смешении красок.
  О последнем в подробностях смотри предыдущую статью /1/.

   ВЫВОДЫ

   Система привязки цвета к 5-ти спектральным интервалам, с 17-ю основными цветами, является наиболее подходящей для обсуждения особенностей смешения красок и получения цвета в практических целях живописи.
   Другие цветовые системы, такие как CMYK или RGB /3/, имеющие отношение к полиграфии или к получению цвета на компьютерных мониторах, не позволяют в полной мере делать это.
   В упомянутых трёх системах используются разные принципы получения цвета. Система 5-ти спектральных интервалов успешно описывает смешение непрозрачных красок, система CMYK - смешение прозрачных красителей в принтерах и в полиграфии, частично её принципы могут быть применены к акварели. RGB система описывает получение цвета при смешении света источников разного спектрального состава. Этим они и различаются.

   ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ

   Через 4 года после публикации этой статьи, я сделал свой собственный редактор для художественного рисования, в котором палитра с 17-ю цветами как раз и является основным инструментом для выбора и изменения цвета - http://www.proza.ru/2019/06/14/1740
Инструмент этот оказался удобным.

===
Литература и ссылки

1. Предыдущая статья "Цвет" http://www.proza.ru/2015/12/03/2217

2. "Параметры современных ЖК мониторов"
 http://fcenter.ru/online/hardarticles/monitors/20214

3. "Что такое CMYK и RGB"
http://www.forwardprint.ru/useful/what-is-cmyk-and-rgb.php

4. Следующая статья "Палитра красок Разбираем картину на цвета"
http://www.proza.ru/2015/12/11/2209
======================
 ПРИЛОЖЕНИЕ Программы расчёта координат цвета

 Данные DATA в программах, представляющие элементы матрицы, получены из спектральных кривых x(л),y(л),z(л) цветовой системы CIE XY. В первой программе числа равны площадям под кривыми на каждом из 5-ти спектральных интервалов. Во второй программе брались значения x,y,z для длин волн л= 454, 530 и 640нм
====
Программа рассчитывает цвет краски по введённой строке из пяти нулей или единиц вида 00011.
==
'COLOR CIE для красок
DIM X(20),Y(20),Z(20)
2 DATA 9,8,7,40,39
  DATA 0,7,37,44,18
  DATA 49,52,4,0,0
  NORM=0
RESTORE 2
  FOR I=1 TO 5 : READ X(I) : NEXT I
  FOR I=1 TO 5 : READ Y(I) : NORM=NORM+Y(I) : NEXT I
  FOR I=1 TO 5 : READ Z(I) : NEXT I
OPEN "xy.txt" FOR OUTPUT AS #1
N=1
10 INPUT S$
  IF S$="" THEN CLOSE #1 : STOP
  IF LEN(S$)<5 THEN 10
  S=0 : SX=0 : SY=0 : SZ=0
  FOR I=1 TO 5
   IF MID$(S$,I,1)="1" THEN SX=SX+X(I) : SY=SY+Y(I) : SZ=SZ+Z(I)
  NEXT I
  S=SX+SY+SZ : B=CEIL(SY*1000/NORM)
  IF S=0 THEN PRINT "S=0" : GOTO 10
  SX=SX/S : SY=SY/S : SZ=SZ/S
  PRINT SX;SY;SZ;" B=";B
  PRINT #1,N;S$+" ";SX;SY;" B=";B
  N=N+1
GOTO 10
========
Программа рассчитывает цвет краски по введённой строке значений B G R
вида, например 0 128 255. Значения в строке разделяются пробелами.
Нормирующие множители подбираются таким образом, чтобы белый цвет имел координаты .333 .333, а яркость B имела значение 1000 для белого цвета.
==
'COLOR CIE для монитора
DIM X(20),Y(20),Z(20)
2 DATA 0.32, 0.17, 0.45
  DATA 0.05, 0.87, 0.17
  DATA 1.75, 0.04, 0
  K=.8204 : Kb=.675 : Kr=1.85 'нормирующие множители
RESTORE 2
  FOR I=1 TO 3 : READ X(I) : NEXT I
  FOR I=1 TO 3 : READ Y(I) : NEXT I
  FOR I=1 TO 3 : READ Z(I) : NEXT I
OPEN "xy.txt" FOR OUTPUT AS #1
N=1
10 INPUT S$
  IF S$="" THEN CLOSE #1 : STOP
  'IF LEN(S$)<11 THEN 10
  SX=0 : SY=0 : SZ=0 : S1$=S$ : I=0
12 I=I+1
   SELECT CASE I
     CASE 1 : KK=K*Kb
     CASE 2 : KK=K
     CASE 3 : KK=K*Kr
   END SELECT
   A=VAL(S1$)*KK : SX=SX+A*X(I) : SY=SY+A*Y(I) : SZ=SZ+A*Z(I)
   P=INSTR(S1$," ")
   IF P>0 THEN S1$=MID$(S1$,P+1) : IF I<3 THEN 12
   X=SX/255 : Y=SY/255 : Z=SZ/255 : B=Y : S=X+Y+Z
  B=CEIL(B*1000)
  IF S=0 THEN PRINT "S=0" : GOTO 10
  X=X/S : Y=Y/S : Z=Z/S
  PRINT X;Y;Z;" B=";B
  PRINT #1,S$+" ";X;Y;" B=";B
  N=N+1
GOTO 10
=======================


Рецензии