- •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 Описание технологий. Binary Space Partitioning (bsp) дерево
BSP – метод двоичного разбиения пространства. Существует очень давно и отлично зарекомендовал себя в трёхмерных играх.
Смысл BSP заключается в том, чтобы представить находящиеся в пространстве полигоны в виде двоичного дерева. Такая структура позволяет установить взаимосвязи «кто за кем» для всех полигонов. Это нужно для эффективной Z-сортировки и корректного отображения пересекающихся 3D-моделей. Также BSP используется для оптимизации расчётов в механизме обнаружения столкновений.
Пример BSP-сортировки (слева) и обычной загрузки (справа) представлен на рисунке 5.9.
Рисунок 5.9 – BSP-сортировка и обычная загрузка
Рассмотрим построение BSP-дерева в общих чертах. Изначально имеется некое множество полигонов. Из них выбирается один, который своей плоскостью разбивает пространство на два подпространства. Он становится корневым узлом дерева. Оставшиеся полигоны разделяются на два множества, в зависимости от того, в каком подпространстве они геометрически располагаются. Из полученных множеств снова выбираются рассекающие полигоны, которые в свою очередь делят их на две части. Эти полигоны становятся узлами дерева. Процедура разделения рекурсивно продолжается до тех пор, пока все полигоны не попадут в дерево.
Структура BSP-дерева приведена на рисунке 5.10.
Рисунок 5.10 – Структура BSP-дерева
Каждый узел BSP-дерева содержит один или несколько полигонов. При этом, если в плоскости узла находятся разнонаправленные полигоны (например, тонкая стенка), то они располагаются в разных хранилищах узла, что позволяет ускорить отсечение невидимых граней при рендеринге сцены.
5.2.6 Отсечение (клиппинг)
Отсечение или клиппинг (англ. clipping) – метод оптимизации в рендеринге и компьютерной графике, когда компьютер прорисовывает только ту часть сцены, которая может находиться в поле зрения пользователя.
В двухмерной графике, если пользователь увеличил изображение и на экране осталась видна только небольшая часть, программа может сэкономить процессорное время и память и не прорисовывать те части изображения, которые остались «за кадром».
Аналогично, в трехмерной графике, сцена может состоять из объектов (обычно треугольников), расположенных со всех сторон виртуальной камеры, но программе достаточно рендерить только те объекты, которые находятся в поле зрения. В трёхмерной графике, это нетривиальная задача. Для каждого треугольника в сцене требуется определить, входит он в поле зрения или нет. Если треугольник частично входит в поле зрения, то часть его придется отсечь. Иллюстрация отсечения методом клипинга представлена на рисунке 5.11.
Рисунок 5.11 – Клипинг
Объем видимости обычно имеет вид усеченной четырехугольной пирамиды с виртуальной камерой в вершине, то есть ограничен шестью плоскостями. Эти плоскости называются плоскостями отсечения (англ. clipping planes).
5.3 Варианты дальнейшего развития программного комплекса
Существует множество вариантов дальнейшего развития программного комплекса, каждый из которых может оказать существенное влияние на его функциональность, надежность, простоту управления и т.д. Поэтому, введение одной новой дополнительной функции может улучшить один параметр, но при этом, оказать существенное отрицательное влияние на несколько других параметров. Конечно, может возникнуть и обратная ситуация, когда уменьшение функциональности одного параметра оказывает существенное влияние на производительность всей системы в целом.
В конечном итоге, наиболее важным и решающим фактором, будет являться актуальность и своевременность информации, которую будет предоставлять сервис «Кафедра Онлайн». Исходя из всего вышесказанного можно лишь предположить наиболее вероятные варианты дальнейшего расширения сервиса.
Дальнейшее развитие сервиса возможно в следующих направлениях:
- переход на новую версию 3D движка с поддержкой аппаратного рендеринга;
- расширение интерактивности объектов с целью увеличения информативности (расписания, объявления, графики, изображения и т.д.);
- улучшение визуальной составляющей, путём добавления новых 3D моделей, текстур, освещения.