Главная страница

Курсовой проект 106 страниц, 42 рисунка, 2 таблицы, 18 фомул, 15 матриц, 4 приложения


Скачать 5.65 Mb.
НазваниеКурсовой проект 106 страниц, 42 рисунка, 2 таблицы, 18 фомул, 15 матриц, 4 приложения
АнкорKursach.doc
Дата17.08.2018
Размер5.65 Mb.
Формат файлаdoc
Имя файлаKursach.doc
ТипКурсовой проект
#23097
страница4 из 10
1   2   3   4   5   6   7   8   9   10

ТЕХНИЧЕСКОЕ ЗАДАНИЕ



А.1. Общие сведения
Полное наименование курсового проекта (КП) - «Разработка и реализация с помощью библиотеки OpenGL системы трехмерного графического моделирования. Параметрическая мо­дель сложного трехмерного объекта - робот-краб».

КП проектируется студентом 3-го курса Государственного университета информатики и искусственного интеллекта (ГУИиИИ), факультета СКИТ, группы ИС-08а Билыком Никитой Олеговичем.

Задание выдано кафедрой программного обеспечения интеллектуальных систем (ПОИС). Плановый срок начала работы над КП - 16 февраля 2011 года, дата защиты –10 июня 2011 года.

А.2 Назначение и цели создания программного продукта
А.2.1 Цели курсового проекта
Целью курсового проекта является создание системы трехмерного графического моде­лирования с помощью библиотеки OpenGL.

Программный продукт (ПП) может быть использован для изучения основных принципов работы с трехмерной графикой с помощью библиотеки OpenGL, а также моделирования про­стых трехмерных сцен.

Данный курсовой проект предназначен для построения с использованием средств OpenGL системы трехмерного графического моделирования, а также для реализации при по­мощи этой системы модели трехмерного сложного объекта (робот-краб). Для реализации данной модели необходимо использовать следующие трехмерные примитивы: эллипсоид, икосаэдр, призма с треугольным основанием, сфера, косоугольный цилиндр, усеченная пирамида с треугольным основанием, полусфера, косоугольная призма с треугольным основанием.

Схема расположения частей объекта приведена на рис. А.1.


икосаэдр

сфера

усеченная пирамида с треугольным основанием



полусфера

косоугольная призма с треугольным основанием

призма с треугольным основанием



эллипсоид

косоугольный цилиндр

Рисунок А.1 – Модель робота-краба

А.2.2 Задачи курсового проекта
В задачи курсового проекта по ГГМ входит решение следующих вопросов:

- разработка параметрической модели геометрического объекта; разработка алгоритма визуализации;

- проектирование трехмерной графической интерактивной системы;

- разработка функциональных алгоритмов программного обеспечения;

- разработка математических моделей простейших трехмерных объектов; - моделирование на компьютере алгоритмов трехмерной графики с использованием библио­теки OpenGL;

- оформление пояснительной записки и чертежей;

- подготовка доклада по содержанию проекта.
А.3 Требования к программному продукту (ПП)
А.3.1 Требования к ПП в целом
К ПП предъявляются следующие требования:

а) требования к интерфейсу:

1) интерфейс приложения: диалоговый. Вызов всех функций должен быть отражен в глав­ном меню и продублирован в виде кнопок;

2) программа должна содержать следующие оконные диалоги:

- окно параметров сцены (имя файла, название и время создания сцены);

- окно параметров камеры;

- окно параметров по каждому объекту (включая свойство материала);

- ведение графической базы данных;

- окна проекций: три ортогональные и косоугольная кабинетная, согласно инди­видуальному варианту задания;

- окно параметров источника света:

3) загрузка и сохранение всех параметров сцены в файл данных (количество источников света, параметры источников света, параметры камеры, способ представления модели, название и время создания сцены);

4) интерактивная помощь по системе;

5) корректный выход из программы (без зависаний приложения);

б) требования к созданию и визуализации сложного параметризированного трехмерного объекта:

1) задание точных размеров с клавиатуры;

2) задание материала/цвета объекта с клавиатуры;

3) выбор проволочного/полигонального представления фигуры;

4) выбор количества разбиений для ЗD-примитивов, моделируемых при помощи рекур­сивного разбиения;

в) требования к построению и интерактивному редактированию сцены:

1) реализация планировки сцены (визуализация координатных осей);

2) реализация заданного расположения и направления камеры;

3) выбор типа проецирования (одна из трех проекций или объемное изображение);

4) изменение размеров сцены;

5) выбор количества (от 0 до 4) источников света;

6) реализация всех аффинных преобразований для объекта с возможностью редактирова­ния параметров.

А.3.2 Требования к задачам и функциям ПП
Система трехмерного графического моделирования должна содержать сложный трех­мерный объект «робот-краб». Объект должен как минимум содержать следующие исходные трехмерных примитивы:

а) эллипсоид;

б) икосаэдр;

в) призма с треугольным основанием;

г) сфера;

д) косоугольный цилиндр;

е) усеченная пирамида с треугольным основанием;

ж) полусфера;

з) косоугольная призма с треугольным основанием.

Проекция должна быть косоугольная кабинетная.

Источники света должны быть такие:

а) точечный, цвет пурпурный, координаты (-20, -15, 0);

б) цилиндрический, красный, координаты (15 0, -20);

в) точечный, цвет зеленый, координаты (15, -20, 10).

Материалов должно быть два вида: матовый, пропускающий свет.
А.4 Требования к видам обеспечения
А.4.1 Требования к техническому обеспечению
Требования к техническому обеспечению включают:

а) процессор CPU - Pentium I и выше;

б) объем памяти RAM не менее 32 Мб;

в) свободное дисковое пространство около 10 Мб. Не менее 5 Мб свободного пространства на НЖМД;

г) графический адаптер SVGA;

д) SVGA-монитор с разрешением не менее 800x600;

е) Манипулятор типа «мышь».
А.4.2 Требования к программному обеспечению
К программному обеспечению (ПО) предъявляются следующие требования:

- операционная система Microsoft Windows 98;

- архиватор WinRAR;

- компилятор Borland C++ Builder 6;

- текстовый процессор Microsoft Word 2003.

Требования к программному обеспечению подразумевает наличие ОС Windows 9.x и выше.
А.4.3 Требования к организационному обеспечению
Организационное обеспечение должно включать пояснительную записку со следующи­ми приложениями:

- руководство пользователя;

- экранные формы;

- листинги основных блоков программы;

- пример файла графической БД, содержащей основные объекты системы.

Техническое задание является самостоятельным документом.
А.4.4 Требования к математической модели
В данном КП производятся аффинные преобразования в пространстве, для этого исполь­зуется матрица размерностью 4*4.

В КП простые объекты (сфера, додекаэдр, икосаэдр) рисуются методом медианы и па­раллелей.

Закрашивание производится методом Гуро.

Для наложения текстуры используется алгоритм вывода полигонов и линейная интерполяция координат угловых точек.

Закрашивание производится линиями, так как данный алгоритм получил широкое рас­пространение в компьютерной графике.
А.5 Этапы разработки и защита КП
Этапы разработки КП представлены в табл. А.1.

При защите проекта должны соблюдаться следующие требования.

1) Защита проекта проводится в присутствии соответствующей приемной комиссии.

2) До защиты проекта необходимо в оговоренные сроки представить техническое задание.

Таблица А.1- Календарный план выполнения курсового проекта




Этапы работы

Срок

выполнения

1

Постановка задания. Выбор темы курсового проекта

16.02.2011

2

Разработка ТЗ

02.03.2011

3

Анализ структуры программы и анализ графических и геометриче­ских методов

16.03.2011

4

Создание графической, геометрической и математической модели

30.03.2011

5

Разработка интерфейса и программирование сложной модели

27.04.2011

6

Отладка программы и написание ПЗ

25.05.2011

7

Прохождение нормоконтроля ПЗ и проверка ПП

08.06.2011

8

Защита КП

10.06.2011



Приложение Б
Руководство пользователя
Б.1 Описание интерфейса программы
Интерфейс реализованной программы построен таким образом, что пользователь имеет быстрый доступ ко всем её функциям.

Главное окно программы разбито на четыре квадратных участка. Верхний левый представляет собой ортографическую проекцию графических объектов сцены (за исключением источников света, что касается и остальных ортографических проекций) на плоскость OYZ, верхний правый – ортографическую проекцию на плоскость OXZ, нижний левый – ортографическую проекцию на плоскость OXY. Нижний правый участок – изометрическая проекция.

Слева от окон проекций расположена панель управления, позволяющая изменять параметры сцены в целом и отдельных её составляющих. Некоторые функции панели управления продублированы в главном меню главного окна программы.
Б.2 Работа с панелью управления
Панель управления разбита на 5 вкладок:

- «примитивы»;

- «свет»;

- «камера»;

- «сцена»;

- «аффинные преобразования».

Вкладка «примитивы» предоставляет пользователю доступ к графической базе данных, позволяя добавлять или удалять графические примитивы, а также редактировать их параметры. При запуске программы сцена «пустая». Для добавления на неё графического примитива, необходимо выбрать его из списка и нажать кнопку «добавить», которая расположена по этим списком. Для удаления примитива, необходимо нажать кнопку «удалить». В списке графических примитивов перед названием каждого из них стоит знак «+», если примитив уже присутствует на сцене. Ниже кнопок удаления и добавления расположены элементы управления, позволяющие редактировать свойства выбранного из списка примитива.

Справа от списка с названиями примитивов расположена кнопка справки, при нажатии на которую пользователь получит информацию о параметрической модели выбранного из списка примитива. Справочная информация будет отображена во всплывающем окне.

Вкладка «свет» предоставляет пользователю возможность управления параметрами источников света, т.е. задавать их положение, цвет и тип. При задании координат источников света в полях ввода изменения вступают в силу немедленно. Для изменения цвета источника света необходимо выбрать нужный источник из списка и нажать кнопку «Выбрать…», расположенную под надписью «Цвет» и выведенном на экран диалоге задать нужный цвет.

Для задания типа источника света, можно воспользоваться элементами управления, расположенными внизу данной вкладки.

Вкладка «камера» даёт возможность задания таких параметров как положение и направление камеры. Для задания этих параметров, необходимо ввести нужные значения в соответствующие поля ввода на данной панели и нажать кнопку «задать».

Вкладка «сцена».

Данная вкладка позволяет пользователю задать тип модели материала для всего объекта, задать размер объекта, сохранить либо загрузить состояние сцены, очистить сцену от графических примитивов, а также получить информацию о времени построения сцены, количестве кадров в секунду, и количестве источников света.

Вкладка «аффинные преобразования» даёт возможность осуществлять аффинные преобразования над сложным объектом. Для осуществления какого-либо аффинного преобразования, необходимо выбрать его название из выпадающего списка и задать параметры в полях ввода, расположенных ниже этого списка, и нажать кнопку «выполнить». При необходимости отмены последнего преобразования необходимо нажать кнопку «отменить последнее преобразование», если необходимо аннулировать все аффинные преобразования, необходимо нажать кнопку «отменить все преобразования».
Б.3 Работа с главным меню
Главное меню содержит следующие подменю:

- «сцена» (позволяет сохранять и загружать текущее сосотояние сцены, а также очищать сцену от графических примитивов);

- «свет» (позволяет включать и отключать источники света);

- «параметры объектов» (позволяет именять цвет, тип модели а также тип материала каждого графического объекта);

- «справка» (позволяет пользователю получить справочную информацию о математических основах графики, используемых в программе, а также получить информацию о самой программе и её разработчике).

Приложение В

ЭКРАННЫЕ ФОРМЫ


Рисунок В.1 – Главное окно приложения с меню и кнопками


Рисунок В.2 – Реализация примитивов сферы



Рисунок В.3 – Реализация примитива полусферы



Рисунок В.4 – Реализация примитивов икосаэдра



Рисунок В.5 – Реализация примитивов треугольной призмы



Рисунок В.6 – Реализация примитивов эллипсоида



Рисунок В.7 – Реализация примитивов косоугольного цилиндра



Рисунок В.8 – Реализация примитивов усеченной пирамиды с треугольным основанием



Рисунок В.9 – Реализация примитивов косоугольной призмы с треугольным основанием


Рисунок В.10 – Окно параметров камеры


Рисунок В.11 – Окно параметров источников света


Рисунок В.12 – Окно параметров афинных преобразований



Рисунок В.13 – Окно параметров сцены


Рисунок В.14 – сложый объект «Робот-краб»

Приложение Г
ЛИСТИНГ ПРОГРАММЫ


_____________KR________________
#include "stdafx.h"

#include

#include

#include

#include

#include
#include "mainwnd.h"

#include "panel.h"

#include "primitives.h"

#include "drawscene.h"

#include "camera.h"
#pragma comment(lib, "glut32.lib")

#pragma comment(lib, "opengl32.lib")

#pragma comment(lib, "glaux.lib")

#pragma comment(lib, "glu32.lib")

#pragma comment(lib, "comctl32.lib")

int APIENTRY WinMain(HINSTANCE hInstance,
1   2   3   4   5   6   7   8   9   10


написать администратору сайта