referat (664126), страница 2
Текст из файла (страница 2)
рис. 4.6.1. Структура диалогового интерфейса.
Интерфейс представляет собой стандартное окно Windows, состоящее из панели меню, панели интсрументов и окна представления. На панели меню представлено меню Polyhedron. Это меню представляет собой список из 5 правильных многогранников и пункта Settings, открывающего меню параметров программы. Выбранный многогранник выделяется в этом меню галочкой. На панели инструментов имеется 3 кнопки. Первая кнопка осуществляет запуск движения многогранника, вторая – его остановку, а третья – непосредственное открытие меню параметров Settings.
Выдача результатов осуществляется в окне представления. Результатом работы программы является движение платонова тела с учетом заданных пользователем параметров.
-
Описания алгоритмов решения функциональных задач.
Реализация 3-хмерной графики с помощью библиотеки OpenGL базируется на основе принципов аффинных преобразований в пространстве. Также очень важно понятие камеры – образно говоря, некого виртуального окна в трехмерном пространстве. Все то, что отображается в графическом окне приложения, мы видим посредством камеры. Еще одно важное понятие – это понятие матрицы, описывающей объекты в пространстве – фактически, некой трехмерной модели пространства. На основе этих понятий решается основная функциональная задача проекта – вращение платоновых тел.
Алгоритм решения этой задачи строится следующим образом:
Вначале двигаем камеру на заданное расстояние “к пользователю” по оси OZ для того, чтобы иметь возможность смотреть на платоновое тело “со стороны”, т.к. изначально камера находится в начале координат, где впоследствии и создается тело. Затем сдвигаем начало координат на заданное расстояние относительно заданной оси – оси вращения – для того, чтобы ось вращения была от тела удалена, и создаем платоновое тело. Решение функциональной задачи создания платонового тела интереса не представляет, т.к. с помощью библиотеки OpenGL это делается вызовом всего лишь одной определенной функции. Тело создается в начале координат. После создания платонового тела оно поворачивается относительно оси вращения на определенный угол, значение которого постоянно увеличивается или уменьшается в зависимости от направления вращения. Так как данная последовательность действий выполняется в цикле, тело постоянно сдвигается на все больший (меньший) угол, чем и достигается вращение, в то время как все остальные параметры остаются неизменными.
Все процедуры сдвига начала координат, поворота и т.п. достигаются, как это и было описано ранее, с помощью аффинных преобразований, путем умножения матрицы, описывающей трехмерное пространство, на матрицы поворота, сдвига и т.п. Для каждого такого действия предусмотрены функции библиотеки OpenGL.
3. Экспериментальная часть.
-
Эксплуатационная документация на программный продукт.
-
Описание применения.
-
Программный продукт "Polyhedron" может применяться:
-
для наглядного изучения строения и свойств платоновых тел;
-
для обучения на примерах начинающих программистов.
-
Руководство пользователя.
Внимание!
За возможные ошибки, сбои, возможный причиненный моральный или материальный ущерб и т.д., авторы ответственности не несут. Вы используете программу на свой страх и риск!
Если вы не согласны с этим, то не используйте данную программу!
Введение
Авторы руководства пользователя приглашают вас познакомиться с основными возможностями «Polyhedron». Мы предоставляем совершенно новую возможность для изучения платоновых тел в пространстве на персональном компьютере. Результатом разработки является более простой и наглядный способ изучения платоновых тел в пространстве. Руководство пользователя написано для всех, кто не знаком с платоновыми телами. Если Вы являетесь опытным пользователем персонального компьютера, то нижеследующий текст, возможно, будет Вам не интересен. Руководство пользователя явится для Вас обширным справочным руководством, помогающим разобраться в программном продукте «Polyhedron».
Для того, чтобы запустить программный продукт необходимо наличие на вашем персональном компьютере:
-
операционной системы Windows 95;
-
Floppy Disk Drive 3,5”.
Вставте нашу дискету в свой дисковод. Затем скопируйте все файлы в заранее созданную директорию.
Поместите острие стрелки на файл Polyhedron.ехе, затем щелкните левой кнопкой мыши два раза. Перед вами появится окно программного продукта «Polyhedron» (см. рис. 1).
р
ис. 3.1.2.1.Окно программного продукта.
Д
ля начала Вы можете просмотреть контрольный пример, наведя курсор мыши на кнопку “Play” и нажать левую кнопку мыши. Чтобы поменять платоново тело подведите курсор мышы на слово Polyhedron. Затем нажмите левую кнопку мыши, чтобы открыть меню (см. рис. 2).
рис. 3.1.2.2. Меню Polyhedron.
Обратите внимание на то, что рядом с пунктами меню указаны клавиши, которые позволяют сразу выбрать соответствующий пункт, не открывая подменю, или нажать клавишу соответствующей первой букве пункта.
Выбрав пункт Settings откроется диалоговое окно (см. рис. 3).
р
ис. 3.1.2.3. Диалоговое окно.
В этом диалоговом окне Вы можете поменять следующие параметры:
-
длину ребра платонового тела (Length of edge);
-
дистанция до камеры (Distance to the camera);
-
расстояние до оси вращения (Distance to the axis);
-
ось вращения (Rotation axis):
-
вращение вокруг оси OX,
-
вращение вокруг оси OY,
-
вращение вокруг оси OZ;
-
направление вращения (Direction):
-
по часовой стрелке (clockwise),
-
против часовой стрелки (counterclockwise);
-
структуру тела – решетчатую или сплошную (флажок Wired)
Закончив выбор, нажмите на кнопку OK.
После завершения выбора параметров, результат можно просмотреть, подведя курсор мыши на кнопку “Play” и нажав левую кнопку мыши.
Функциональные клавиши
Ctrl+1 или Alt+P и Т – Тетраэдр (Tetrahedron);
Ctrl+2 или Alt+P и Н – Гексаэдр (Hexahedron);
Ctrl+3 или Alt+P и О – Октаэдр (Octahedron);
Ctrl+4 или Alt+P и D – Додекаэдр (Dodecahedron);
Ctrl+5 или Alt+P и I – Икосаэдр (Icosahedron);
Ctrl+P или Alt+P и S – Установки (Settings).
-
Руководство программиста.
-
Контрольный пример.
Контрольный пример предоставлен в виде заданных по умолчанию значений параметров задачи:
Осуществляется вращение по часовой стрелке не решетчатого тетраэдра вокруг оси ОХ на расстоянии 10 и при расположении камеры на расстоянии 50 до оси вращения.
Список используемой литературы.
-
Янг М. Microsoft Visual C++ 4 для профессионалов. - М.:ЭНТРОП, 1997.
-
Шикин А.В., Боресков А.В. Компьютерная графика. Динамика, реалистические изображения.- М.:ДИАЛОГ-МИФИ, 1996.
-
Подбельский В.В. Язык С++. – М.:Финансы и статистика, 1996.
1