- •1 Постановка задачи и определение требований
- •Выводы по разделу один
- •2 Обзор существующих реализаций и описание основных преимуществ выбранной реализации перед аналогами
- •1.2.1 Обзор существующих реализаций
- •Выводы по разделу два Таким образом, наилучшем выбором платформы для разработки является Flash.
- •3 Выбор инструментальных средств разработки
- •4.1 Исследование технологий 3d-рендеринга на платформе Adobe Flash
- •5 Архитектура программного комплекса
- •5.1 Алгоритмические особенности программного комплекса
- •5.1.1 Анализ поставленной задачи
- •5.2 Алгоритм функционирования программного комплекса
- •5.2.1 Обобщенный алгоритм работы комплекса
- •5.2.2 Загрузка объектов в 3d-среду
- •5.2.3 Отрисовка 3d-мира
- •5.2.4 Обработка команд пользователя
- •5.2.5 Описание технологий. Binary Space Partitioning (bsp) дерево
- •5.2.6 Отсечение (клиппинг)
- •5.3 Варианты дальнейшего развития программного комплекса
- •5.4. Функциональные особенности программного комплекса
- •5.4.1 Концепция функционирования программного комплекса
- •6.2 Требования к содержимому тестов
- •6.3 Пример работы программного комплекса
- •7 ТехнологическАя часть
- •Программный комплекс соответствует технологическим нормам.
- •8 Организационно-экономический раздел
- •8.1 Смета затрат на проведение работ
- •8.2 Командировочные расходы
- •8.3 Заработная плата
- •Продолжение таблицы 8.9
- •8.4 Покупные изделия
- •8.5 Накладные расходы
- •8.6 Смета затрат
- •9 Раздел безопасности жизнедеятельности
- •9.1 Анализ достоинств интерфейса пользователя разработанной программы
- •9.2 Рекомендации по организации рабочего места пользователя
- •9.2.1 Рекомендации по выбору помещения для размещения рабочего места
- •9.2.2 Требования к микроклимату, содержанию аэроионов и вредных химических веществ в воздухе на рабочих местах, оборудованных пэвм
- •9.2.3 Требования к уровням шума и вибрации на рабочих местах, оборудованных пэвм
- •9.2.4 Требования к освещению на рабочих местах, оборудованных пэвм
- •9.2.5 Требования к уровням электромагнитных полей на рабочих местах, оборудованных пэвм
- •9.2.6 Общие требования к организации рабочих мест пользователей пэвм
- •9.2.7 Требования к организации и оборудованию рабочих мест с пэвм для обучающихся в общеобразовательных учреждениях и учреждениях начального и высшего профессионального образования
- •9.3 Электробезопасность
- •9.4 Пожарная безопасность
- •Библиографический список
- •Приложение а
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
5.2 Алгоритм функционирования программного комплекса
5.2.1 Обобщенный алгоритм работы комплекса
Программный комплекс создается на языке ActionScript 3.0. Для разработки была выбрана среда Adobe Flash CS5, как наиболее удобная и совместимая среда разработки. Технология Flash и язык ActionScript были разработаны компанией Adobe, ей же выпущена и данная среда разработки.
После компиляции полученный из исходных кодов файл может быть запущен через программу Flash Player, которая сегодня в виде расширений встраивается в большинство интернет-браузеров. Это позволяет использовать программный комплекс при просмотре пользователем интернет-страниц. При этом отпадает необходимость в установке дополнительных библиотек и скачивании самой программы на компьютер пользователя. Все эти особенности позволяют пользователю использовать программный комплекс максимально удобно и безопасно для компьютера.
Работа Flash-программы разбита на так называемые «кадры», которые можно создавать аналогично кадрам в киноленте. С помощью этого механизма можно вносить примитивы во Flash-ролик и создавать простейшие алгоритмы поведения этих примитивов. Для сложных программных комплексов используется другой подход – текст программы пишется на языке ActionScript и с помощью него программируется поведение комплекса.
Основной код программы расположен в файле, подключаемом в первом кадре. Программный комплекс представляет собой 3D-Обозреватель и использует библиотеку («платформу», «движок») сторонних разработчиков для генерации и отображения пользователю созданного 3D-окружения.
Программный комплекс хранит в себе текущее состояние 3D-окружения, положение пользователя внутри, а также управляет движком для вывода информации на экран пользователю (отрисовки).
Наиболее просто работа комплекса отображена на рисунке 5.1.
Отдельного ветвления для выхода из программного комплекса тексте исходных кодов не предусмотрено, так как его работа прекращается при закрытии Flash-проигрывателя пользователя, либо при автоматическом его завершении при закрытии окна интернет-браузера. Соответственно, процесс завершается по сигналу прерывания (завершение процесса).
Рисунок 5.1 – Работа программного комплекса
При загрузке программного комплекса происходит инициализация внутренних данных, создание внутренней среды, загрузка модели кафедры в формате 3DS, обход объектов в загруженном файле 3DS, размещение их в во внутренней среде программного комплекса, разбиение их на треугольники (полигоны), оптимизация полигонов. Демонстрация разбиения модели на полигоны представлена на рисунке 5.2.
Рисунок 5.2 – Разбитие модели на полигоны
На этапе отрисовки программный комплекс обрабатывает позицию наблюдателя, положение взгляда, вычисления объектов во внутренней среде, которые попадают в область видимости наблюдателя, вычисление видимости граней этих объектов и степени видимости каждого полигона в отдельности. Все эти действия необходимы для снижения нагрузки на процессор во время отрисовки кадра и, в конечном счете, увеличении количества кадров в секунду (FPS – frames per second).
Также реализована динамическая загрузка и выгрузка объектов, так как движок не может корректно обрабатывать невидимость объектов за другими (например стены и потолок), и обсчитывает все объекты в поле видимости камеры, то есть куда направлен луч наблюдения.
Динамическая загрузка объектов представлена на рисунке 5.3 в виде примера загрузки объектов мебели в аудитории 802 кафедры ЭВМ.
Рисунок 5.3 – Динамическая загрузка объектов мебели
После отрисовки (рендеринга) очередного кадра, программный комплекс считывает команды, введенные пользователем с клавиатуры и мыши, на основании этих данных внутри комплекса изменяется позиция наблюдателя, либо на экран выводится интерактивная информация, запрошенная пользователем. Это могут быть как тексты и изображения с информацией об аудиториях и учебных стендах, так и видео, транслируемое на виртуальных экранах внутри кафедры. Пример трансляции потокового видео представлен на рисунке 5.4.
Рисунок 5.4 – Трансляция потокового видео