- •I. ОСНОВНЫЕ ПОНЯТИЯ СОВРЕМЕННОЙ КОМПЬЮТЕРНОЙ ГРАФИКИ
- •1.1. Философия развития средств визуализации
- •1.2. Понятия компьютерной графики
- •1.3. Основные направления современной компьютерной графики
- •Контроль знаний.
- •2.1. Устройства видеовывода
- •2.1.1. Видеоадаптеры
- •2.1.1.1. История видеосистем персональных компьютеров
- •2.1.1.2. Устройство видеоадаптера VGA
- •2.1.1.3. Видеоадаптеры SVGA
- •2.1.1.4. Современные тенденции конструирования видеоадаптеров
- •2.1.2. Мониторы
- •2.1.3.Принтеры
- •2.1.4. Плоттеры
- •2.2. Устройства ввода графической информации
- •2.2.1. Мышь в графических режимах
- •2.2.2. Тачпад и Трекпойнт
- •2.2.3. Дигитайзеры
- •2.2.4. Сканеры
- •Контроль знаний.
- •3.1. Основные определения
- •3.2. Особенности цветового зрения человека
- •3.3. Цветовые модели компьютерной графики
- •3.3.1. Аддитивные цветовые модели
- •3.3.2 Субтрактивные цветовые модели
- •3.3.3. Перцепционные цветовые модели. Модели CIE
- •Контроль знаний.
- •IV. РАСТРОВАЯ ГРАФИКА
- •4.1. Геометрические характеристики растра
- •4.2. Методы улучшения растровых изображений
- •4.2.1. Устранение ступенчатого эффекта – антиалиасинг (antialiasing)
- •4.2.2. Эмуляция оттенков цвета – дизеринг (dithering)
- •4.3. Алгоритмические основы растровой графики
- •4.3.1. Поиск оптимального алгоритма рисования прямой
- •4.3.2. Инкрементный алгоритм Брезенхема (Bresenham) для прямой
- •4.3.3. Алгоритмы рисования окружности
- •4.3.4. Заполнение многоугольников
- •4.3.4.1. Построчное заполнение
- •4.3.4.2. Сортировка методом распределяющего подсчета
- •4.3.5. Отсечение отрезков
- •4.3.5.1. Двумерный алгоритм Коэна-Сазерленда
- •4.3.6. Отсечение многоугольника
- •4.3.6.1. Алгоритм Сазерленда-Ходгмана
- •4.3.6.2. Алгоритм отсечения многоугольника Вейлера-Азертона
- •Контроль знаний.
- •5.1. Введение в векторную графику
- •5.2. Элементы (объекты) векторной графики. Объекты и их атрибуты
- •5.3. Цвет в векторной графике
- •5.4. Структура векторной иллюстрации
- •5.5. Применение векторной графики
- •5.6. Графические пакеты для работы с растровой графикой
- •Контроль знаний.
- •VI. ТРЁХМЕРНАЯ ГРАФИКА
- •6.1. Основные понятия трехмерной графики
- •6.3. Геометрическое моделирование
- •6.3.1. Элементы моделей
- •6.3.2. Методы построения моделей
- •6.4. Построение проекций пространственных образов
- •6.5. Алгоритмические основы трёхмерной графики
- •6.5.1. Преобразования координат
- •6.5.2. Параметрическое задание кривых на плоскости и в пространстве. Кривые Безье
- •6.5.3. Удаление невидимых частей изображения. Закрашивание граней
- •6.5.3.1 2D алгоритм Сазерленда-Кохена
- •6.5.3.2 3D алгоритм Робертса, алгоритм Варнока
- •6.6. Фракталы
- •Контроль знаний.
- •VII. ФОРМАТЫ ГРАФИЧЕСКИХ ФАЙЛОВ
- •7.1. Основные понятия
- •7.2. Растровые форматы файлов и алгоритмы сжатия
- •7.2.1. Формат PCX и групповое кодирование
- •7.2.2. Формат BMP
- •7.2.3.Формат TGA (Targa)
- •7.2.4. Формат GIF
- •7.2.5. Aлгоритм сжатия LZW для GIF
- •7.2.6. Формат JPEG и алгоритм сжатия с потерями
- •7.2.7. Формат RAW для профессионального использования
- •7.2.8. Формат FIF и фрактальное сжатие
- •Контроль знаний.
4.2. Методы улучшения растровых изображений
4.2.1. Устранение ступенчатого эффекта – антиалиасинг (antialiasing)
В растровых изображениях с невысокой разрешающей способностью при создании реалистичных изображений достаточно серьёзной является проблема ступенчатого эффекта (aliasing).
Представим растр в виде плотно прижатых друг к другу квадратных яче- ек-пикселей, каждая из которых имеет площадьS. Для того, чтобы растровое изображение линии выглядело более гладким, можно цвет угловых пикселей заменить на некоторый оттенок, промежуточный между цветом объекта и цветом фона. Будем вычислять цвет пропорционально части площади ячейки растра Sx , покрываемой идеальным контуром объекта. Формула для расчёта цвета такова:
|
Cx = |
C × Sx + C f × |
(S - Sx ) |
(4) |
|
|
|
|
, |
||
|
S |
|
|||
|
|
|
|
|
|
где C – одна из компонент цвета линии, |
|
|
|
||
C f |
– аналогичная компонента цвета фона. |
|
|
|
|
На |
рисунке 24 показано увеличенное |
растровое |
изображение толстой |
прямой линии с включенным эффектом антиалиасинга, на которое для сравнения наложен идеальный контур исходной линии.
Рисунок 24 – Прямая в растровой графике Формула (4) применяется ко всем трём компонентам цвета, например, в
палитре RGB.
Сглаживающие фильтры (smothing) – предназначены для обработки уже нарисованного изображения. Для сглаживания растровых изображений обычно используют алгоритмы цифровой фильтрации. Один из таких алгоритмов – локальная фильтрация. Она осуществляется путём взвешенного суммирования яркостей пикселей, расположенных в некоторой(квадратной) окрестности теку-
56
щего обрабатываемого пикселя (окошко, движущееся по растру). Базовую операцию такого фильтра можно представить так:
|
|
1 |
imax |
jmax |
|
|
Fx, y |
= |
å åPx+ j , y+i × M i-imin , j- jmin , |
(5) |
|||
|
||||||
|
|
k i=imin |
j= jmin |
|
где P – значение компоненты цвета текущего пикселя, F – новое значение цвета пикселя,
К – нормирующий коэффициент, М – двумерный массив коэффициентов, который определяет свойства
фильтра (обычно этот массив называют маской),
jmax - jmin +1 и imax - imin +1 – размеры окна фильтра по горизонтали и по вертикали сответственно.
Если в ходе обработки новые значение цвета пикселей записываются в исходный растр, то они вовлекаются в вычисления для очередных пикселей и такую фильтрацию называют рекурсивной.
При нерекурсивной фильтрации просчитываются только исходные значения компонент цвета пикселей.
Примеры масок M / K размера 3×3:
|
0 |
0 |
0 |
|
|
1 |
2 |
1 |
||||
1 |
|
0 |
1 |
1 |
, |
|
1 |
|
2 |
4 |
2 |
|
4 |
16 |
|||||||||||
0 |
1 |
1 |
|
1 |
2 |
1 |
Значение нормирующего коэффициента здесь выбрано равным сумме элементов маски. Этим обеспечивается сохранение масштаба яркости преобразованного растра. Фильтрация в модели RGB осуществляется по каждой компоненте цвета.
4.2.2. Эмуляция оттенков цвета – дизеринг (dithering)
Если графическое устройство не способно воссоздавать достаточное -ко личество цветов, тогда используют растрирование – независимо от того, растровое это устройство или нет (как например в полиграфии). Известно, что если смотреть на разноцветные точки с размерами меньше разрешающей способности глаза, то их цвет воспринимается как усреднённый цвет пикселя, создаваемого этими точками (телевидение).
57
Обычно для дизеринга используют квадратные ячейки размером2×2 (5 градаций цвета для двухцветного изображения), 3×3 (10 градаций, см. рисунок
25) и 5х5 (26 градаций). Для ячейки с размерами n ´ n можно получить n2 +1 различных градаций.
Рисунок 25 – Ячейки 3×3
Расчёт цвета, соответствующего одной из комбинаций пикселей в ячейке
площадью S, имеющих только цвета C1 и C2 , проводится так: |
|
|||
C = |
C1 × S1 + C2 × S2 |
|
(6) |
|
S |
||||
|
|
|||
где S1 и S2 – части площади, занятые пикселями цветов C1 |
и C2 соответ- |
|||
ственно. |
|
Если ячейку представить в виде плотно прижатых квадратных пикселей, то от площадей легко перейдём к количеству пикселей соответствующего цвета в ячейке:
C = |
C1 ×m1 + C2 ×m2 |
(7) |
|
m1 + m2 |
|||
|
|
где m1 + m2 = n2 .
Можно считать, что ячейки размером n ´ n образовывают растр с разрешающей способностью в n раз меньшей, чем у исходного растра, а глубина цвета возрастает пропорционально n2 .
В случае вышеприведенного растра на изображении видна достаточно чёткая «квадратная» структура. Для улучшения восприятия можно использовать диагональное расположение ячеек, сдвигая чётные строки ячеек или записывая структуру в квадратные ячейки по примеру ( см. рисунок 26).
58