Введение

Глава 1. Введение в компьютерную графику

1.1. Что такое компьютерная графика?
1.2. Где используются изображения, создаваемые компьютером
1.3. Элементы изображений, создаваемых в компьютерной графике
1.4. Графические устройства отображения
1.5. Входные графические примитивы и устройства
1.6. Заключение
1.7. Дополнительная литература

Глава 2. Начальная стадия: рисование фигур

2.1. Начальная стадия создания изображения
2.2. Рисование основных графических примитивов
2.3. Создание рисунков из линий
2.4. Простое взаимодействие с помощью мыши и клавиатуры
2.5. Резюме
2.6. Тематические задания
2.7. Дополнительная литература

Глава 3. Дополнительные инструменты для рисования

3.1. Введение
3.2. Мировые окна и порты просмотра
3.3. Отсечение линий
3.4. Разработка класса Canvas
3.5. Относительное рисование
3.6. Фигуры на основе правильных многоугольников
3.7. Рисование окружностей и дуг
3.8. Применение параметрического задания кривой
3.9. Резюме
3.10. Тематические задания
3.11. Дополнительная литература

Глава 4. Векторные инструменты для графики

4.1. Введение
4.2. Обзор векторов
4.3. Скалярное произведение
4.4. Векторное произведение двух векторов
4.5. Отображение ключевых геометрических объектов
4.6. Определение точки пересечения двух отрезков прямой
4.7. Пересечения прямых с плоскостями; отсечение
4.8. Задачи о пересечениях многоугольников
4.9. Резюме
4.10. Тематические задания
4.11. Дополнительная литература

Глава 5. Преобразования объектов

5.1. Введение
5.2. Введение в преобразования
5.3. Трехмерные аффинные преобразования
5.4. Изменения систем координат
5.5. Использование аффинных преобразований в программах
5.6. Рисование трехмерных сцен с применением OpenGL
5.7. Резюме
5.8. Тематические задания
5.9. Дополнительная литература

Глава 6. Моделирование поверхностей полигональными сетками

6.1. Введение
6.2. Введение в трехмерное моделирование полигональными сетками
6.3. Многогранники
6.4. Экструзивные формы
6.5. Каркасные аппроксимации гладких объектов
6.6. Заключение
6.7. Тематические задания
6.8. Дополнительная литература

Глава 7. Трехмерный просмотр

7.1. Введение
7.2. Снова о камере
7.3. Встраивание камеры в программу
7.4. Перспективные проекции трехмерных объектов
7.5. Создание стереоизображений
7.6. Классификация проекций
7.7. Резюме
7.8. Тематические задания
7.9. Дополнительная литература

Глава 8. Визуализация граней для усиления реалистичности

8.1. Введение
8.2. Введение в модели закрашивания
8.3. Плоское и плавное закрашивание
8.4. Удаление невидимых поверхностей
8.5. Добавление текстуры к граням
8.6. Добавление теней объектов
8.7. Заключение
8.8. Тематические задания
8.9. Дополнительная литература

Глава 9. Приближение к бесконечности

9.1. Введение
9.2. Фракталы и самоподобие
9.3. Создание строк и кривые Пеано
9.4. Замощение плоскости
9.5. Создание изображений с использованием системы итерируемых функций
9.6. Множество Мандельброта
9.7. Множества Жюлиа
9.8. Случайные фракталы
9.9. Резюме
9.10. Тематические задания
9.11. Дополнительная литература

Глава 10. Средства для растровой графики

10.1. Введение
10.2. Управление пиксельными картами
10.3. Объединение пиксельных карт
10.4. Рисование прямых своими силами: алгоритм Брезенхема
10.5. Определение и заполнение областей из пикселов
10.6. Манипулирование символически-определенными областями
10.7. Заполнение полигонально-определенных областей
10.8. Ступенчатость; технологии сглаживания
10.9. Увеличение количества цветов и оттенков
10.10. Резюме
10.11. Тематические задания
10.12. Дополнительная литература

Глава 11. Создание кривых и поверхностей

11.1. Введение
11.2. Описание кривых полиномами
11.3. Интерактивное конструирование кривых
11.4. Применение кривых Безье для построения кривых
11.5. Свойства кривых Безье
11.6. Нахождение лучших стыковочных функций
11.7. Базисные функции В-сплайнов
11.8. Полезные для дизайна свойства B-сплайн кривых
11.9. Рациональные сплайны и NURBS-кривые
11.10. Краткое знакомство с интерполяцией
11.11. Моделирование криволинейных поверхностей
11.12. Резюме
11.13. Тематические задания
11.14. Дополнительная литература

Глава 12. Теория цвета

12.1. Введение
12.2. Описания цветов
12.3. Международная комиссия по стандартам освещенности
12.4. Цветовые пространства
12.5. Квантование цвета
12.6. Резюме
12.7. Тематические задания
12.8. Дополнительная литература

Глава 13. Удаление невидимых поверхностей

13.1. Введение
13.2. Снова об алгоритме буфера глубины
13.3. HSR-методы со списками приоритетов
13.4. HSR-метод построчного сканирования
13.5. Методы разбиения области
13.6. О методах удаления невидимых линий
13.7. HSR-методы для криволинейных поверхностей
13.8. Резюме
13.9. Тематические задания
13.10. Дополнительная литература

Глава 14. Введение в трассировку лучей

14.1. Введение
14.2. Построение геометрии трассировки лучей
14.3. Обзор процесса трассировки луча
14.4. Пересечение луча с объектом
14.5. Организация трассировщика луча в приложении
14.6. Пересечение лучей с другими примитивами
14.7. Рисование закрашенных изображений сцен
14.8. Наложение текстуры на поверхности
14.9. Использование экстентов
14.10. Добавление теней для большей реалистичности
14.11. Отражения и прозрачность
14.12. Составные объекты: логические операции с объектами
14.13. Резюме
14.14. Тематические задания
14.15. Дополнительная литература

Приложение А. Графический инструментарий: получение OpenGL
А1. Получение и инсталляция OpenGL

Приложение Б. Немного математики для компьютерной графики
Б1. Некоторые основные определения, относящиеся к матрицам и операциям над ними
Б2. Некоторые свойства векторов и операции над ними
Б3. Арифметика комплексных чисел
Б4. Сферические координаты и направляющие косинусы

Приложение В. Некоторые полезные классы и служебные подпрограммы
В1. Классы для двумерной графики
В2. RGBPixmap CLASS
В3. Класс SCENE и сопутствующие классы
В4. Класс NOISE
В5. Некоторые классы, полезные при трассировке лучей

Приложение Г. Введение в PostScript®
Г1. О языке PostScript
Г2. Графические операторы в PostScript
Г3. Рисование текста в PostScript
Г4. Определение новых переменных и процедур
Г5. Команды решений и итераций
Г6. Печать численных значений
Г7. Рисование полутоновых изображений

Приложение Д. Введение в SDL
Д1. Синтаксис SDL
Д2. Макросы в SDL
Д3. Расширение SDL

Литература
Список терминов
Алфавитный указатель