► ИННОВАЦИОННЫЕ ТЕХНОЛОГИИ
МОБИЛЬНОЕ ПРИЛОЖЕНИЕ ДЛЯ ИЗУЧЕНИЯ ТРЕХМЕРНЫХ ГРАФИЧЕСКИХ МОДЕЛЕЙ
MOBiLE АРР ТО EXPLORE THREE-DiMENSiONAL GRAPHiC MODELS
Соболева Марина Леонидовна
Доцент кафедры теоретической информатики и дискретной математики Московского педагогического государственного университета, кандидат педагогических наук, доцент e-mail: ml.soboleva@m.mpgu.edu
Тырданова Мария Сергеевна
Магистрант кафедры теоретической информатики и дискретной математики Московского педагогического государственного университета
e-mail: tyrdanovamari@gmail.com
Аннотация. В статье представлено описание мобильного приложения, разработанного на основе технологии дополненной реальности, которое возможно использовать при изучении трехмерных графических моделей.
Ключевые слова: обучающие мобильные приложения, технология дополненной реальности, изучение трехмерных графических моделей.
Soboleva Marina L.
Assistant professor of the Department of Theoretical Computer Science and Discrete Mathematics of Moscow State Pedagogical University, PhD in Education, associate professor
e-mail: ml.soboleva@m.mpgu.edu
Tyrdanova Maria S.
Student in the master's program of the
Department of Theoretical Computer Science
and Discrete Mathematics of Moscow State
Pedagogical University
e-mail: tyrdanovamari@gmail.com
Abstract. The article presents the description of the mobile application which is developed on the basis of augmented reality technology and may be used in the study of three-dimensional graphic models.
Keywords: educational mobile applications, augmented reality technology, study of three-dimensional graphic models.
В настоящее время осуществляется поиск решений по использованию мобильных средств в образовательном процессе. Многие фирмы предлагают свои программные продукты для реализации современных моделей обучения с применением мобильных устройств. К сожалению, среди достаточно большого многообразия программных средств не удалось найти программу, которая позволяла бы изучать трехмерные графические модели объектов реального времени.
Отсюда возникла идея создать мобильное приложение, отображающее объекты реального времени в виде трехмерных графических моделей дополненной реальности.
Рассмотрим принцип функционирования данного мобильного приложения.
При запуске мобильного приложения открывается галерея, содержащая варианты моделей (примитивы), из которых необходимо выбрать конкретную модель. Далее через приложение запускается встроенная камера на мобильном устройстве. После чего необходимо осуществить наведение камеры на соответствующий маркер.
Под маркером будем понимать объект-мишень или любой объект, идентифицируя который приложение может однозначно точно определить, какой виртуальный объект, с какими параметрами и где нужно расположить. Чаще всего маркером назначается черно-белое изображение простой формы - прямоугольник или квадрат, с вписанным внутрь идентификатором-образом.
Приложение считывает этот маркер посредством встроенной камеры мобильного устройства. Впоследствии на считанный маркер выстраивается выбранная трехмерная модель, и на экране мобильного устройства отображается данная трехмерная модель в реальном времени.
Если долго удерживать кнопку «настройки» мобильного приложения, то открывается меню редактирования/изменения модели: перемещение относительно маркера, поворот вокруг вертикальной оси, проходящей через центр модели, а также масштабирование в реальном времени.
В результате получаем интерактивную модель реального объекта, которая посредством различных манипуляций (перемещение, поворот, масштабирование и др.) может помочь исследовать, изучить объект реального времени, его свойства.
Для реализации мобильного приложения с технологией дополненной реальности были выбраны программные языки:
• интерфейс приложения был реализован с помощью языка разметки XML;
• функционал мобильного приложения прописан на языке программирования Java.
Для работы с технологией дополненной реальности была выбрана среда разработки
Android Studio, а для метода распознавания маркера - библиотека ARTOOLKIT.
ARTOOLKIT (Augmented Reality - AR) - библиотека программного обеспечения для построения дополненной реальности. Основная задача этой библиотеки - отслеживание в кадре заранее известных квадратных маркеров и реконструкция их расположения в пространстве относительно камеры. Эти данные позволяют рассчитывать трехмерные координаты элементов, отрисовываемых поверх кадра с привязкой к этим самым маркерам.
На основе использования среды Android Studio и библиотеки ARTOOLKIT создается интерфейс дополненной реальности.
Процесс распознавания маркера устройством происходит следующим образом: 1. Перевод цветного изображения в градации серого
Существуют три алгоритма перевода цветного изображения в градации серого: Алгоритм 1
Светлота (Lightness) GS = (max(R,G,B) + min(R,G,B))/2 Визуализация алгоритма 1 представлена на рис. 1.
Рис. 1. Визуализация алгоритма 1
Слева - исходное изображение, справа - выделение светлоты Алгоритм 2
Светимость (Luminosity) GS = 0.21 х R + 0.72 х G + 0.07 х B Визуализация алгоритма 2 представлена на рис. 2.
Рис. 2. Визуализация алгоритма 2
Слева - исходное изображение, справа - выделение светимости Алгоритм 3
Среднее (Average) GS = (R + G + B) / 3 Визуализация алгоритма 3 представлена на рис. 3.
Рис. 3. Визуализация алгоритма 3
Слева - исходное изображение, справа - выделение среднего
2. Бинаризация изображения (порог)
Для того чтобы перевести изображение в двухцветное состояние, требуется задать определенный порог. Например, если имеется 256 цветов, то значение порога будет составлять 128. Так же порог можно выбрать при использовании гистограммы цвета.
Довольно часто используют методы бинаризации изображения с заданным адаптивным порогом, а также метод Оцу (рис. 4).
Рис. 4. Визуализация методов (слева направо - жестко заданный порог,
адаптивный порог, метод Оцу)
3. Определение замкнутых областей
Далее требуется определить замкнутые области на белом фоне. Для данного этапа используется комбинация алгоритмов, в общем случае применяются алгоритмы «заливки» белых областей и выделения замкнутых областей (рис. 5).
Возможный вариант: первоначально выделяются контуры изображения, потом они проверяются на замкнутость (рис. 6).
4. Выделение контуров
На этом этапе используются несколько алгоритмов по выделению контуров на изображении. В данных алгоритмах внутри белых замкнутых областей осуществляется поиск контуров:
Рис. 5. Визуализация этапа определения Рис. 6. Визуализация этапа определения замкнутых областей замкнутых контуров
• Canny Edge Detector
Визуализация алгоритма Canny представлена на рис. 7.
Рис. 7. Визуализация алгоритма Canny
• Sobel Edge Detector
Визуализация алгоритма Sobel представлена на рис. 8.
Рис. 8. Визуализация алгоритма Sobel
5. Выделение углов маркера
Выделив контур, необходимо его сопоставить с имеющимся маркером. Когда выделен один и более разных контуров на изображении, необходимо найти тот контур, который «похож» на четырехугольник.
Для решения этой задачи применяется алгоритм Дугласа-Пекера (Рамера-Дугла-са-Пекера, алгоритм итеративной ближайшей точки, алгоритм разбиения и слияния), который позволяет уменьшить число точек кривой, замененной большей серией точек.
Данный способ позволяет получать координаты углов маркера (рис. 9).
Рис. 9. Визуализация алгоритма Дугласа-Пекера
6. Преобразование координат
Когда получены координаты углов маркера, в идеале являющиеся перпендикулярами, а в реальности могут располагаться под любым углом, можно определить положение «камеры» относительно объекта, который нужно построить, и точку отсчета начала координат (стороны квадрата являются осями координат). Таким образом, при изменении угла, с которого смотрит камера, изменяется размер проекции. Зная положение камеры и точки отсчета, есть возможность нарисовать проекцию для трехмерной модели.
Вышеописанное мобильное приложение с технологией дополненной реальности в ближайшее время планируется внедрять в учебный процесс при изучении трехмерных графических моделей.
Интернет-журнал «Проблемы современного образования» 2015, № 6