Оглавление Дополнительное чтение Учебник «Компьютерная графика» Лекция 25. Аппроксимация света на модели Фонга Лекция 03. Аффинное проецирование

Часть III / Лекция 26. Модели цвета

Объект кажется нам цветным, если он отражает и пропускает свет в узком диапазоне длин волн и поглощает все остальные длины волн. Параметры цвета: тон, насыщенность, светлость.

Тон определяет различие цветов и связан с длиной волны l (рис. 26.1).

рис. 26.1

Насыщенность есть степень ослабленности данного цвета белым цветом (рис. 26.2).

рис. 26.2

Системы смешения цветов

RGB (красный, зеленый, синий — основные цвета) — аддитивная система (рис. 26.3), используется в излучающих поверхностях (светящиеся материалы, экраны мониторов). Белый цвет в этой системе является «абсолютно грязным цветом», так как он получается смешением красного, зеленого и синего цветов.

рис. 26.3

При смешении основных цветов системы RGB могут получаться дополнительные, например: зеленый + синий = голубой, зеленый + красный = желтый... Также нужно иметь в виду, что, например, полученный голубой цвет будет дополнительным к основному красному, и при этом голубой + красный = белый. Отсуда вытекает общая формула: <дополнительный цвет> + <основной цвет> = белый (справедливо и такое равенство: белый - <дополнительный цвет> = <основной цвет>).

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

рис. 26.4

Две системы взаимнооднозначны: голубой — красный, желтый — синий, пурпурный — зеленый. Цвета каждой пары взаимно дополняют друг друга. Это означает, что, скажем, пурпурный фильтр пропустит все цвета, кроме зеленого, желтый фильтр пропустит любой цвет, кроме синего и т. д. Как и в RGB-системе, справедлива формула: <дополнительный цвет> + <основной цвет> = белый.

Основные цвета и аддитивной, и субтрактивной системы можно получить, имея соответствующий набор светофильтров (рис. 26.5).

рис. 26.5

Любой цвет можно представить тройками чисел вида: (r, g, b); r, g и b характеризуют относительное количество потоков красного, зеленого и синего цветов и могут принимать любое значение в диапазоне от нуля до единицы.

На графике тройки чисел (r, g, b) являются координатами вектора, проведенного из начала координат:

рис. 26.6

Проецируя единичную плоскость, мы получим цветовой график (рис. 26.7). r' = r/(r + g + b), g' = g/(r + g + b), b' = b/(r + g + b), где r', g', b' — относительные веса компонент RGB. Следовательно, r' + g' + b' = 1 и b' = 1 - r' - g'; таким образом, с учетом двумерности и неодинаковой чувствительности в координатах XY, компоненту b' можно трактовать как яркость (интенсивность).

рис. 26.7

На рис. 26.8 изображен график МКО (МКО — Международная комиссия по освещению), на котором любой цвет, видимый глазом, кодируется как точка, лежащая внутри контура (100% чистые цвета лежат на контуре). Хотя этот график имеет необычную форму, им очень удобно пользоваться при практических рассчетах.

рис. 26.8

Числа x и y дают относительное количество трех основных цветов, а третьей координатой дополнительно может быть задана интенсивность (см. формулы выше). D — это опорный белый цвет для экрана монитора. Стопроцентно чистые цвета лежат на контуре графика. Опорный белый цвет имеет 0% чистоты, то есть полностью разбавлен. Найти чистоту цветов означает найти отношение а/(а + b), где а — расстояние от белого до цвета, b — от цвета до контура.

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

Смешение цветов

Пусть имееется два цвета: c1(x1, y1, Y1) и c2(x2, y2, Y2), где x1, y1 — координаты первого цвета на графике МКО, x2, y2 — координаты второго цвета на графике МКО, Y1, Y2 — интенсивность. Требуется смешать c1 и c2 и получить цвет c12(x12, y12, Y12). С этой целью используются следующие формулы:
x12 = (x1 * Y1/y1 + x2 * Y2/y2 )/(Y1/y1 + Y2/y2 ),
y12 = (y1 * Y1/y1 + y2 * Y2/y2 )/(Y1/y1 + Y2/y2 ),
Y12 = Y1 + Y2.

Пример: необходимо смешать три цвета c1(0.1, 0.3, 10), c2(0.35, 0.2, 10) и c3(0.2, 0.5, 10) (рис. 26.9).

рис. 26.9

Вначале смешиваем c1 и c2: с помощью формул находим x12, y12, Y12 — получаем c12(0.25, 0.24, 20). Далее смешиваем c12 и c3 и получаем окончательно цвет c123(0.24, 0.29, 30).

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

рис. 26.10

Дополнительное чтение

Цвет

Скачать Скачать Stratum-проект «График МКО» [mko.spj, 18 Кб]
Скачать Скачать Stratum-проект «Светофильтры» [filt.zip, 8 Кб]
Лекция 25. Аппроксимация света... Дополнительное чтение (оглавле...