Министерство образования и науки Российской Федерации
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Т. О. Перемитина
КОМПЬЮТЕРНАЯ ГРАФИКА
Учебное пособие
Томск
«Эль Контент»
2012
УДК 004. 92(075. 8)
ББК 32. 973. 26-018. 2я73
П 270
Рецензенты:
Тарасенко В. Ф. , докт. тexн. наук, профессор кафедры теоретической
кибернетики факультета прикладной математики и кибернетики Томского
государственного университета;
Сенченко П. В. , канд. техн. наук, декан факультета систем управления, доцент
кафедры автоматизации обработки информации ТУСУР. Перемитина Т. О. П 270 Компьютерная графика : учебное пособие / Т. О. Перемитина. — Томск :
Эль Контент, 2012. — 144 с. ISBN 978-5-4332-0077-7
В учебном пособии рассматриваются методы и алгоритмы современной
компьютерной графики, излагаются основы прикладной компьютерной гра-
фики, приводятся наиболее важные термины и определения в области ком-
пьютерной графики. Технические вопросы снабжены комментариями и ил-
люстрациями. Пособие предназначено для самостоятельной работы студен-
тов при изучении дисциплины «Компьютерная графика». УДК 004. 92(075. 8)
ББК 32. 973. 26-018. 2я73
ISBN 978-5-4332-0077-7 © Перемитина Т. О. , 2012
© Оформление. ООО «Эль Контент», 2012
ОГЛАВЛЕНИЕ
Введение 6
1 Основные понятия компьютерной графики 9
1. 1 Определение и задачи компьютерной графики . . . . . . . . . . . . . . 9
1. 2 История развития и области применения компьютерной графики . . 11
1. 3 Графическая система . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1. 3. 1 Ядро графической системы . . . . . . . . . . . . . . . . . . . . . 15
1. 3. 2 Пользователи графических систем . . . . . . . . . . . . . . . . . 16
1. 4 Методы представления графической информации . . . . . . . . . . . . 17
1. 4. 1 Растровая графика . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1. 4. 2 Векторная графика . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1. 4. 3 Фрактальная графика . . . . . . . . . . . . . . . . . . . . . . . . . 19
1. 5 Форматы файлов графики . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1. 6 Цветовые модели . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1. 6. 1 Цветовая модель RGB . . . . . . . . . . . . . . . . . . . . . . . . . 23
1. 6. 2 Цветовая модель CMYK . . . . . . . . . . . . . . . . . . . . . . . 25
1. 6. 3 Цветовая модель HSB . . . . . . . . . . . . . . . . . . . . . . . . . 25
2 Математические основы компьютерной графики 27
2. 1 Геометрическое моделирование . . . . . . . . . . . . . . . . . . . . . . . 27
2. 1. 1 Геометрическое определение базовых типов . . . . . . . . . . . 28
2. 1. 2 Математическое определение базовых типов . . . . . .
. . . . 29
2. 2 Координатный метод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2. 2. 1 Системы координат . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2. 2. 2 Преобразования координат . . . . . . . . . . . . . . . . . . . . . . 33
2. 3 Аффинные преобразования . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2. 3. 1 Двумерные аффинные преобразования . . . . . . . . . . . . . . 36
2. 3. 2 Аффинные преобразования в пространстве . . . . . . . . . . . 42
3 Базовые вычислительные и растровые алгоритмы 47
3. 1 Область визуализации и функция кадрирования . . . . . . . . . . . . . 47
3. 2 Отсечение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3. 2. 1 Двумерный алгоритм Коэна—Сазерленда . . . . . . . . . . . . . 49
3. 2. 2 Алгоритм Лианга—Барского . . . . . . . . . . . . . . . . . . . . . 51
3. 3 Операции с изображением на уровне растра . . . . . . . . . . . . . . . 53
3. 3. 1 Алгоритм вывода прямой линии . . . . . . . . . . . . . . . . . . 55
3. 3. 2 Прямое вычисление координат . . . . . . . . . . . . . . . . . . . 55
3. 4 Инкрементные алгоритмы . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4 Оглавление
3. 5 Алгоритмы вывода фигур . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3. 6 Заполнение сплошных областей . . . . . . . . . . . . . . . . . . . . . . . 57
3. 6. 1 Тест принадлежности точки многоугольнику . . . . . . . . . . 58
3. 6. 2 Заполнение многоугольников . . . . . . . . . . . . . . . . . . . . 59
3. 6. 3 Стиль заполнения.