- •Г.М. Набережнов, н.Н. Максимов трехмерное моделирование полигональными сетками
- •Казань 2008 Задания для самостоятельного выполнения
- •1. Понятие полигональнОй сетки
- •2. Построение полигональной сетки
- •3. Рисование полигональной сетки
- •4. Введение в модели закрашивания
- •5. Использование источников света в OpenGl
- •5.1. Создание источника света
- •5.2. Прожекторы
- •5.3. Ослабление света с расстоянием
- •5.4. Перемещение источников света
- •6. Работа со свойствами материалов в OpenGl
Министерство образования и науки Российской Федерации
КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
им. А.Н.Туполева
Факультет технической кибернетики и информатики
Кафедра автоматизированных систем обработки информации и управления
Г.М. Набережнов, н.Н. Максимов трехмерное моделирование полигональными сетками
Методическое пособие
к лабораторным работам по курсу
«Компьютерная геометрия и графика»
Казань 2008 Задания для самостоятельного выполнения
I.
-
Создать приложение на основе библиотеки (GLUT) OpenGL Utility Toolkit, которое открывает окно для рисования геометрического объекта. При этом режим дисплея использует двойную буферизацию, режим RGBA и буфер глубины.
-
Установить перспективную проекцию с углом обзора 60о.
-
Расположить наблюдателя в позицию (0, 3, 3), направленного в точку (0, 0, 0) и вектором направления вверх (0, 1, 0).
-
Выполнить рисование тетраэдра, используя пример из листинга 1.
-
Создать локальный источник света, используя пример из листинга 2.
-
Осуществить вращение геометрического объекта (источника света) вокруг оси Y, при помощи обработчика отсутствия событий. При нажатии на клавишу ‘o’(‘l’) – вращается объект (источник света).
-
Осуществить визуализацию лицевых (нелицевых) граней. При нажатии на клавишу ‘f’(‘b’) – визуализируются лицевые (нелицевые) грани.
II.
-
Построить полигональную сетку геометрического объекта, который указан в варианте задания. Для этого необходимо заполнить таблицы списков: вершин, нормалей и граней.
-
Вместо рисования тетраэдра осуществить рисование геометрического объекта по заполненным таблицам.
-
Установить для лицевых граней объекта свойства материала, коэффициенты которого приведены в соответствующем варианте задания.
Варианты заданий:
1) (материал - олово)
ambient = (0.10588, 0.058824, 0.113725, 1)
diffuse = (0.427451, 0.470588, 0.541176, 1)
specular = (0.3333, 0.3333, 0.521569, 1)
shininess = (9.84615)
2) (материал - хром)
ambient = (0.25, 0.25, 0.25, 1)
diffuse = (0.4, 0.4, 0.4, 1)
specular = (0.774597, 0.774597, 0.774597, 1)
shininess = (76.8)
3) (материал - бронза)
ambient = (0.2125, 0.1275, 0.054, 1)
diffuse = (0.714, 0.4284, 0.18144, 1)
specular = (0.393548, 0.271906, 0.166721, 1)
shininess = (25.6)
4) (материал - серебро)
ambient = (0.19225, 0.19225, 0.19225, 1)
diffuse = (0.50754, 0.50754, 0.50754, 1)
specular = (0.508273, 0.508273, 0.508273, 1)
shininess = (51.2)
5) (материал - золото)
ambient = (0.24725, 0.1995, 0.0745, 1)
diffuse = (0.75164, 0.60648, 0.22648, 1)
specular = (0.628281, 0.555802, 0.366065, 1)
shininess = (51.2)
6) (материал - медь)
ambient = (0.19125, 0.0735, 0.0225, 1)
diffuse = (0.7038, 0.27048, 0.0828, 1)
specular = (0.256777, 0.137622, 0.086014, 1)
shininess = (12.8)
7) (материал - олово)
ambient = (0.10588, 0.058824, 0.113725, 1)
diffuse = (0.427451, 0.470588, 0.541176, 1)
specular = (0.3333, 0.3333, 0.521569, 1)
shininess = (9.84615)
8) (материал - хром)
ambient = (0.25, 0.25, 0.25, 1)
diffuse = (0.4, 0.4, 0.4, 1)
specular = (0.774597, 0.774597, 0.774597, 1)
shininess = (76.8)
9) (материал - бронза)
ambient = (0.2125, 0.1275, 0.054, 1)
diffuse = (0.714, 0.4284, 0.18144, 1)
specular = (0.393548, 0.271906, 0.166721, 1)
shininess = (25.6)
10) (материал - серебро)
ambient = (0.19225, 0.19225, 0.19225, 1)
diffuse = (0.50754, 0.50754, 0.50754, 1)
specular = (0.508273, 0.508273, 0.508273, 1)
shininess = (51.2)
11) (материал - золото)
ambient = (0.24725, 0.1995, 0.0745, 1)
diffuse = (0.75164, 0.60648, 0.22648, 1)
specular = (0.628281, 0.555802, 0.366065, 1)
shininess = (51.2)
12) (материал - медь)
ambient = (0.19125, 0.0735, 0.0225, 1)
diffuse = (0.7038, 0.27048, 0.0828, 1)
specular = (0.256777, 0.137622, 0.086014, 1)
shininess = (12.8)