Реферат: Объектно-ориентированное программирование на C++ с использованием библиотеки OpenGL
Существует ровно пять правильных многогранников. Их основные характеристики приведены в следующей таблице.
Название многогранника | Число граней | Число ребер | Число вершин |
Тетраэдр | 4 | 6 | 4 |
Гексаэдр | 6 | 12 | 8 |
Октаэдр | 8 | 12 | 6 |
Додекаэдр | 12 | 30 | 20 |
Икосаэдр | 20 | 30 | 12 |
Описываемый программный продукт состоит из раздела библиотеки, посвященного платоновым телам, и приложения для графического интерфейса пользователя (graphical user interface – GUI) Windows, позволяющего при помощи раздела библиотеки выполнять следующие операции над правильными многогранниками:
-
вращение тела вокруг заданной точки;
-
вращение тела вокруг заданной оси;
-
облет тела.
Актуальность разработки заключается в возможности наглядного изучения платоновых тел с использованием разработанного раздела.
Платоновы тела выбраны потому, что являются часто используемыми при анимации различных графических изображений и т.д.
2. Основание для разработки.
Основанием для разработки курсового проекта послужил план специальности 220100 "Вычислительные машины, системы, комплексы и сети" по дисциплине "Алгоритмические языки и программирование" за второй курс.
3. Назначение разработки.
Назначением разработки являются раздел графической библиотеки, описывающий платоновы тела и функции для работы с ними, а также средство работы с этим разделом, представляющее собой приложение Windows, разработанное на основе графического интерфейса пользователя.
4. Требования к программе и программному продукту.
4.1. Функциональные характеристики.
Программный продукт позволяет пользователю выполнять следующие функции:
-
выбор типа ГРО;
-
создание графического объекта;
-
ввод параметров объекта и выполняемой им функции;
-
демонстрация объектом выбранной пользователем функции.
Создание графического объекта происходит в момент выбора пользователем типа многогранника из списка многогранников, появляющегося после "нажатия" пользователем кнопки Polyhedron. Ввод параметров многогранника, а именно длины его ребра, осуществляется в диалоговом окне, открываемом при "нажатии" кнопки Settings, находящейся в меню Polyhedron. Выбор функции, выполняемой многогранником, производится из меню Action. При "нажатии" кнопки Settings в этом же меню, открывается диалоговое окно, позволяющее ввести параметры функций. Просмотр начинается после "нажатия" кнопки Start и останавливается после "нажатия" кнопки Stop. Просмотр можно осуществлять без изменения каких-либо параметров, т.е. в начале работы программы все необходимые параметры предустановленны и не требуют обязательного описания.
4.2. Организация входных/выходных данных.
Входными данными являются параметры многоугольника (тип, длина ребра), тип выполняемой им функции, параметры выбранной функции, а также размер окна представления. Описание входных данных содержится в следующей таблице.
Имя | Семантика | Тип | Размер памяти |
Диапазон изменения |
m_Polyhedron | тип многоугольника | целое | 2б | 1-5 |
m_Edge | длина ребра | целое | 2б | * |
m_Action | тип функции | целое | 2б | 1-3 |
m_RotPoint_Dir | направление при движении вокруг точки | целое | 2б | * |
m_RotPoint_Dist | расстояние от объекта до точки | целое | 2б | * |
m_RotLine_Dir | направление при движении вокруг линии | целое | 2б | * |
m_RotLine_Dispos | расположение линии в пространстве | целое | 2б | * |
m_RotLine_Dist | расстояние от объекта до линии | целое | 2б | * |
m_FlyRound_Dist | расстояние до объекта при облете | целое | 2б | * |
Cx | текущее максимальное значение Х окна представления | целое | 2б | ** |
Cy | текущее максимальное значение Y окна представления | целое | 2б | ** |
*Диапазон изменения параметра не определен, т.к. он зависит от размера окна представления.
**Диапазон изменения параметра не определен, т.к. он определяется режимом работы видеоадаптера.
Выходными данными является построенный графический объект, по параметрам пользователя и демонстрация его в движении.
4.3. Требования к надежности.
Для обеспечения устойчивой работы программы необходимо выполнение контроля входной/выходной информации. Контроль заключается в проверке вводимых данных на возникновение ошибки. Причиной возникновения ошибок могут послужить неверно введенные данные, например, значения параметров, повлекшие выход изображения за пределы окна представления.