Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_4 Трехмерное моделирование полигональными с....doc
Скачиваний:
22
Добавлен:
04.12.2018
Размер:
274.94 Кб
Скачать

Министерство образования и науки Российской Федерации

КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

им. А.Н.Туполева

Факультет технической кибернетики и информатики

Кафедра автоматизированных систем обработки информации и управления

Г.М. Набережнов, н.Н. Максимов трехмерное моделирование полигональными сетками

Методическое пособие

к лабораторным работам по курсу

«Компьютерная геометрия и графика»

Казань 2008 Задания для самостоятельного выполнения

I.

  1. Создать приложение на основе библиотеки (GLUT) OpenGL Utility Toolkit, которое открывает окно для рисования геометрического объекта. При этом режим дисплея использует двойную буферизацию, режим RGBA и буфер глубины.

  2. Установить перспективную проекцию с углом обзора 60о.

  3. Расположить наблюдателя в позицию (0, 3, 3), направленного в точку (0, 0, 0) и вектором направления вверх (0, 1, 0).

  4. Выполнить рисование тетраэдра, используя пример из листинга 1.

  5. Создать локальный источник света, используя пример из листинга 2.

  6. Осуществить вращение геометрического объекта (источника света) вокруг оси Y, при помощи обработчика отсутствия событий. При нажатии на клавишу ‘o’(‘l’) – вращается объект (источник света).

  7. Осуществить визуализацию лицевых (нелицевых) граней. При нажатии на клавишу ‘f’(‘b’) – визуализируются лицевые (нелицевые) грани.

II.

  1. Построить полигональную сетку геометрического объекта, который указан в варианте задания. Для этого необходимо заполнить таблицы списков: вершин, нормалей и граней.

  2. Вместо рисования тетраэдра осуществить рисование геометрического объекта по заполненным таблицам.

  3. Установить для лицевых граней объекта свойства материала, коэффициенты которого приведены в соответствующем варианте задания.

Варианты заданий:

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)