Как известно, высшие приматы воспринимают цвет своими палочками и колбочками немного не так, как он объективно существует в природе (в виде электромагнитных волн разной длины): синий при той же мощности излучения кажется менее ярким, чем зелёный; восприятие длин волн на краях видимого спектра имеет корреляции; помимо трихроматов, изредка встречаются дихроматы и тетрахроматы и т.д.
Это создаёт спрос на субъективные (перцептивные) модели цвета, в дополнение к объективной RGB.
Björn Ottosson в своём блоге рассматривает новую перцептивную цветовую модель — Oklab (как альтернативу HSV):
https://bottosson.github.io/posts/oklab/
Зачем?
Ну, во-первых, чтобы убрать эти ужасно выглядящие "яркостные занавески" в color picker'ах:
Было:

Стало:

Во-вторых, чтобы в градиентах между белым и синим не было розового цвета, а в градиентах между красным и зелёным не было провала в яркости:


Перцептивная цветовая модель Oklab, помимо color picker'ов, полезна там, где нужен цветовой ряд с меняющимися оттенками, но с постоянной яркостью и насыщенностью (например, для раскраски нескольких кривых на одном графике, чтобы их яркость или сероватость не шли вразнобой).
Преобразование между RGB и Oklab имеет простую алгебраическую структуру: оно делается путём умножения на постоянную матрицу, покомпонентного возведения в куб (или покомпонентного извлечения кубического корня) и затем ещё одного умножения на постоянную матрицу.
Обзор и критика Oklab (в целом, позитивные):
https://raphlinus.github.io/color/2021/01/18/oklab-critique.html
Немного поработав с Oklab в своём софте, я заметил, что полярные координаты (lightness, chroma, hue) удобнее линейных (lightness, a, b).
Также полезна функция вычисления предельной насыщенности для заданной яркости и оттенка (цвета, слишком далеко ушедшие от серого, не представимы в RGB, а предельная насыщенность может быть найдена бинарным поиском по критерию этой самой представимости в RGB).
Этот график построен для постоянной яркости 0.75, по оси X — оттенок, по оси Y — насыщенность:

В целом Oklab очень хорошо соответствует своей цели — позволяет без смещения оттенка легко подбирать цвета с другой яркостью и насыщенностью; или при фиксированной яркости и насыщенности варьировать оттенком; а ещё обеспечивает перцептивно-корректное смешивание цветов (например, в градиентах, а также как альтернатива гамма-коррекции при alpha blending'е и т.д.)
Это создаёт спрос на субъективные (перцептивные) модели цвета, в дополнение к объективной RGB.
Björn Ottosson в своём блоге рассматривает новую перцептивную цветовую модель — Oklab (как альтернативу HSV):
https://bottosson.github.io/posts/oklab/
Зачем?
Ну, во-первых, чтобы убрать эти ужасно выглядящие "яркостные занавески" в color picker'ах:
Было:

Стало:

Во-вторых, чтобы в градиентах между белым и синим не было розового цвета, а в градиентах между красным и зелёным не было провала в яркости:


Перцептивная цветовая модель Oklab, помимо color picker'ов, полезна там, где нужен цветовой ряд с меняющимися оттенками, но с постоянной яркостью и насыщенностью (например, для раскраски нескольких кривых на одном графике, чтобы их яркость или сероватость не шли вразнобой).
Преобразование между RGB и Oklab имеет простую алгебраическую структуру: оно делается путём умножения на постоянную матрицу, покомпонентного возведения в куб (или покомпонентного извлечения кубического корня) и затем ещё одного умножения на постоянную матрицу.
Обзор и критика Oklab (в целом, позитивные):
https://raphlinus.github.io/color/2021/01/18/oklab-critique.html
Немного поработав с Oklab в своём софте, я заметил, что полярные координаты (lightness, chroma, hue) удобнее линейных (lightness, a, b).
Также полезна функция вычисления предельной насыщенности для заданной яркости и оттенка (цвета, слишком далеко ушедшие от серого, не представимы в RGB, а предельная насыщенность может быть найдена бинарным поиском по критерию этой самой представимости в RGB).
Этот график построен для постоянной яркости 0.75, по оси X — оттенок, по оси Y — насыщенность:

В целом Oklab очень хорошо соответствует своей цели — позволяет без смещения оттенка легко подбирать цвета с другой яркостью и насыщенностью; или при фиксированной яркости и насыщенности варьировать оттенком; а ещё обеспечивает перцептивно-корректное смешивание цветов (например, в градиентах, а также как альтернатива гамма-коррекции при alpha blending'е и т.д.)