← Все публикации

Цвета: сложение с приколами и вектора на виду у всех

В базовой концепции RGB любой цвет можно представить как тройки чисел (r, g, b) — в пропорциях количество красного, зелёного и синего. Обычно берут интенсивность каждого "канала" целым числом от 0 до 255. И эти вектора можно складывать, чтобы получать новые цвета, по сути 256x256x256 вариантов цветов можно задать таким образом, это типа 16.7 миллионов комбинаций. За глаза хватит.

Хотя бинарная операция сложения цветов (то есть сложение двух цветов) происходит покомпонентно, из-за того что мы ограничиваем максимальное значение 255 в каждом из каналов (клэмпим), нам приходится эту операцию делать немного более эээ "осознанной", что ли. То есть так-то можно было бы попробовать построить эдакую цветовую группу, но попытка это сделать рассыпается тут: цвета — это скорее просто какое-то ограниченное (загнанное в куб с осями r,g,b) векторное пространство над целыми числами с нестандартной операцией сложения, и где отсутствуют обратные элементы (нельзя "вычесть" цвет, чтобы получить ноль). Наверняка если ещё добавить специальные слова, но я таких слов пока тут не говорил, поэтому и сейчас не буду

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

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

— Я вчера доказал теорему о сложении цветов
— И какой результат?
— Если сложить все цвета радуги, получится белый
— А я вчера эту теорему опроверг.
— Как?!
— Смешал все краски из детского набора. Получилось чёрное.

Этот же пост в Telegram ↗