Аннотация
ВВЕДЕНИЕ 6
1 ОБЗОР АНАЛОГОВ 8
Выводы по разделу один 14
2 ВЫБОР ПРОГРАММНЫХ СРЕДСТВ, НЕОБХОДИМЫХ ДЛЯ
РЕАЛИЗАЦИИ 15
Выводы по разделу два 18
3 ИССЛЕДОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ 19
3.1 Основная характеристика технологии дополненной реальности 19
3.1.1 Классификация систем дополненной реальности 20
3.1.2 Сферы применения дополненной реальности 22
3.2 Глобальная система позиционирования 26
3.3 Патентные исследования 28
4 ТРЕБОВАНИЯ К РАЗРАБАТЫВАЕМОМУ ПРОЕКТУ 38
4.1 Функциональные требования к разрабатываемому мобильному
приложению 38
4.2 Нефункциональные требования к разрабатываемому
мобильному приложению 39
4.3 Редактирование и публикация 3D модели 39
Выводы по разделу четыре 43
5 АРХИТЕКТУРА ПРИЛОЖЕНИЯ 44
5.1 Компонент ARCamera 44
5.2 Компонент 3D модель 45
5.3 Компонент Map 48
5.4 Компонент ObjectDescription 50
5.5 Компонент Notifications 50
5.6 Компонент Buttons 50
5.7 Компонент T exts 51
5.8 Хранение пользовательских данных 51
Выводы по разделу пять 51
6 РЕАЛИЗАЦИЯ ПРИЛОЖЕНИЯ 52
6.1 Реализация компонента AR Camera 52
6.2 Реализация компонента 3D модель 52
6.2.1 Получение GPS координат устройства 53
6.3 Реализация компонента Map 63
6.4 Реализация компонента ObjectDescription 67
6.5 Реализация компонента Notifications 69
6.6 Реализация компонента Buttons 72
6.7 Реализация компонента Texts 76
6.8 Экраны приложения 78
6.9 Результаты 78
Выводы по разделу шесть 81
ЗАКЛЮЧЕНИЕ 82
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 84
Новые технологии постепенно входят в нашу жизнь. Кроме новых изобретений, значительно развиваются уже существующие. Например, на рынке мобильных устройств появляются все новые и новые смартфоны, отличающиеся изменением вычислительных мощностей.
Рост вычислительной мощности смартфонов позволяет разработчикам мобильных приложений использовать различные технологии, которые ранее невозможно было оптимизировать для мобильных платформ. Современные же смартфоны, например, способны в реальном времени получать изображение с камеры, обрабатывать его и вносить различные изменения. Это позволяет разрабатывать приложения, позволяющие решать множество проблем, таких как: симуляция события в реальном времени, моделирование различных ситуаций в пространстве и т.д. Эта технология называется «дополненная реальность».
Одна из проблем, которую способна решить данная технология - отображение виртуального предмета поверх реального пространства в режиме реального времени. Например, это может быть использовано для «примерки» архитектурного объекта на улицах города. Для взаимодействия с виртуальными объектами используются жесты пользователя.
Таким образом, данная технология позволяет совмещать двумерные манипуляции на экране и трехмерные манипуляции в реальном мире, что обеспечивает естественное и удобное взаимодействие.
Популярность дополненной реальности также обусловлена возможностью применения в различных сферах жизни, а в комбинации с методами машинного обучения, компьютерного зрения, математического моделирования, биоинформатики, экологии, медицины и т.д. можно совершить революцию в сфере информационных технологий.
Целью данной работы является исследование и разработка системы дополненной реальности, позволяющей размещать виртуальные 3D модели архитектурных объектов на улицах, а так же разработка сервиса, позволяющего другим пользователям увидеть данный объект.
Исходя из поставленной цели, задачами проекта являются:
• анализ предметной области «дополненная реальность»;
• обзор существующих решений;
• исследование требований, методов и алгоритмов решения поставленной задачи;
• разработка структуры программного обеспечения;
• создание опытного образца программного обеспечения.
В результате выполнения дипломной работы было разработано мобильное приложение дополненной реальности «ARchetype», позволяющее размещать виртуальные 3D модели архитектурных объектов на улицах, а так же был разработан сервис, позволяющий другим пользователям увидеть данный объект. Также были разработаны веб-интерфейс и серверное приложение.
Для достижения цели были решены следующие задачи:
1. Проведен анализ имеющихся аналогов и сформулированы требования к проекту;
2. Создан опытный образец мобильного приложения, в котором реализованы следующие функции:
• авторизация и регистрация пользователей;
• просмотр доступных 3D моделей на карте;
• просмотр 3D моделей с помощью технологии дополненной реальности;
• комментирование проекта;
• возможность редактирования 3D модели с помощью технологии дополненной реальности;
• реализация пуш-уведомлений;
Можно отметить, что приложение соответствует требованиям, предъявляемым к разрабатываемым приложениям, соответствует современному уровню развития техники.
3. Создан веб-клиент, в котором реализованы следующие функции:
• авторизация и регистрация пользователей;
• возможность создание нового проекта;
• возможность редактирование проекта;
• загрузка 3D моделей;
• возможность скачивания 3D модели, загруженной пользователем;
• удаление проекта;
изменение роли участника;
• возможность принятия проекта;
• возможность отклонения проекта.
Можно отметить, что веб-клиент соответствует требованиям, предъявляемым в разрабатываемым сайтам. Веб-клиент соответствует современному уровню развития технологий.
4. Создан сервер и база данных, которые позволяют корректно работать системе, как в веб-клиенте, так и в мобильном приложении.
В ходе работы сформулированы следующие возможные варианты развития проекта:
• портирование приложения на другие мобильные операционные системы;
• реализация интерфейса на различных языках, таких как английский, немецкий и т.д.;
Пояснительная записка отражает описание всех процессов разработки мобильного приложения дополненной реальности, начиная с рассмотрения аналогов и выбора платформы для разработки приложения, до создания опытного образца.
1 Изучение Unity3D [Электронный ресурс]. - Режим доступа : https://unity3d.com/ru/learn;
2 Язык программирования C# 6.0 и платформа .NET 4.6 / Э. Троелсен - М.: ООО «И.Д. Вильямс», 2016, - 1440 с.
3 C# 5.0 Карманный справочник / Д. Албахари, Б. Албахари - М.: ООО «И.Д. Вильямс», 2013 - 288 с.
4 Unity3D [Электронный ресурс]. - Режим доступа : https://ru.wikipedia.org/wiki/Unity (Игровой Движок);
5 WGS84 precision in Unity World space [Электронный ресурс]. -
Режим доступа : https://blo g.mapbox .com/wgs84 -preci sion-in-unity-
world-space-6 87 c7 d574bb3;
6 Пересчет координат из Lat/Long в проекцию Меркатора и обратно
[Электронный ресурс]. - Режим доступа : http://wiki.gis-
lab.info/w/Пересчет координат из Lat/Long в проекцию Меркатора
и обратно;
7 Википедия. Geographic coordinate system [Электронный ресурс]. - Режим доступа : https://en.wikipedia.org/wiki/Geographic coordinate
system;
8 Руководство Unity [Электронный ресурс]. - Режим доступа : https://docs.unity3d.com/ru/current/Manual;
9 Mapbox SDK [Электронный ресурс]. - Режим доступа : https://www.mapbox.com/;
10 Set up a Firebase Cloud Messaging Client App with Unity [Электронный ресурс]. - Режим доступа : https://firebase.google.com/docs/cloud- messaging/unity/client;
11 Calculate distance, bearing and more between Latitude/Longitude points [Электронный ресурс]. - Режим доступа : http://www.movable- type.co.uk/scripts/latlong.html;
Floating Origin [Электронный ресурс]. - Режим доступа: http://wiki .unity3d.com/index.php?title=Floating Origin
Мобильное приложение Arki [Электронный ресурс]. - Режим доступа : http s ://www. darfdesi gn. com/arki .html;
Мобильное приложение SmartReality [Электронный ресурс]. - Режим доступа : http://smartreality.co/;
Мобильное приложение Augment [Электронный ресурс]. - Режим доступа : http://www.augment.com/;
Мобильное приложение URBASEE Feature [Электронный ресурс]. - Режим доступа : https://urbasee.com/en/;
Дополненная реальность [Электронный ресурс]. - Режим доступа:
http://neurowareblog.blogspot.ru/2014/12/blogpost 18.html;
OpenCV library [Электронный ресурс]. - Режим доступа: https://opencv.org/;
Vuforia Augmented Reality [Электронный ресурс]. - Режим доступа: https://www.vuforia.com/;
Википедия. ARToolKit [Электронный ресурс]. - Режим доступа: https://en.wikipedia.org/wiki/ARToolKit;
Система координат WGS 84. Основные параметры [Электронный ресурс]. - Режим доступа: https://geostart.ru/wgs 84;
ResearchedID [Электронный ресурс]. - Режим доступа:
http://www.researcherid.com.