- •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 и фрактальное сжатие
- •Контроль знаний.
Далее может идти каталог разработчика для специфических приложений данных и область расширения, содержащая набор полей, описывающих изображение различными способами. Отсутствие за видеоданными дополнительной информации не является ошибкой и правильно распознается всеми приложениями как ранняя версия формата.
Особенности RLE для формата Targa.
Каждая строка сжимается отдельно, конец строки безусловен для алгоритма сжатия.
В сжатых кодах первым идет управляющий байт: старший бит управляющего байта сообщает тип следующей за ним группы. Если он
равен 1, то следующий за ним байтповторяемый, количество повторений определяется значением всех остальных битов управляющего байта+ 1. Если старший бит = 0, то следующая за управляющим группа байтов не подвергалась преобразованию, при этом длина этой группы определяется значением всех остальных битов управляющего байта+1. Пример: последовательность (шеснадцатеричные числа): 03h 12h 24h 33h
после обработки превратится в набор байтов12h 24h 33h 12h, а последо-
вательность 84h 03h - в набор 03h 03h 03h 03h 03h.
7.2.4. Формат GIF
Формат GIF (Graphics Interchange Format, Формат Взаимообмена Гра-
фикой). Преимущественное использование GIF23 – передача графических данных в режиме«онлайн» по компьютерным сетям. Эксклюзивный владелец –
CompuServe Incorporated. Основной формат GIF89a (стандарт 1990 года). Отли-
чительные особенности: использование эффективного алгоритма LZW для сжатия (см. далее), возможность сохранять как статические одиночные, так и анимированные изображения, наличие удобных средств наложения изображений, наличие альфа-канала для отдельных цветов, использование текстовых и специальных блоков расширения в файле. Достаточно прост для реализации и хорошо документирован. Преимущество для сетевых технологий
– чересстрочный способ кодирования изображений, позволяющий сначала быстро создать грубое изображение и, затем, по мере подхода новых информационных пакетов, уточнять го. Основное ограничение формата связано с невозможностью сохранять более 256 цветов, в силу чего использовать его в системах компьютерного дизайна не рекомендуется.
23
Читается [‘jif]
146
Идентификатор – шесть символов Блок изображения GIF89a или GIF87a. Завершитель файла – символ; Дескриптор экрана – обязательный блок, имеющий структуру, указанную на рисунке 72.
Глобальная палитра присутствует, если об этом указано в дескрипторе
экрана, при этом в палитре последовательно идутR, G и B байты начиная с число бит на пиксель нулевого цвета. Количество троек байтов равно 2число бит
на пиксель.
Блок изображения хранит растровые данные. В одном файле может быть несколько блоков изображения, и соответственно несколько изображений.
Рисунок 71– Общая структура файла формата GIF
Рисунок 72 – Дескриптор экрана Идентификатором блока изображения является символ. Завершителем
блока является нулевой байт. Структура дескриптора изображения представлена на рисунке 73.
147
Рисунок 73 – Структура дескриптора изображения Локальная палитра строится по тем же правилам, что и глобальная. Число
бит на пиксель в дескрипторе изображения определяет количество элементов в локальной палитре. Размер кода LZW указывает максимальное число битов, необходимое для представления декодированных данных. Как правило, оно совпадает с числом битов на пиксель. Структура блока кодов изображения приведена на рисунке 74.
Рисунок 74 – Блок кодов изображения
Способ записи графических данных перед процедурой кодирования(см. табл.) имеет два варианта: (1) линейный – пиксели записываются по строкам изображения слева направо сверху вниз; (2) чересстрочный – в четыре прохода, при этом последовательность вывода строк определяется согласно рисунку 75.
148
Рисунок 75 – Информационный блок GIF
Информационный блок GIF (см. рисунок 75) содержит в общем случае данные произвольной структуры и несёт дополнительную функцию обработки присутствующих в файле изображений(например, описание эффектов анимации) или текстовый комментарий. Структура блока приведена на рисунке76.
Идентификатором блока является символ !. Завершитель блока – нулевой байт.
Функциональный код – байт, значения которого от 0 до 255 дают специальную трактовку для обработчика функциональных блоков, следующих за ним. Функциональный блок устроен так же, как и блок кодов изображения (рисунке 74).
Рисунок 76 – Структура блок расширения GIF
Декодер формата обязан правильно читать функциональный блок, даже если он не знает, как его обрабатывать. Это важно, так как информационные блоки и блоки изображения в файле могут чередоваться.
149