Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Chast_II_Osn_progr_trekhmernoy_grafiki.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.83 Mб
Скачать

А.А. Богуславский, С.М. Соколов

Основы программирования

на языке Си++

Часть II. Основы программирования

трехмерной графики

(для студентов физико-математических факультетов

педагогических институтов)

Коломна, 2002

ББК 32.97я73 Рекомендовано к изданию

УДК 681.142.2(075.8) редакционно-издательским советом

Б 73 Коломенского государственного

педагогического института

Богуславский А.А., Соколов С.М.

Б73 Основы программирования на языке Си++: Для студентов физико-математических факультетов педагогических институтов. – Коломна: КГПИ, 2002. – 490 с.

Пособие предназначено для обучения студентов, обладающих навыками пользовательской работы на персональном компьютере, основным понятиям и методам современного практического программирования. Предметом изучения курса является объектно-ориентированное программирование на языке Си++ в среде современных 32-х разрядных операционных систем семейства Windows. Программа курса разбита на 4 части: (1) Введение в программирование на языке Си++; (2) Основы программирования трехмерной графики; (3) Объектно-ориентированное программирование на языке Си++ и (4) Программирование для Microsoft Windows с использованием Visual C++ и библиотеки классов MFC.

После изучения курса студент получает достаточно полное представление о содержании современного объектно-ориентированного программирования, об устройстве современных операционных систем Win32 и о событийно-управляемом программировании. На практических занятиях вырабатываются навыки программирования на Си++ в интегрированной среде разработки Microsoft Visual C++ 5.0.

Рецензенты:

И.П. Гиривенко – к.т.н., доцент, зав. кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С.А. Есенина.

А.А. Шамов – к.х.н., доцент кафедры теоретической физики Коломенского государственного педагогического института.

СОДЕРЖАНИЕ

Введение 5

ЛЕКЦИЯ 1. Библиотека OpenGL 6

1. Назначение библиотеки OpenGL 6

2. Основные возможности OpenGL 7

3. Макет консольного приложения, использующего библиотеку GLAUX 8

4. Имена функций OpenGL 9

5. Системы координат 10

6. Пример выполнения модельных преобразований 15

7. Сводка результатов 17

8. Упражнения 17

ЛЕКЦИЯ 2. Генерация движущихся изображений 20

1. Анимация с двойной буферизацией 20

2. Обработка событий клавиатуры и мыши 23

3. Композиция нескольких преобразований 25

4. Сводка результатов 31

5. Упражнения 31

ЛЕКЦИЯ 3. Геометрические примитивы 33

1. Служебные графические операции 33

2. Описание точек, отрезков и многоугольников 35

3. Свойства точек, отрезков и многоугольников 39

4. Сводка результатов 46

5. Упражнения 46

ЛЕКЦИЯ 4. Полигональная аппроксимация поверхностей 48

1. Векторы нормали 48

2. Некоторые рекомендации по построению полигональных аппроксимаций поверхностей 48

3. Пример: построение икосаэдра 50

4. Плоскости отсечения 55

6. Сводка результатов 57

7. Упражнения 57

ЛЕКЦИЯ 5. Цвет и освещение 59

1. Цветовая модель RGB 59

2. Задание способа закраски 59

3. Освещение 61

4. Освещение в реальном мире и в OpenGL 61

5. Пример: рисование освещенной сферы 63

6. Создание источников света 66

4. Сводка результатов 70

5. Упражнения 72

ЛЕКЦИЯ 6. Свойства материала и спецэффекты освещения 73

1. Задание свойств материала 73

2. Смешение цветов и прозрачность 78

3. Туман 82

4. Сводка результатов 84

5. Упражнения 86

ЛЕКЦИЯ 7. Растровые объекты: изображения и текстуры 87

1. Вывод изображений в буфер OpenGL 87

2. Назначение текстур 88

3. Создание текстуры в оперативной памяти 89

4. Автоматическое повторение текстуры на плоском многоугольнике 94

5. Наложение текстуры на произвольную поверхность 95

6. Сводка результатов 97

7. Упражнения 98

ЛЕКЦИЯ 8. Примеры программ с использованием OpenGL 100

1. Имитация трехмерного ландшафта 100

2. Объемный "тетрис" 101

Литература 106

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]