Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций по КГ.pdf
Скачиваний:
79
Добавлен:
11.05.2015
Размер:
2.2 Mб
Скачать

Министерство образования Республики Беларусь Учреждение образования

«Белорусский государственный университет информатики и радиоэлектроники»

Кафедра систем управления

Л.В. Русак, В.А. Калина, Н.А. Стасевич

КОМПЬЮТЕРНАЯ ГРАФИКА

Конспект лекций для студентов специальности

I – 53 01 07 «Информационные технологии и управление в технических системах» дневной формы обучения

Минск 2009

СОДЕРЖАНИЕ

 

I. ОСНОВНЫЕ ПОНЯТИЯ СОВРЕМЕННОЙ КОМПЬЮТЕРНОЙ ГРАФИКИ

............ 5

1.1. ФИЛОСОФИЯ РАЗВИТИЯ СРЕДСТВ ВИЗУАЛИЗАЦИИ ........................................................

5

1.2. ПОНЯТИЯ КОМПЬЮТЕРНОЙ ГРАФИКИ............................................................................

5

1.3. ОСНОВНЫЕ НАПРАВЛЕНИЯ СОВРЕМЕННОЙ КОМПЬЮТЕРНОЙ ГРАФИКИ ........................

8

КОНТРОЛЬ ЗНАНИЙ...............................................................................................................

9

II. АППАРАТНЫЕ УСТРОЙСТВА КОМПЬЮТЕРНОЙ ГРАФИКИ............................

10

2.1. УСТРОЙСТВА ВИДЕОВЫВОДА ......................................................................................

10

2.1.1. Видеоадаптеры........................................................................................................

10

2.1.1.1. История видеосистем персональных компьютеров ...........................................

10

2.1.1.2. Устройство видеоадаптера VGA .........................................................................

12

2.1.1.3. Видеоадаптеры SVGA .........................................................................................

17

2.1.1.4. Современные тенденции конструирования видеоадаптеров .............................

18

2.1.2. Мониторы................................................................................................................

19

2.1.3.Принтеры..................................................................................................................

28

2.1.4. Плоттеры .................................................................................................................

33

2.2. УСТРОЙСТВА ВВОДА ГРАФИЧЕСКОЙ ИНФОРМАЦИИ ....................................................

35

2.2.1. Мышь в графических режимах ..............................................................................

35

2.2.2. Тачпад и Трекпойнт ................................................................................................

35

2.2.3. Дигитайзеры............................................................................................................

36

2.2.4. Сканеры ...................................................................................................................

37

КОНТРОЛЬ ЗНАНИЙ.............................................................................................................

39

III. ЦИФРОВОЕ ИЗОБРАЖЕНИЕ...................................................................................

40

3.1. ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ...........................................................................................

40

3.2. ОСОБЕННОСТИ ЦВЕТОВОГО ЗРЕНИЯ ЧЕЛОВЕКА ...........................................................

42

3.3. ЦВЕТОВЫЕ МОДЕЛИ КОМПЬЮТЕРНОЙ ГРАФИКИ..........................................................

44

3.3.1. Аддитивные цветовые модели ...............................................................................

44

3.3.2 Субтрактивные цветовые модели ...........................................................................

45

3.3.3. Перцепционные цветовые модели. Модели CIE ...................................................

46

3.4. ЦВЕТ В ЦИФРОВОМ ИЗОБРАЖЕНИИ ..............................................................................

50

КОНТРОЛЬ ЗНАНИЙ.............................................................................................................

53

IV. РАСТРОВАЯ ГРАФИКА ...........................................................................................

54

4.1. ГЕОМЕТРИЧЕСКИЕ ХАРАКТЕРИСТИКИ РАСТРА .............................................................

54

4.2. МЕТОДЫ УЛУЧШЕНИЯ РАСТРОВЫХ ИЗОБРАЖЕНИЙ .....................................................

56

4.2.1. Устранение ступенчатого эффекта – антиалиасинг (antialiasing) .........................

56

2

4.2.2. Эмуляция оттенков цвета – дизеринг (dithering) ...................................................

57

4.3. АЛГОРИТМИЧЕСКИЕ ОСНОВЫ РАСТРОВОЙ ГРАФИКИ ...................................................

59

4.3.1. Поиск оптимального алгоритма рисования прямой..............................................

59

4.3.2. Инкрементный алгоритм Брезенхема (Bresenham) для прямой ...........................

61

4.3.3. Алгоритмы рисования окружности........................................................................

65

4.3.4. Заполнение многоугольников ................................................................................

69

4.3.4.1. Построчное заполнение .......................................................................................

70

4.3.4.2. Сортировка методом распределяющего подсчета..............................................

73

4.3.5. Отсечение отрезков.................................................................................................

74

4.3.5.1. Двумерный алгоритм Коэна-Сазерленда ............................................................

76

4.3.6. Отсечение многоугольника ....................................................................................

77

4.3.6.1. Алгоритм Сазерленда-Ходгмана ........................................................................

80

4.3.6.2. Алгоритм отсечения многоугольника Вейлера-Азертона .................................

81

4.4. ГРАФИЧЕСКИЕ ПАКЕТЫ ДЛЯ РАБОТЫ С РАСТРОВОЙ ГРАФИКОЙ...................................

84

КОНТРОЛЬ ЗНАНИЙ.............................................................................................................

86

V. ВЕКТОРНАЯ ГРАФИКА ............................................................................................

87

5.1. ВВЕДЕНИЕ В ВЕКТОРНУЮ ГРАФИКУ.............................................................................

87

5.2. ЭЛЕМЕНТЫ (ОБЪЕКТЫ) ВЕКТОРНОЙ ГРАФИКИ. ОБЪЕКТЫ И ИХ АТРИБУТЫ ..................

89

5.3. ЦВЕТ В ВЕКТОРНОЙ ГРАФИКЕ ......................................................................................

90

5.4. СТРУКТУРА ВЕКТОРНОЙ ИЛЛЮСТРАЦИИ .....................................................................

91

5.5. ПРИМЕНЕНИЕ ВЕКТОРНОЙ ГРАФИКИ ...........................................................................

91

5.6. ГРАФИЧЕСКИЕ ПАКЕТЫ ДЛЯ РАБОТЫ С РАСТРОВОЙ ГРАФИКОЙ...................................

94

КОНТРОЛЬ ЗНАНИЙ.............................................................................................................

96

VI. ТРЁХМЕРНАЯ ГРАФИКА ........................................................................................

97

6.1. ОСНОВНЫЕ ПОНЯТИЯ ТРЕХМЕРНОЙ ГРАФИКИ .............................................................

97

6.2. ВИДЫ СПЛАЙНОВ, ПРИМЕНЯЕМЫХ В КОМПЬЮТЕРНОЙ ГРАФИКЕ ..............................

101

6.3. ГЕОМЕТРИЧЕСКОЕ МОДЕЛИРОВАНИЕ ........................................................................

104

6.3.1. Элементы моделей ................................................................................................

105

6.3.2. Методы построения моделей................................................................................

106

6.4. ПОСТРОЕНИЕ ПРОЕКЦИЙ ПРОСТРАНСТВЕННЫХ ОБРАЗОВ ..........................................

113

6.5. АЛГОРИТМИЧЕСКИЕ ОСНОВЫ ТРЁХМЕРНОЙ ГРАФИКИ...............................................

120

6.5.1. Преобразования координат ..................................................................................

120

6.5.2. Параметрическое задание кривых на плоскости и в пространстве. Кривые Безье

.........................................................................................................................................

126

6.5.3. Удаление невидимых частей изображения. Закрашивание граней ....................

129

6.5.3.1 2D алгоритм Сазерленда-Кохена .......................................................................

129

3

6.5.3.2 3D алгоритм Робертса, алгоритм Варнока.........................................................

130

6.6. ФРАКТАЛЫ ................................................................................................................

133

КОНТРОЛЬ ЗНАНИЙ...........................................................................................................

135

VII. ФОРМАТЫ ГРАФИЧЕСКИХ ФАЙЛОВ...............................................................

137

7.1. ОСНОВНЫЕ ПОНЯТИЯ ................................................................................................

137

7.2. РАСТРОВЫЕ ФОРМАТЫ ФАЙЛОВ И АЛГОРИТМЫ СЖАТИЯ...........................................

137

7.2.1. Формат PCX и групповое кодирование ...............................................................

137

7.2.2. Формат BMP..........................................................................................................

141

7.2.3.Формат TGA (Targa) ..............................................................................................

144

7.2.4. Формат GIF............................................................................................................

146

7.2.5. Aлгоритм сжатия LZW для GIF ...........................................................................

150

7.2.6. Формат JPEG и алгоритм сжатия с потерями......................................................

152

7.2.7. Формат RAW для профессионального использования .......................................

156

7.2.8. Формат FIF и фрактальное сжатие.......................................................................

161

7.3. ВЕКТОРНЫЕ ФОРМАТЫ ФАЙЛОВ ................................................................................

163

КОНТРОЛЬ ЗНАНИЙ...........................................................................................................

165

4

I. ОСНОВНЫЕ ПОНЯТИЯ СОВРЕМЕННОЙ КОМПЬЮТЕРНОЙ ГРАФИКИ

1.1. Философия развития средств визуализации

Исторически всегда рядом существовали два способа представления графической информации, предназначенной для автоматической обработки(неоднократное воспроизведение, передача на расстояние). В одном случае изображение представлялось в виде набора точек разного цвета(размера, яркости). Исторические примеры – фототелеграф, телевидение. В другом случае графическая информация кодировалась перечислением операций и изобразительных средств, которыми эта картинка могла быть воспроизведена на удалённом устройстве визуализации (задание размера и типа линии, координат вершин и способов заливки фигур, и т.п.). Примеры: механические рисующие роботыигрушки XVII века, графопостроители (плоттеры).

Можно считать, что первые системы машинной графики появились вместе с первыми цифровыми компьютерами. Проект WHIRLWIND ("вихрь") Массачусетского технологического института был отмечен как начало эры компьютерной графики. WHIRLWIND стал основой создания опытного образца -ко мандно-управляемой системы воздушной защиты, разработанной как средство преобразования данных, полученных от радара, в наглядную форму. После появления первых электронных компьютеров машинная графика преимущественно связывалась с совершенствованием технических средств визуализации. Со-

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

1.2. Понятия компьютерной графики

Компьютерная графика (computer graphics) – генерация, представление, обработка и оценка изображений и элементов изображений с помощью вычислительной техники, манипулирование ими, а также установление связи между изображениями и информацией неграфической природы. Иными словами, компьютерная графика включает в себя обеспечение ввода, вывода хранения и преобразования графической информации под управлением компьютера.

5

Пиксель (pixel) минимальный элемент растровой строки, который может дискретно управляться графической системой. Пиксель в общем случае нельзя связывать с минимальным размером светящегося элемента дисплея или диаметром иглы принтера. Атрибутами пикселя являются только цвет(или яркость) и значения координат, используемые для определения его горизонтальной и вертикальной позиции в некоторой плоскости (например, плоскости изображения). При создании изображений для заливки поверхностей(граней) в качестве шаблона (маски) используют растровые изображения – текстуры (texture). Для описания дискретного элемента такой текстуры вводят понятиексель (texel). Сходное по смыслу понятие воксель (voxel –volume picture element) представляет собой элемент объёмного растра и используется в моделировании объёмных трёхмерных графических объектов.

Растровое изображение – изображение, сформированное в виде совокупности пикселей. В настоящее время это доминирующий способ результирующего представления графической информации(на растровых дисплеях и принтерах). Также используют близкое понятие битового массива (bitmap) – растр, который сохраняется в памяти или на диске. Особенность растрового изображения в том, что его размер в несжатом виде, а следовательно и скорость загрузки не зависят от сложности изображения. Преимуществом является простой, а значит и быстрый способ отображения битовой плоскости изображения на растровых устройствах визуализации. Недостаток такого изображения в том, что его нельзя произвольно масштабировать, так как при уменьшении возможно выпадение отдельных рядов пикселей, а увеличение приводит только к увеличению размеров пикселей. Растровый тип изображений удобен для хранения изобразительной графики, при этом для хранения растровых данных разработаны достаточно эффективные алгоритмы сжатия.

Векторное изображение – изображение, созданное с помощью отдельных линий, прямых или кривых. Качество векторной визуализации обуславливается точностью вывода (требуются устройства, поддерживающие векторную визуализацию: графопостроители или векторные дисплеи) и номенклатурой поддерживаемых базовых графических примитивов (линий, дуг, кривых, эллипсов)1.

1

Векторные устройства вывода в действительности являются в настоящее время редкостью. Даже в САПР широкоформатные плоттеры в настоящее время являются растровыми устройствами вывода, лишь эмулируя работу с векторной информацией. В большинстве случаев векторный характер графическая информация имеет на промежуточных стадиях работы с изображением, в то время как начальная и конечная стадии получают растровое представление.

6

Основное преимущество – удобство масштабирования, с возможностью проработки на одном изображении элементов с сильно различающимися размерами. Кроме того, преимущество векторной графики в том, что форма, пространственное положение и цвет объектов описывается с помощью математических формул. Это обеспечивает сравнительно небольшие размеры файлов изображений и независимость от разрешения печатающего устройства или монитора. Для воспроизведения векторного изображения обычно необходимо достаточно сложное программное обеспечение, понимающее и корректно исполняющее весь нетривиальный протокол рисующих команд, записанных в файле векторного графического формата.

Векторизация – преобразование растрового изображения в векторное. В большинстве случаев эта операция влечёт за собой потерю информации об отдельных элементах изображения, которые программа векторизации не умеет корректно описать (в большинстве случаев количество кривых минимизируется намеренно). Обратная операция соответственно – растеризация. Эта операция технически более простая, но при этом мы лишаемся возможности произвольного масштабирования созданного изображения.

Визуализация изображений – основная функция компьютерной графики (наряду с анализом и синтезом изображений). В случае синтеза изображений происходит переход информации неграфической природы(например, значение в регистре платы измерительного устройства) в графическую (график измеряемой этим устройством величины). При анализе изображений идёт преобразование графической информации (например, штрих-код товара) в неграфическую (информация о производителе и дате выпуска).

Обработка изображений – синоним редактирования изображений. При этом графическая природа информации не изменяется, меняются только характеристики изображения (яркость, чёткость, гладкость линий и т.д.). Обработка изображений относится к функции синтеза изображений, хотя и является непременным атрибутом программ анализа изображений(например, предварительная обработка отсканированного изображения перед его распознаванием).

Распознавание изображений – получение описания изображённых объектов. Цель распознавания может формулироваться по-разному– выделение отдельных элементов (например, букв текста на изображении документов или условных знаков на изображении географической карты) для их дальнейшей интерпретации человеком; классификация изображения, т.е. принятие определённого решения исходя из результатов анализа(работа системы самонаведения

7

межконтинентальной ракеты, установление персоны по анализу отпечатков пальцев). Распознавание изображений связано с функцией анализа изображений.

1.3. Основные направления современной компьютерной графики

Компьютерная графика стала основныминтерфейсом взаимодействия человека и компьютера. Все аспекты современной компьютерной графики(а в историческом срезе – машинной графики вообще) охватить практически невозможно. В современном обществе компьютерную графику можно представить себе как индустрию, в каждую из сторон своего развития включающую всё новые и новые финансовые, научные, производственные и человеческие ресурсы.

Рассмотрим лишь три условных среза многочисленных направлений компьютерной графики.

1.Изобразительная компьютерная графика.

связи: изобразительное искусство, дизайн;

задачи: создание высокохудожественных изображений(плоских или [квази]объёмных);

приоритетные направления: создание реалистичных трёхмерных изображений, редактирование видеоданных, Web-дизайн;

примеры программных средств: Adobe Photoshop (редактирование растровых изображений), Corel Draw (создание векторных изображений), Adobe Premiere (редактирование видеофильмов), Discreet 3D Studio MAX и Alias-

Wavefront Maya (создание

реалистичных

трёхмерных

изображений),

Macromedia Flash (создание интерактивной Web-графики);

рынок: создание видео- и кинопродукции, реклама и оформление различных видов.

2. Научная графика

связи: математика;

задачи: визуализация и обработка результатов измерений или моделиро-

вания;

приоритетное направление: когнитивная компьютерная графика2, геоинформационные системы;

2

Когнитивная – компьютерная графика для научных абстракций. Основная задача – создание таких моделей представления знаний, в которых можно было бы однообразно представлять как объекты, характерные для логического (символического, алгебраического) мышления, так и объекты, характерные для образного мышления

8