Вопросы по калькулятору Линдблума

Статус
Закрыто для дальнейших ответов.

dom1n1k

Участник
Топикстартер
Сообщения
47
Реакции
2
Не могу понять: когда я выбираю Ref. white - он относится только к CIE-пространствам (первые 6 строчек) или же и к RGB тоже?

По всей логике, эта настройка НЕ распространяется на RGB. Потому что:
1. При смене RGB-пространства точка белого не меняется, подразумевая умолчальное значение (а вот гамма автоматически подстраивается).
2. Теряется смысл настройки хромадаптации. Если всё с одной точкой белого, то что там адаптировать?
3. Смотрел исходный код (хотя признаюсь, что досконально не изучал) и вроде бы из него тоже следует, что у RGB -пространств точка белого идёт независимо, какая по стандарту положена.

Однако же! Если я пляшу от CTT, то при разных Ref. white меняются также и RGB-координаты - хотя по логике не должны.

Это баг у Брюса или я что-то недопонимаю?

P.S. Подходящей темы не нашел, но если она уже существует - пусть модераторы склеят.
 

mihas

15 лет на форуме
Сообщения
4 860
Реакции
2 872
Если пляшете от CCT, то просто смотрим код - там функция ButtonCCT на кнопке CCT, в ней задается GetRefWhite и потом идет подсчет CCT2XYZ. И уж только потом подсчет XYZ2RGB. Так что по логике все верно. Из CCT не вычисляются RGB, они вычисляются из XYZ. Чтобы перейти от XYZ к RGB - и тому и другому надо назначить RefWhite. У линдблума в коде эти значения не равны по умолчанию для всех вариантов с хромадаптацией. Есть RefWhite и есть RefWhiteRGB. Это разные селекторы.
В принципе сделать так, чтобы в данном примере бралась белая точка из выбранного пространства RGBи для пространств CIE не сложно, но нужно ли - я не знаю. Никто не мешает выбрать соответствующий селектор RefWhite, так что ошибки нет. Пока я сталкивался только с тем, что при включенной и выключенной хромадаптации надо создавать соответствующие условия выбора RefWhite для XYZ и Lab. Такого выбора у Линдблума нет и в данном калькуляторе не нужно, так как в нем нет уровня спектров. А вот в ColorLab уровень спектров есть и как раз на этом месте там допущена грубая ошибка.
Есть более существенный недостаток названных вычислений из CCT - здесь не учитывается Tint, предполагается, что Tint равен нулю всегда, а это на практике часто не так (помните мы тут где-то затрагивали тему, что у Daylight и АЧТ разные xy и соответственно разный Tint относительно друг друга). Функцию вычисления Tint (кроме CCT) из координат XYZ я нарыл, а вот функции вычисления XYZ из CCT + Tint (не равного нулю) пока не разыскал. Встретите - постите в тему.
 

dom1n1k

Участник
Топикстартер
Сообщения
47
Реакции
2
Что такое tint в данном контексте?
 

dih

Участник
Сообщения
402
Реакции
29
в RGB пространствах R+G+B=White.
Тинт - это ось a в лабе - зеленый-фиолетовый
 

mihas

15 лет на форуме
Сообщения
4 860
Реакции
2 872
Что такое tint в данном контексте?
Цветовая температура определяет только одну из осей - условно от желтого к голубому. При этом есть и вторая ось от зеленого к розовому (пусть фиолетовому) которая называется Tint - отклонение от координат заданной кривой референсного белого - черного тела или дневного света. Если наши координаты xy лежат четко на этой кривой - тинт нулевой. На практике всегда есть отклонение.
 

dom1n1k

Участник
Топикстартер
Сообщения
47
Реакции
2
Расстояние до локуса температур черного тела?
 

mihas

15 лет на форуме
Сообщения
4 860
Реакции
2 872
Да. В одну сторону в минус расстояние в другую в плюс. здесь тинт отображается, но пока у меня нет формул от CCT + tint к цветовым координатам.
 
Статус
Закрыто для дальнейших ответов.