Вход

Разработка системы навигации для мобильных устройств на базе iOS

Рекомендуемая категория для самостоятельной подготовки:
Дипломная работа*
Код 240615
Дата создания 08 апреля 2016
Страниц 107
Мы сможем обработать ваш заказ (!) 29 марта в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
2 150руб.
КУПИТЬ

Описание

Целью настоящей работы является разработка системы навигации внутри здания НИУ «БелГУ» для мобильных устройств под управлением операционной системы iOS.

Задачами данной работы являются:
1. Программная реализация отображения планов здания для системы навигации внутри помещений на мобильных устройствах под управлением операционной системы iOS с последующим обоснованным выделением наиболее удовлетворяющей требованиям модульности, интерактивности и удобства реализации технологии;
2. Программная реализация алгоритма определения местоположения пользователя внутри здания с последующим обоснованным выделением наиболее удовлетворяющей требованиям низкой стоимости, точности и простоты реализации технологии;
3. Разработка и программная реализация параллельного алгоритма нахождения кратчайшего пут ...

Содержание

ВВЕДЕНИЕ 2
1. СИСТЕМЫ НАВИГАЦИИ ВНУТРИ ЗДАНИЙ ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ НА БАЗЕ iOS 5
1.1. Основные способы визуализации планов зданий 5
1.2. Способ определения местоположения пользователя 11
1.3. Основные методы и алгоритмы вычисления оптимального маршрута на карте 18
1.4. Обзор средств реализации 21
2. РАЗРАБОТКА СИСТЕМЫ НАВИГАЦИИ 28
2.1. Проектирование приложения 28
2.2. Реализация приложения в среде XCode 30
3. ТЕСТИРОВАНИЕ ПРИЛОЖЕНИЯ 51
3.1. Интерфейс пользователя 51
3.2. Тестирование работы приложения 55
ЗАКЛЮЧЕНИЕ 66
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 68
ПРИЛОЖЕНИЕ 1 70

Введение

Целью настоящей работы является разработка системы навигации внутри здания НИУ «БелГУ» для мобильных устройств под управлением операционной системы iOS.

Задачами данной работы являются:
1. Программная реализация отображения планов здания для системы навигации внутри помещений на мобильных устройствах под управлением операционной системы iOS с последующим обоснованным выделением наиболее удовлетворяющей требованиям модульности, интерактивности и удобства реализации технологии;
2. Программная реализация алгоритма определения местоположения пользователя внутри здания с последующим обоснованным выделением наиболее удовлетворяющей требованиям низкой стоимости, точности и простоты реализации технологии;
3. Разработка и программная реализация параллельного алгоритма нахождения кратчайшего пут и в графе;
4. Оценка разработанной программной системы на основе проведения тестирования и вычислительных экспериментов.
В первой главе выпускной квалификационной работы приводятся теоретические сведения о технологиях и способах реализации системы навигации на мобильных устройствах под управлением операционной системы iOS. Во второй главе – описание проектирования приложения и его реализации. Третья глава содержит сведения о пользовательском интерфейсе приложения и описание процесса тестирования.
Дипломная работа состоит из введения, трех глав, заключения, списка использованной литературы и приложений. Работа изложена на 69 страницах, включая 36 рисунков и список литературных источников из 20 наименований.

Фрагмент работы для ознакомления

Красные стрелки обозначают путь эвакуации при пожарах, аббревиатура «ПК» - пожарный кран, красный квадрат – огнетушитель. Серые квадраты с черными гранями – колонны. Синие точки – свободные вершины графа, розовые круги – вершины графа для аудиторий. Во время процесса отображения плана здания данные точки скрываются с карты. Для рисования планов этажей использовался графический редактор Inkscape, были созданы планы здания нового корпуса НИУ «БелГУ» (рис. 2.4).Рис. 2.4. План 1 этажа 12 корпуса в формате SVGАудитории и кабинеты выделяются желтым цветом с коэффициентом непрозрачности, равным 0.5. Это реализовано для удобства отображения внутренних стен кабинета или аудитории и для того, чтобы выделенную аудиторию можно было бы визуально пометить, задав ей коэффициент непрозрачности, равный 1.Это создает видимость и ощущение взаимодействия при касании аудитории. Все объекты на карты формируются либо из линий, кривых и кривых Безье, либо из квадратов с различными свойствами.В Inkscape каждому объекту, с которым будет взаимодействовать пользователь, устанавливается идентификатор (рис. 2.5).Рис. 2.5. Задание идентификатора вершины графаДля свободных вершин и вершин аудиторий устанавливаются идентификаторы, соответствующие названиям вершин графа в списке свойств для соотношения вершин графа на карте с описанием вершин графа в plist-файле.Параллельный алгоритм ДейкстрыДля организации параллельных вычислений на платформе iOS используется технология Grand Central Dispatch от Apple, предназначенная для создания приложений, использующих преимущества многоядерных процессоров и других SMP-систем. Эта технология является реализацией параллелизма задач и основана на шаблоне проектирования «пул потоков». GCD позволяет определять задачи в приложении, которые могут параллельно выполняться, и запускает их при наличии свободных вычислительных ресурсов (процессорных ядер). Grand Central Dispatch использует потоки на низком уровне, но скрывает детали реализации от программиста. Задачи GCD легковесны, недороги в создании и переключении; Apple утверждает, что добавление задачи в очередь требует лишь 15 процессорных инструкций, в то время как создание традиционного потока обходится в несколько сотен инструкций.Для нахождения кратчайшего пути была использована библиотека PESGraph, содержащая реализацию алгоритма Дейкстры. В ее рамках были модернизированы циклы, независимые от предыдущих итераций, которые можно выполнить параллельно. А именно цикл начальной инициализации и установки меток для вершин графа как еще не достигнутых, представлен в листинге 2.1.Листинг 2.1. Фрагмент кода начальной инициализации вершин графаfor (NSString *nodeIdentifier in unexaminedNodes) { [distancesFromSource setValue:infinity forKey:nodeIdentifier];}Функция dispatch_apply используется для запуска задачи на выполнение несколько раз. Она возвращает управление когда все запущенные задачи будут закончены (листинг 2.2).Листинг 2.2. Фрагмент кода начальной инициализации вершин графа в параллельно выполняющемся циклеdispatch_apply(unexaminedNodes.count, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^(size_t i){ [distancesFromSource setValue:infinity forKey:[[unexaminedNodes allKeys] objectAtIndex:i]]; });Таким же образом организовано вычисление расстояний до смежных вершин каждой соседней вершины текущей актуальной вершины. Полный листинг кода приведен в приложении 1.Был поставлен вычислительный эксперимент и с помощью класса CFTimeInterval измерено время выполнения вычисления кратчайшего пути с использованием технологии Grand Central Dispatch и без нее (таблица 2.1).Таблица 2.1.Время вычисления кратчайшего путиНомер экспериментаПоследовательное выполнение (сек)Выполнение с использованием GCD (сек)10,0004300.00024720,0004010,00021530,0005860,00030940,0004180,00025350,0005070,00027460,0004470,00026870,0004040,00029180,0005530,00022390,0004760,000275100,0004150,000233Среднее значение0,0004640,000259Таким образом, с использованием технологии GCD было получено ускорение вычисления, равное 1,79 относительно последовательного выполнения вычислений. Вычислительный эксперимент проводился на мобильном устройстве iPhone 4S с двуядерным процессором Apple A5 для 1394 элементов в цикле.ТЕСТИРОВАНИЕ ПРИЛОЖЕНИЯПосле реализации приложения необходимо выполнить тестирование работы его функций, а также дать пояснение элементам пользовательского интерфейса.Интерфейс пользователяПри инициализации приложения пользователь видит вверху экрана строку состояния (рис. 3.1), на которой отображается название мобильного оператора, уровень приема сигнала Wi-Fi, время и заряд батареи.Рис. 3.1. Строка состоянияНиже располагается панель навигации с фоновым рисунком, кнопкой вызова меню слева и кнопкой нахождения кратчайшего пути справа (рис. 3.2).Рис. 3.2. Панель навигацииОсновные размеры окна занимает отображение плана здания. На корневом представлении размещается элемент UIScrollView, обладающий возможностью пролистывания. К нему в качестве подвида добавлен экземпляр SVGKLayeredImageView для работы с планами зданий в формате SVG с поддержкой слоев. В действительности же все это размещается на центральном содержимом представления «складки», но пользователь видит только сам план здания, т.к. он находится на самом верху иерархии представлений.Само изображение является объектом класса SVGKImage, его пользователь и видит (рис. 3.3). Рис. 3.3. План 3 этажа 15 корпусаПолный вид приложения при запуске продемонстрирован на рис. 3.4.Рис. 3.4. Начальное окно приложенияПри нажатии на кнопку меню с левой стороны экрана «раскладывается» меню приложения (рис. 3.5).Рис. 3.5. Главное меню приложенияВ меню располагаются пункты по выбору корпуса здания, этажа, отображения точек интереса, планов пожарной эвакуации, выбор раннее сохраненных маршрутов, определения текущего местоположения, поиска расписания занятий и вызов окна настроек.Также меню может быть вызвано и скрыто не только по нажатию на кнопку, но также и зажатием пальца на ней и «вытягиванием» его в нужном направлении. Анимация «складки» меню показана на рис. 3.6.Рис. 3.6. Анимация «складывания» менюВ пунктах меню «Корпуса» и «Этажи» в выпадающем списке пользователь выбирает нужные ему значения, также в выпадающем списке выбирается значения для отображения точек интереса и планов пожарной эвакуации (рис. 3.6).Рис. 3.6. Выпадающие списки в менюПри определении местоположения и маршрута пользователю представляются модальные окна предупреждения с выбором возможных вариантов действий (рис. 3.7).Рис. 3.7. Модальное окно предупрежденияТаким образом, пользовательский интерфейс является интуитивно понятным и дружественным пользователю, без избыточного функционала, что также является отличительной чертой операционной системы iOS.Тестирование работы приложенияВ ходе выполнения выпускной квалификационной работы был разработан программный продукт, представляющий собой систему навигации внутри помещений НИУ «БелГУ» для мобильных устройств под управлением операционной системы iOS с функциями отображения планов зданий с возможностью переключения между этажами и корпусами, определения текущего местоположения пользователя и поиска кратчайшего пути от текущего местоположения до точки назначения (аудитории), возможность отображения точек интересов (например, буфетов), поиск и отображение информации касательно расписания, возможность осмотра достопримечательностей, запоминание точек назначения и кратчайших к ним путей, предоставление пользователю информации о кратчайших путях эвакуации из корпусов согласно планам пожарной эвакуации в случае чрезвычайных ситуаций.Тестирование приложения является неотъемлемым этапом разработки, на котором выявляются ошибки программы и проверяется правильность ее функционирования. Первой функцией приложения, с которой сталкивается пользователь, является отображение планов здания.При запуске приложения по умолчанию отображается план 1 этажа 12 корпуса с коэффициентом увеличения, равным единице (рис. 3.8). Сами SVG-файлы имеют разрешение 1387х747 пикселей, при разрешении смартфонов в 320х480 пикселей у старых моделей и 640х960 у моделей с дисплеем Retina.Рис. 3.8. Вид приложения при запускеПользователь может пролистывать план здания с помощью касания и последующего проведения пальцем по экрану, жестом, называемым «свайп». Полный план 1 этажа 12 корпуса представлен на рис. 3.9.Рис. 3.9. План 1 этажа 12 корпуса, созданный в редакторе InkscapeПереключения между корпусами осуществляется в соответствующем пункте меню, выбрав нужный корпус (рис. 3.10).Рис. 3.10. Выбранный план 3 этажа 15 корпусаЭтажи также переключаются в соответствующем пункте меню. Результат выбора 4 этажа продемонстрирован на рис. 3.11.Рис. 3.11. Отображение 4 этажа 15 корпусаПолный план 4 этажа 15 корпуса представлен на рис. 3.12.Рис. 3.12. План 4 этажа 15 корпуса, созданный в редакторе InkscapeОпределение текущего местоположения пользователя осуществляется с помощью пункта меню «Где я?» либо с помощью кнопки справа на панели навигации. Пользователю предлагается выбрать способ идентификации местоположения. Его можно ввести вручную, выбрав соответствующий пункт в окне предупреждения, и введя номер аудитории в формате «[номер корпуса]-[номер аудитории]», либо идентификатор места, доступный на QR-коде (рис. 3.13).Рис. 3.13. Определение местоположения вручнуюПосле успешного выполнения определения текущего местоположения будет показан аналогичный диалог для выбора способа идентификации места назначения. Также выберем пункт «Ввести вручную», и впишем аудиторию 3-1 15 корпуса. После нажатия на подтверждающую кнопку «ОК» будет выполнен расчет кратчайшего пути от раннее выбранного местоположения до точки назначения. Текущее местоположения пользователя указано красным треугольником, а проложенный путь по 4 этажу – синим пунктиром (рис. 3.14).Рис. 3.14. Маршрут, начинающийся с аудитории 4-22 15 корпусаПродолжение маршрута до точки назначения показано на рис. 3. 15.Рис. 3. 15. Часть маршрута, расположенная на 3 этаже 15 корпусаПри выборе определения местоположения пользователя с использованием QR-кода в приложении показывается модальный контроллер с доступом к камере устройства, необходимо сфокусировать камеру на QR-коде (рис. 3.16), пока изображение не будет автоматически захвачено. Рис. 3.16. QR-код с зашифрованным идентификатором местоположения 01535Таким же образом осуществляется определение пункта назначения (рис. 3.17).Рис. 3.17. QR-код с зашифрованным кабинетом 3-28 15 корпусаПосле определения пункта назначения будет произведено вычисление кратчайшего маршрута. В данном случае красным треугольником будет обозначено местоположения пользователя у считанного QR-кода, пункт назначения будет обозначен розовым кругом, кратчайший маршрут – синей пунктирной линией (рис. 3.18).Рис. 3.18. Маршрут, проложенный с использованием QR-кодовПри определении местоположения и точки назначения с помощью пункта меню «выбрать на карте» пользователем осуществляется касание пальцем нужной аудитории, которая затем выделяется более ярким цветом (рис. 3.19).Рис. 3.20. Маршрут, проложенный с помощью касания на картеТаким образом успешно протестирована работа функций определения текущего местоположения и расчет кратчайшего пути до пункта назначения.Отображение точек интереса (буфет и фото) представлено на рис. 3.21.Рис. 3.21. Отображение точек интересаОтображение поиска по расписанию представлено на рис. 3.22.Рис. 3.22. Результаты поиска по расписаниюЭкран просмотра фото представлен на рис. 3.23.Рис. 3.23. Контроллер отображения фотографийОтображение сохраненного маршрута в пункте меню показано на рис. 3.24.Рис. 3.25. Сохраненный маршрут в менюОтображение кратчайших путей эвакуации согласно планам пожарной эвакуации в случае чрезвычайных ситуаций представлено на рис. 3. 26.Рис. 3.26. Отображение плана пожарной эвакуацииТаким образом, была успешно протестирована и продемонстрирована корректная работа всех заявленных функций, а именно:отображение планов зданий с возможностью переключения между этажами и корпусамиопределение текущего местоположения пользователяпоиск кратчайшего пути от местоположения до точки назначения возможность отображения точек интересапоиск и отображение информации касательно расписаниявозможность просмотра фотографий, привязанных к точкам интереса опциональное запоминание ранее проложенных маршрутовпредоставление пользователю информации о кратчайших путях эвакуации в случае чрезвычайных ситуаций.ЗАКЛЮЧЕНИЕПри выполнении выпускной квалификационной работы была достигнута поставленная цель: разработана система навигации внутри здания НИУ «БелГУ» для мобильных устройств под управлением операционной системы iOS .В процессе выполнения выпускной квалификационной работы были успешно решены следующие задачи:1.Программная реализация отображения планов здания для системы навигации внутри помещений на мобильных устройствах под управлением операционной системы iOS выполнена с помощью библиотеки SVGKit и файлов в формате SVG, так как эта технология визуализации наиболее полно удовлетворяет требованиям модульности за счет использования графического редактора для создания планов здания, формата файлов SVG для хранения планов здания и использования библиотеки SVGKit для организации обработки графической информации. Также она удовлетворяет требованиям интерактивности в силу преобразования графических примитивов формата SVG в объекты API Quartz 2D, которые система поддерживает нативно и с которыми пользователь может взаимодействовать напрямую. Удобство реализации заключается в отсутствии необходимости программного описания каждого плана здания за счет использования графического редактора, а также в преобразовании графических примитивов в нативные объекты платформы iOS автоматически, без дополнительного кода.2.Программная реализация алгоритма определения местоположения пользователя внутри здания выполнена с использованием механизма распознавания QR-кодов с помощью библиотеки ZBarSDK. Сам механизм распознавания реализован и инкапсулирован в эту библиотеку, что также выделяет простоту использования данной технологии, реализована только обработка уже распознанных данных с помощью делегируемых методов. Т.к. QR-код размещен статично, разработчику всегда известно его точное расположение на карте, что позволяет достигнуть высокой точности определения местоположения пользователя. Также стоит отметить, что в отличии от использования триангуляции сигнала Wi-Fi или Bluetooth, данный способ позиционирования не требует дополнительных затрат на оборудование.3.Разработка и программная реализация параллельного алгоритма Дейкстры для нахождения кратчайшего пути в графе выполнена с помощью библиотеки PESGraph, в которую внедрен параллелизм с использованием технологии Grand Central Dispatch, что позволило добиться сокращения времени выполнения в 1,79 раз;4.Оценка разработанной программной системы на основе проведения тестирования и вычислительных экспериментов была проведена в виде апробации каждой отдельной функции приложения и их совокупности, которая была проведена успешно. Вычислительный эксперимент был направлен на сравнение параллельного и последовательного времени вычисления кратчайшего пути, и был поставлен успешно.СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫАнучин, О.Н. Интегрированные системы ориентации для морских подвижных объектов / Под ред. В. Г. Пешехонова / О. Н. Анучин, Г. И. Емельянцев – 2-е изд. – Спб.: ГНЦ РФ-ЦНИИ «Электроприбор», 2003. — 390 с.Вишневский, В.М. Широкополосные беспроводные сети передачи данных / В.М. Вишневский, А.И. Ляхов, С.Л. Портной, И.В. Шахнович. – М.: Техносфера, 2005. — 592 с.Громаков, Ю. А. Технологии определения местоположения в GSM и UMTS / Ю.А. Громаков, А.В. Северин, В.А. Шевцов. – М.: Эко Трендз, 2005. – 144 с.Гэлловей, М. Сила Objective-C 2.0. Эффективное программирование для iOS и OS X / М. Гэлловей. – Спб.: Питер, 2014. – 304 с.Кнастер, C. Objective-C и программирование для Mac OS X и iOS / С. Кнастер, В. Малик, М. Далримпл. – 2-е изд. – М.: Вильямс, 2013. – 304 с.Кормен, Т. Х. Алгоритмы: построение и анализ / Т. Х. Кормен, Ч. И. Лейзерсон, Р. Л. Ривест, К. Штайн. – 2-е изд. – М.: Вильямс, 2005. – 1293 с. Кочан, С. Программирование на Objective-C 2.0 / С. Кочан. – М: ЭКОМ Паблишерз, 2010. – 608 с.Кузовков, Н. Т. Инерциальная навигация и оптимальная фильтрация / Н. Т. Кузовков, О. С. Салычев. – М.: Машиностроение, 1982. – 216 с.Левитин, А. Алгоритмы. Введение в разработку и анализ / А. Левитий – М.: Вильямс, 2006. – 576 с. Марк, Д. iOS 5 SDK. Разработка приложений для iPhone, iPad и iPod touch / Д. Марк, Д. Наттинг, Д. Ламарш. – М.: Вильямс, 2012 – 672 с. Хайлгесс, А. Objective-C. Программирование для iOS и MacOS / А. Хайлгесс. – Спб.: Питер, 2012. – 304 с. Чиснолл, Д. Objective-C. Карманный справочник / Д. Чиснолл. – М.: Вильямс, 2012 – 352 с. Gu, Yanying. A Survey of Indoor Positioning Systems for Wireless Personal Networks / Yanying Gu, Anthony Lo, Ignas Niemegeers // IEEE Communications Surveys & Tutorials. – 2009. – Т. 11, № 1. – С. 13-32. Liu, Hui. Survey of Wireless Indoor Positioning Techniques and Systems / Hui Liu, Houshang Darabi, Pat Banerjee, Jing Liu // IEEE Transactions on Systems, Man, and Cybernetics – Part C: Applications and Reviews. – 2007. – Т. 37, № 6. – С. 1067-1080. Scalable Vector Graphics (SVG) 1.1 (Second Edition) [Электронный ресурс] Э. Дальстрем и др.; World Wide Web Consortium, Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio. – Cambridge; 2011. – Режим доступа: http://www.w3.org/TR/SVG/. Информационный портал Apple Inc.: iOS Developer Library. OpenGL ES Programming Guide for iOS [Электронный ресурс]. – Cupertino, 2014. – Режим доступа: https://developer.apple.com/library/ios/documentation/3ddrawing/conceptual/opengles_programmingguide/introduction/introduction.html Информационный портал Apple Inc.: Mac Developer Library. CGPDFDocument Reference [Электронный ресурс]. – Cupertino, 2006. – Режим доступа: https://developer.apple.com/library/mac/documentation/graphicsimaging/reference/CGPDFDocument/Reference/reference.html Информационный портал Apple Inc.: Mac Developer Library. Quartz 2D Programming Guide [Электронный ресурс]. – Cupertino, 2013. – Режим доступа: https://developer.apple.com/library/mac/documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/Introduction/Introduction.html Информационный портал Cocos2D [Электронный ресурс]. – 2008. – Режим доступа: http://cocos2d.org/. Информационный портал Cocos2D-iPhone [Электронный ресурс]. – 2009. – Режим доступа: http://www.cocos2d-iphone.org/.ПРИЛОЖЕНИЕ 1Программный код класса BSUMainViewController#import "BSUMainViewController.h"#import "BSUDropDownMenuViewController.h"#import "BSUSettingsViewController.h"#import "BSUScheduleViewController.h"#import "BSUConfig.h"#import "BSUNetworkManager.h"@interface BSUMainViewController ()@[email protected] [email protected] _dropDownMenu;#pragma mark - ==View Lifecycle==- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{ self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self){_paperFoldView = [[BSUPaperFoldWithFlexibleAnimationDuration alloc] initWithFrame:CGRectMake(0, 0, [self.view bounds].size.width, [self.view bounds].size.height)];[_paperFoldView setAutoresizingMask:UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth]; [self.view addSubview:_paperFoldView];_mapView = [[UIView alloc] initWithFrame:self.view.bounds];[_paperFoldView setCenterContentView:_mapView];_currentPlan = [[BSUSPlanViewController alloc] initWithNibName:@"BSUSPlanViewController" bundle:nil svgName:[NSString stringWithFormat:kSvg_path, 15, 3] housing:15 floor:3];_currentPlan.mainController = self;[_mapView addSubview:_currentPlan.navController.view];_dropDownMenu = [[BSUDropDownMenuViewController alloc] initWithStyle:UITableViewStylePlain];_dropDownMenu.view.backgroundColor = [UIColor grayColor];[_dropDownMenu.

Список литературы


1. Анучин, О.Н. Интегрированные системы ориентации для морских подвижных объектов / Под ред. В. Г. Пешехонова / О. Н. Анучин, Г. И. Емельянцев – 2-е изд. – Спб.: ГНЦ РФ-ЦНИИ «Электроприбор», 2003. — 390 с.
2. Вишневский, В.М. Широкополосные беспроводные сети передачи данных / В.М. Вишневский, А.И. Ляхов, С.Л. Портной, И.В. Шахнович. – М.: Техносфера, 2005. — 592 с.
3. Громаков, Ю. А. Технологии определения местоположения в GSM и UMTS / Ю.А. Громаков, А.В. Северин, В.А. Шевцов. – М.: Эко Трендз, 2005. – 144 с.
4. Гэлловей, М. Сила Objective-C 2.0. Эффективное программирование для iOS и OS X / М. Гэлловей. – Спб.: Питер, 2014. – 304 с.
5. Кнастер, C. Objective-C и программирование для Mac OS X и iOS / С. Кнастер, В. Малик, М. Далримпл. – 2-е изд. – М.: Вильямс, 2013. – 304 с.
6. Кормен, Т.Х. Алгоритмы: построение и анализ / Т. Х. Кормен, Ч. И. Лейзерсон, Р. Л. Ривест, К. Штайн. – 2-е изд. – М.: Вильямс, 2005. – 1293 с.
7. Кочан, С. Программирование на Objective-C 2.0 / С. Кочан. – М: ЭКОМ Паблишерз, 2010. – 608 с.
8. Кузовков, Н. Т. Инерциальная навигация и оптимальная фильтрация / Н. Т. Кузовков, О. С. Салычев. – М.: Машиностроение, 1982. – 216 с.
9. Левитин, А. Алгоритмы. Введение в разработку и анализ / А. Левитий – М.: Вильямс, 2006. – 576 с.
10. Марк, Д. iOS 5 SDK. Разработка приложений для iPhone, iPad и iPod touch / Д. Марк, Д. Наттинг, Д. Ламарш. – М.: Вильямс, 2012 – 672 с.
11. Хайлгесс, А. Objective-C. Программирование для iOS и MacOS / А. Хайлгесс. – Спб.: Питер, 2012. – 304 с.
12. Чиснолл, Д. Objective-C. Карманный справочник / Д. Чиснолл. – М.: Вильямс, 2012 – 352 с.
13. Gu, Yanying. A Survey of Indoor Positioning Systems for Wireless Personal Networks / Yanying Gu, Anthony Lo, Ignas Niemegeers // IEEE Communications Surveys & Tutorials. – 2009. – Т. 11, № 1. – С. 13-32.
14. Liu, Hui. Survey of Wireless Indoor Positioning Techniques and Systems / Hui Liu, Houshang Darabi, Pat Banerjee, Jing Liu // IEEE Transactions on Systems, Man, and Cybernetics – Part C: Applications and Reviews. – 2007. – Т. 37, № 6. – С. 1067-1080.
15. Scalable Vector Graphics (SVG) 1.1 (Second Edition) [Электронный ресурс] Э. Дальстрем и др.; World Wide Web Consortium, Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio. – Cambridge; 2011. – Режим доступа: http://www.w3.org/TR/SVG/.
16. Информационный портал Apple Inc.: iOS Developer Library. OpenGL ES Programming Guide for iOS [Электронный ресурс]. – Cupertino, 2014. – Режим доступа: https://developer.apple.com/library/ios/documentation/3ddrawing/conceptual/opengles_programmingguide/introduction/introduction.html
17. Информационный портал Apple Inc.: Mac Developer Library. CGPDFDocument Reference [Электронный ресурс]. – Cupertino, 2006. – Режим доступа: https://developer.apple.com/library/mac/documentation/graphicsimaging/reference/CGPDFDocument/Reference/reference.html
18. Информационный портал Apple Inc.: Mac Developer Library. Quartz 2D Programming Guide [Электронный ресурс]. – Cupertino, 2013. – Режим доступа: https://developer.apple.com/library/mac/documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/Introduction/Introduction.html
19. Информационный портал Cocos2D [Электронный ресурс]. – 2008. – Режим доступа: http://cocos2d.org/.
20. Информационный портал Cocos2D-iPhone [Электронный ресурс]. – 2009. – Режим доступа: http://www.cocos2d-iphone.org/.
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00818
© Рефератбанк, 2002 - 2024