- •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
Выводы по разделу один
Нужен кроссплатформенный, простой в управлении движок для воспроизведения помещения кафедры в 3D.
2 Обзор существующих реализаций и описание основных преимуществ выбранной реализации перед аналогами
1.2.1 Обзор существующих реализаций
На сегодня браузерное 3D получает всё большее популярность в Интернете. Раньше этому процессу мешали следующие основные причины:
- медленная скорость соединения с сетью Интернет (преобладание dial up до 2004 года);
- сфокусированность крупных компаний на виртуальных мирах, а не на 3D интерфейсах и анимационных эффектах;
- позднее добавление 3D эффектов в технологию Adobe Flash;
- пессимизм инвесторов после неудачных первоначальных инвестиций в виртуальную реальность в 90-х годах;
- высокие системные требования для рендеринга 3D сцен с генерируемыми текстурами и геометрией, а так же малое внимание, уделенное таким технологиям со стороны крупных ИТ компаний.
Применение браузерного 3D на сегодня получило довольно широкое распространение в самых разных средах, например:
Визуализация товаров:
1) Вращение товаров (телефоны, ноутбуки и т.д.).
2) Объекты недвижимости.
3) Онлайн-плановщики комнат.
4) Продажа трёхмерных моделей.
Трёхмерные интерфейсы:
1) 3D интерфейсы для навигации по сайтам.
2) Экономические 3D графики.
3) Визуализация социальных сетей.
Трёхмерные миры и игры:
1) Браузерные 3D игры.
2) Создание 3D аватар.
3) 3D миры.
Трёхмерные географические, картографические и
статистические сервисы.
Дополненная реальность:
1) 3D повторы футбольных матчей.
2) Панорамные веб-сервисы.
Исходя из всего вышесказанного было проведено исследование основных технологий для реализации отображения трёхмерной графики средствами интернет-обозревателя.
2.1.1 Java
Java – объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems. Приложения Java могут работать на любой виртуальной Java-машине (JVM) независимо от компьютерной архитектуры.
Основные возможности:
1) Автоматическое управление памятью (сборка мусора).
2) Расширенные возможности обработки исключительных ситуаций.
3) Богатый набор средств фильтрации ввода/вывода.
4) Набор стандартных коллекций, таких как массив, список, стек и т.п..
5) Наличие простых средств создания сетевых приложений (в том числе с использованием протокола RMI).
6) Наличие классов, позволяющих выполнять HTTP-запросы и обрабатывать ответы.
7) Встроенные в язык средства создания многопоточных приложений.
8) Унифицированный доступ к базам данных.
9) Поддержка шаблонов (начиная с версии 1.5).
10) Параллельное выполнение программ.
Основное преимущество технологии Java заключается в аппаратном рендеринге, это значит, что весь просчет графики будет осуществлен средствами видеокарты (а не средствами процессора, как в остальных рассмотренных технологиях), что в свою очередь повышает скорость обработки одного и того же проекта в десятки раз.
Недостатками является низкая распространенность в Интернете, что вкупе с большим размером плагина позволяет говорить, что проекты, использующие в качестве основы технологию java не будут пользоваться большой популярностью. Также 3D движков, написанных на Java, крайне мало. А развитых 3D движков на основе которых были бы реализованы крупные проекты не существует.
2.1.2 Flash
Adobe Flash – это мультимедийная платформа для создания веб-приложений или мультимедийных презентаций. Широко используется для создания рекламных баннеров, анимации, игр, а также воспроизведения на веб-страницах видео- и аудиозаписей. Его особенностью является возможность работы как с векторной, так и с растровой графикой, а так же есть возможность ограниченой работы с трехмерной графикой (встроенные возможности платформы). В основе анимации во Flash лежит векторный морфинг, то есть плавное «перетекание» одного ключевого кадра в другой.
Основные возможности:
1) Быстрое создание интерактивных мультимедиа документов, анимированных изображений, веб-страниц, веб-сайтов.
2) Встроенные элементы интерфейса (меню, флажки, радиокнопки и т.д.), которым можно назначить определенные действия.
3) Встроенная поддержка anti-aliasing (технология сглаживания контуров с помощью смешения и изменения цветов соседних пикселей).
4) Мощный событийно-управляемый язык ActionScript.
Основными преимуществами технологии, помимо удобства работы с растровой и векторной графикой является чрезвычайно-высокая распространенность плагина Adobe Flash Player, который необходим для работы flash-контента. Плагин установлен более чем на 90% всех персональных компьютеров в мире. Помимо этого на основе этой платформы разработано большое количество 3D-движков, обладающих расширенными возможностями вывода трехмерной графики.
К недостаткам платформы можно отнести проблемы с индексацией в поисковых системах. Использование Flash для размещения текстовой информации затрудняет её индексирование поисковыми системами, что может негативно сказаться на популярности написанного на Flash проекта. Также, на текущий момент платформа Adobe Flash не использует аппаратное ускорение, что неблагоприятно сказывается на производительности Flash-проектов. Однако, стоит заметить, что поддержка аппаратного ускорения средствами графического процессора компьютера заявлена в 11-й версии плагина Adobe Flash Player, первая стабильная версия которого выйдет в конце 2011 года.
2.1.3 Silverlight
Silverlight – это программная платформа разработанная компанией Microsoft, которые как и предыдущие рассмотренные платформы включает в себя плагин для браузера, который позволяет запускать приложения, содержащие анимацию, векторную графику и аудио-видео ролики.
Технология представляет собой графическую подсистему, схожую с Windows Presentation Foundation, и, как и Flash, объединяет мультимедиа, графику, анимацию и интерактивность в одной программной платформе.
Основные возможности:
1) Плавное воспроизведение мультимедийных потоков в формате высокой четкости на любом Silverlight-совместимом устройстве.
2) Конвейер обработки аудио и видео обеспечивает. поддержку большого числа сторонних кодеков.
3) Возможность использовать оригинальные графические материалы для стандартных элементов управления.
4) Возможность помещать контент на плоскость в 3D-пространстве (встроенные возможности платформы).
Основные преимущества: функция Deep Zoom, которая позволяет осуществлять быстрое, динамическое и плавное масштабирование. С ее помощью становятся доступными более высокие разрешения и частота кадров, а время загрузки мультимедийных материалов существенно уменьшается. А так же весь текстовый контент индексируется поисковыми системами, что благоприятно сказывается на посещаемости.
Основными недостатками является программный рендеринг (поддержка аппаратного ускорения не заявлена в будущих версиях), низкая распространенность и большой размер плагина и отсутствие развитых 3D-движков.
2.2 Выбор реализации. Описание основных преимуществ в сравнении с аналогами
Выбор реализации на основе исследованных технологий является критически-важным событием, так как именно от него будет непосредственно зависеть качество сервиса, скорость его производства, а так же популярность, основанная как на качестве самого продукта, так, что также немаловажно, на распространенности выбранной технологии в сети Интернет.
Исходя из всего вышесказанного, основными критериями выбора служили следующие параметры:
1) Высокая популярность технологии в российском сегменте сети Интернет.
2) Наличие 3D-движков (в том числе развитых движков, на которых уже работают крупные проекты).
3) Простота освоения.
В таблице 2.1 собраны воедино все рассмотренные основные достоинства и недостатки исследуемых платформ с кратким выводом по каждой из них.
Таблица 2.1 – Достоинства и недостатки исследуемых платформ
Платформа |
Достоинства |
Недостатки |
Вывод |
Java |
|
|
Оптимальна для средне и высокополи-гонального моделирова-ния. |
Продолжение таблицы 2.1
Платформа |
Достоинства |
Недостатки |
Вывод |
Flash |
|
|
Оптимальна для низкополиго-нальных 3D проектов, трёхмерных интерфейсов, панорам и 3D эффектов на сайтах. |
Silverlight |
|
|
Малопригоден для 3D проектов. |
Исходя из проведенного исследования была выбрана платформа Adobe Flash. Выбор был сделан на основании наличия большого количества развитых 3D-движков на основе данной платформы. Также наибольшая распространенность технологии в мире в отличии от других рассмотренных технолгий говорит в пользу выбора Adobe Flash.
В отличии от Flash, технология Java не имеет такого широкого распространения по миру, к тому же отсутствие развитых 3D-движков не позволяет сделать выбор в пользу этой технологии.
Технология SilverLight по сути имеет все недостатки двух других рассмотренных технологий, что уже делает ее самой непригодной для реализации проекта.
Стоит еще раз заметить, что единственный существенный недостаток платформы Adobe Flash это программная обработка (просчет всех вычислений на центральном процессоре), однако новая, 11-я версия плагина Adobe Flash Player, которая выйдет в конце 2011 года будет лишена этого недостатка и переведена на аппаратное ускорение (просчет всех вычислений будет осуществляться мощностями видеокарты), что увеличит скорость просчета 3D-контента в десятки раз. Безусловно проект может быть переведен на GPU-вычисления в максимально короткие сроки. Это тоже говорит в пользу выбора платформы Adobe Flash, как основы проекта.
В поддержку этой платформы и ее распространение на мобильных устройствах на данный момент выступило 58 компаний, среди которых AMD, ARM, Google, HTC, Intel, Motorola, Nokia, NVIDIA, QNX, Sony Ericsson и др. А сам Flash Player портирован на мобильную платформу Android, выпущены мобильные устройства с аппаратным ускорением flash-приложений (включая AIR-приложения). Это значит, что проект «Кафедра Онлайн» будет работать и на мобильных устройствах с аппаратным ускорением flash-приложений.