
- •Монохроматическое излучение?
- •Три атрибута цвета?
- •Что такое цветовой тон?
- •Основные законы колориметрии?
- •Аддитивная цветовая модель rgb?
- •Пропорции смешения цветов и их трехмерное представление?
- •Трехцветные коэффициенты смешивания rgb?
- •Недостатки и достоинства rgb?
- •Цветовая модель cmy?
- •Цветовая модель hsv?
- •Особенности монохромных моделей?
- •Компонентное кодирование цветов. Палитра?
- •Особенности цветопередачи в полиграфии?
- •Понятие дизеринга?
- •Простейший дизеринг?
- •Определение количества градаций цвета?
- •Формула цвета для двух компонент в зависимости от размера ячейки?
- •Линиатура растра?
- •Реализация дизеринга в графической системе?
- •Диагональные растры?
- •Частотная модуляция?
- •Записать в общем виде выражение аффинного преобразование координат?
- •Какие преобразования включают аффинные?
- •Записать в общем виде выражение для поворота угла ?
- •Записать в матричном виде аффинные преобразования?
- •Что такое однородные координаты?
- •Показать вид матрицы вращения в однородных координатах?
- •Показать вид матрицы растяжения-сжатия и отражения вокруг оси Оу в однородных координатах?
- •Показать вид матрицы переноса в однородных координатах?
- •Выписать в матричном виде преобразование для поворота вокруг произвольной точки на угол и указать, что означает каждая из матриц?
- •Выписать вид матриц для вращения в пространстве?
- •Указать, в чем состоит смысл проектирования?
- •Какая проекция называется ортографической?
- •Какая проекция называется аксонометрической?
- •Какая проекция называется изометрической?
- •Какая проекция называется косоугольной?
- •Какая проекция называется кабинетной?
- •Выписать матрицы проектирования вдоль координатных осей?
- •Какую информацию нужно задать для проективного преобразования пространственного объекта?
- •Привести вид матрицы проектирования для косоугольной проекции?
- •Выписать вид матрицы проектирования в однородных координатах и докажите, что она осуществляет проектирование в двумерные координаты?
- •Понятие соседей и связности?
- •Принцип работы четырехсвязного алгоритма Брезенхэма?
- •Принцип работы восьмисвязного алгоритма Брезенхэма?
- •Пример восьмисьмисвязного алгоритма?
- •Построение окружности?
- •Построение эллипса?
- •Р ис.6.4.Четверть эллипса с касательной и нормалью
- •Кривая Безье?
- •Геометрический алгоритм?
- •Задача вывода фигур?
- •Простейший алгоритм закрашивания?
- •Волновой алгоритм закрашивания?
- •Алгоритм закрашивания линиями?
- •Заполнение прямоугольника и круга?
- •Заполнение полигонов?
- •Учет вершин полигона?
- •Ускорение работы алгоритма?
- •Аналитическая модель описания поверхности?
- •Аппроксимация сплайна?
- •Кубический сплайн?
- •Векторная полигональная модель?
- •Первый способ описания структур данных в векторной модели?
- •Второй и третий способы описания структур данных в векторной модели?
- •Достоинства и недостатки векторной модели?
- •Воксельная модель?
- •Отражение света?
- •Закон Снеллиуса?
- •Диффузное преломление и отражение?
- •Распределение энергии при отражении?
- •Распределение энергии при преломлении?
- •Описание поверхности, состоящей из случайно ориентированных микрограней?
- •Преломление света поверхностью, состоящей из микрозеркал?
- •Моделирование общего случая освещенности?
- •Задача удаления невидимых линий и поверхностей?
- •Общие характеристики методов удаления невидимых линий и поверхностей?
- •Типы когерентности?
- •Линии горизонта?
- •Методы плавающего горизонта?
- •Сортировка граней по глубине?
- •Метод z-буфера?
- •Эвристические концепции невидимости?
- •Отличие и сходство видимости в сценах для выпуклых и невыпуклых фигур?
- •Постановка задачи удаления невидимых граней выпуклого многогранника?
- •Алгоритм удаления невидимых граней выпуклого многогранника?
- •Количественная невидимость?
- •Общие свойства функции количественной невидимости?
- •Свойство функции количественной невидимости в особых точках?
Особенности монохромных моделей?
Рассмотрим цветовую модель, в которой цвет задается одним числом, но уже для ограниченного диапазона цветов (оттенков).
На практике часто используются черно-белые (серые) полутоновые изображения. Серые цвета в модели RGB описываются одинаковыми значениями компонентов, то есть ri = gi = bi. Таким образом, для серых изображений нет необходимости использовать тройки чисел – достаточно и одного числа. Это позволяет упростить цветовую модель. Каждая градация определяется яркостью Y. Значение Y = 0 соответствует черному цвету, максимальное значение Y – белому.
В качестве примера рассмотрим преобразование цветных изображений, представленных в системе RGB, в градации серого (подобно тому, как показываются цветные фильмы на черно-белом экране телевизора). Для этого можно воспользоваться соотношением
где коэффициенты при R, G и В учитывают различную чувствительность зрения к соответствующим цветам и, кроме того, их сумма равна единице. Очевидно, что обратное преобразование R = Y, G = Y, B = Y не даст никаких других цветов, кроме градаций серого.
Разнообразие моделей обусловлено различными областями их использования. Каждая из цветовых моделей была разработана для эффективного выполнения отдельных операций: ввода изображений, визуализации на экране, печати на бумаге, обработки изображений, сохранения в файлах, колориметрических расчетов и измерений. Преобразование одной модели в другую может привести к искажению цветов изображения.
Для того чтобы компьютер имел возможность работать с цветными изображениями, необходимо представлять цвета в виде чисел– кодировать цвет. Способ кодирования зависит от цветовой модели и формата числовых данных в компьютере.
Компонентное кодирование цветов. Палитра?
Для модели RGB каждая из компонент может представляться числами, ограниченными некоторым диапазоном – например, дробными числами от 0 до 1 либо целыми числами от 0 до некоторого максимального значения. В настоящее время достаточно распространенным является формат True Color, в котором каждая компонента представлена в виде байта, что дает 256 градаций для каждой компоненты (0 – 255). Количество цветов при этом составляет 256 х 256 х 256 = 16.7 млн (224).
Такой способ кодирования цветов можно назвать компонентным. В компьютере коды изображений True Color представляются в виде троек байтов, либо упаковываются в длинное целое (четырехбайтное) – 32 бита (так, не пример, сделано в API Windows):
При работе с изображениями в системах компьютерной графики часто приходится искать компромисс между качеством изображения (требуется как можно больше цветов) и ресурсами, необходимыми для хранения и воспроизведения изображения, исчисляемыми, например, объемом памяти (надо уменьшать количество бит на пиксел).
Кроме того, некоторое изображение само по себе может использовать ограниченное количество цветов. Например, для черчения может быть достаточно двух цветов, для человеческого лица важны оттенки розового, желтого, пурпурного, красного, зеленого; а для неба – оттенки голубого и серого. В этих случаях использование полноцветного кодирования цвета является избыточным.
При ограничении количества цветов используют палитру, представляющую набор цветов, важных для данного изображения. Палитру можно воспринимать как таблицу цветов. Палитра устанавливает взаимосвязь между кодом цвета и его компонентами в выбранной цветовой модели.
В качестве примера дадим стандартную палитру дисплейных 16-цветных видеорежимов EGA, VGA (табл. 1.).
Таблица 1.3
Код цвета |
R |
G |
В |
Название цвета |
0 |
0 |
0 |
0 |
Черный |
1 |
128 |
0 |
0 |
Темно-красный |
2 |
0 |
128 |
0 |
Зеленый |
3 |
128 |
128 |
0 |
Коричнево-зеленый |
4 |
0 |
0 |
128 |
Темно-синий |
5 |
128 |
0 |
128 |
Темно-пурпурный |
6 |
0 |
128 |
128 |
Сине-зеленый |
7 |
128 |
128 |
128 |
Серый 50% |
8 |
192 |
192 |
192 |
Серый 25% |
9 |
255 |
0 |
0 |
Красный |
10 |
0 |
255 |
0 |
Ярко-зеленый |
11 |
255 |
255 |
0 |
Желтый |
12 |
0 |
0 |
255 |
Синий |
13 |
255 |
0 |
255 |
Пурпурный |
14 |
0 |
255 |
255 |
Голубой |
15 |
255 |
255 |
255 |
Белый |
Недостатком такой палитры можно считать отсутствие одного из важных цветов – оранжевого. Существуют также иные стандартные палитры, например, 256-цветная для VGA. Компьютерные видеосистемы обычно предоставляют возможность программисту установить собственную палитру.
Каждый цвет изображения, использующего палитру, кодируется индексом, который будет определять номер строки в таблице палитры. Поэтому такой способ кодирования цвета называют индексным.