ТЕХНОЛОГИИ ПРЕДСТАВЛЕНИЯ СЛОЖНЫХ ТРЕХМЕРНЫХ ПРОСТРАНСТВЕННЫХ ДАННЫХ В ИНТЕРНЕТ БРАУЗЕРАХ
Ерёмин Денис Иванович
заведующий лабораторией системных исследований космической деятельности, Институт космической техники и технологий, г. Алматы,
Казахстан Понятов Юрий Александрович заместитель заведующего лаборатории системных исследований космической деятельности, Институт космической техники и технологий, г. Алматы,
Казахстан Ягфарова Надия Ильдусовна научный сотрудник лаборатории системных исследований космической деятельности Институт космической техники и технологий, г. Алматы,
Казахстан
E-mail: mailto:[email protected]
TECHNOLOGY OF REPRESENTATION COMPLEX THREE-DIMENSIONAL SPATIAL DATA IN INTERNET-BROWSERS
Denis Eryomin
head of laboratory of system researches of space activity, Institute of space technique
and technology Yuriy Ponyatov
assistant of head of laboratory of system researches of space activity, Institute of
space technique and technology Nadiya Yagfarova
researcher of laboratory of system researches of space activity Institute of space technique and technology Institute of space technique and technology
АННОТАЦИЯ
Целью данной статьи был обзор технологий представления сложных трехмерных пространственных данных в интернет браузерах для решения задач моделирования месторождений полезных ископаемых. Были рассмотрены все наиболее распространенные технологии для отображения большого количества данных в браузере. Результатом проведенного обзора был свод характеристик существующих 3D движков. На основании проведенного исследования был выбран наиболее оптимальный 3D движок для моделирования пространственных данных в браузере.
ABSTRACT
The purpose of this article is to review the technologies of representation of complex three-dimensional spatial data in Internet-browsers to solve the problems of modeling of mineral deposits. There were reviewed all the most common technologies for displaying large amounts of data in the browser. The result of the review was a set of characteristics of the existing 3D engines. Based on this research there was chosen optimal 3D engine for modeling spatial data in the browser.
Ключевые слова: пространственные данные; интернет браузер.
Keywords: spatial data; internet-browsers.
Современный период экономического и социального развития Казахстана ставит перед горнодобывающей отраслью задачи укрепления и расширения минерально-сырьевой базы страны, повышения эффективности и качества подготовки к освоению разведанных запасов полезных ископаемых. Этим обусловлено значение геологии в научно-техническом прогрессе горнодобывающей промышленности, в охране и рациональном использовании недр и природы в целом.
На данный момент все большая часть предприятий, занимающихся вопросами геологической разведки и изысканий, используют в своей работе специальные программные средства и информационные системы. Использование подобных систем позволяет значительно ускорить процесс обработки и анализа информации. Такие системы позволяют автоматизировать процессы обработки и интерпретации данных геологоразведки, а также использовать их для моделирования месторождений и выполнения всевозможных расчетов и оценок.
С недавних пор профессиональное программное обеспечение (ПО) начало выходить за рамки устаревших стандартов и развивается в новом направлении — предоставление программного обеспечения как сервиса посредством использования сети Internet. В результате программным обеспечением научного, бизнес или образовательного направления может воспользоваться
каждый, не устанавливая программы на персональные устройства, а просто воспользовавшись интернет ресурсами. Единственным требованием для персонального устройства является установленный веб-браузер, а одним из основных преимуществ данных систем является их мобильность.
В ближайшей перспективе специализированное программное обеспечение по моделированию месторождений так же ждет миграция в сеть и изменение формата использования на SaaS (software as a service — программное обеспечение как услуга). В связи с этим перед разработчиками такого ПО встает нетривиальная задача представления больших объемов пространственных данных с помощью интернет браузера. В качестве примера можно рассмотреть модель среднего по размерам месторождения имеющего следующие размеры 3000x2000x1000 метров.
Трехмерная модель месторождений полезных ископаемых должна представлять геологическую структуру месторождения самым наглядным и подробным образом. Это касается не только объемного облика рудного объекта, но и возможности рассматривать его под разными ракурсами и произвольными разрезами. В связи с этим модель месторождения разбивается на блоки. Учитывая соотношение масштаба модели месторождения (3000х2000х1000 м) к единице разбиения — блоку (1х1х1 м), при построении модели месторождения генерируется 6 миллиардов блоков или 36 миллиардов полигонов в терминах компьютерной графики. Даже применение специальных алгоритмов по отсечению невидимых блоков и полигонов не решает проблему принципиально-стандартные средства отображения интернет браузеров не способны обработать и отобразить такое количество данных. Очевидно, что для отображения такого количества данных необходимо применять специальные технологии.
Одним из новых и прогрессивно растущих направлений моделирования пространственных данных является 3D движки, встроенные в браузер.
3D движок — это центральный программный компонент компьютерных или других интерактивных приложений с графикой, обрабатываемой в
реальном времени. Для отображения 3D в браузере используется несколько вариантов реализации, первым из которых является использование встроенной технологии браузера. Вторым вариантом является работа через плагин (дополнительное ПО устанавливаемое в браузер).
В интернет ресурсах 3D движков, ориентированных под веб не так много. Для сравнения характеристик и выбора наиболее оптимальных движков для моделирования пространственных данных был проделан сравнительный анализ [1]. Для проведения сравнения был выбран следующий список 3D движков с разными технологиями и решениями, такие как VRML, Java, Flash, 3DMLW, O3D, WebGL, Unity.
Рассмотрим детально каждый из выбранных движков.
VRML (Virtual Reality Modeling Language) — язык моделирования виртуальной реальности, стандартный формат файлов для демонстрации трёхмерной интерактивной векторной графики, чаще всего используется в веб-технологиях. VRML предназначен для описания трехмерных изображений и оперирует объектами, описывающими геометрические фигуры и их расположение в пространстве. Vrml-файл представляет собой обычный текстовый файл, интерпретируемый браузером. VRML — трехмерный графический аналог языка Hypertext Markup Language (HTML), который применяется в гипертекстовой системе сети Интернет, что позволяет с помощью текстового редактора создавать и передавать через Web объемные изображения, подобно тому как HTML дает возможность строить, компоновать и пересылать по Интернет текст и графику. В настоящее время с помощью VRML во всем мире разрабатываются сотни объемных систем виртуальной реальности для Web, начиная с простых трехмерных графических сред, ориентированных на обычные компьютеры, и кончая продуктами, полностью погружающими пользователя в киберпространство, для которых требуются электронные очки и перчатки [5].
Преимуществами VRML является:
• 3D веб-приложения не требуют установки;
• Приложение обновляется без участия пользователя;
• 100 % открытый исходный код;
• Vrml является основоположником 3D визуализаций в браузере и считается одним из старых продуктов;
• Редактором может быть обычный блокнот, а также большое количество коммерческих редакторов.
Недостатки VRML:
• Поддерживают не все браузеры;
• При скорости модема меньше 28.8 Кбод и объёме оперативной памяти меньше 16 МВ VRML-программы, получаемые из Internet, работают медленно, неустойчиво и с ошибками.
Качество прорисовываемых из документа VRML изображений заметно
ниже.
Java. В платформу Java также включена графическая библиотека Java 3D. Библиотека Java 3D позволяет создавать 3D-апплеты и Java-приложения, использующие трехмерную графику. С Java 3D можно эффективно конструировать виртуальные миры, создавая отдельные графические элементы и затем соединяя их в древовидные структуры. Библиотека Java 3D — это результат синтеза лучших идей, взятых из таких технологий, как Direct3D, OpenGL, QuickDraw3D и XGL [2, с. 20].
Преимуществами Java являются:
Кроссплатформенность;
• Апплет поддерживается большинством браузеров;
• В новой версий Java 3D апплет полностью отделен от процесса браузера и связан с ним через небольшой асинхронный клиент, который находится в процессе браузера. Это призвано гарантировать что зависание апплета не приведет к зависанию самого браузера;
Возможность использовать сторонние библиотеки и подгружать их для апплета.
Недостатки Java:
• Требует установки Java-расширения (plug-in), которое не во всех браузерах доступно по умолчанию;
• Нет возможности запуститься до тех пор, пока не запустится виртуальная Java-машина, и это может занять значительное время при первом запуске;
• Создание и дизайн хорошего пользовательского интерфейса с использованием апплетов считается более сложной задачей, чем с помощью технологии, основанной на HTML;
• апплеты могут потребовать использование определенного Java Runtime Environment (минимальная реализация виртуальной машины, необходимая для исполнения Java-приложений).
Flash. Мультимедийная платформа компании Adobe для создания веб-приложений или мультимедийных презентаций. Начиная с версий Flash Player 10.1, поддерживает 3D технологий.
Adobe Flash позволяет работать с векторной, растровой и с трёхмерной графикой используя при этом GPU (graphics processing unit — графический процессор), а также поддерживает двунаправленную потоковую трансляцию аудио и видео. Для карманных персональных компьютеров и других мобильных устройств выпущена специальная «облегчённая» версия платформы Flash Lite, функциональность которой ограничена в расчёте на возможности мобильных устройств и их операционных систем.
Преимущества:
• Приложение поддерживается большинством браузеров;
Приложение обновляется без участия пользователя;
• Поддержка GPU и возможность выбора между GPU и CPU (central processing unit — Центральный процеессор).
Недостатки:
• Требуется установка флэш-плеера;
• Сайты реализованные на флеш плохо индексируются в поисковых системах;
• Основной недостаток flash-приложений — чрезмерная нагрузка на центральный процессор, связанная с неэффективностью виртуальной машины Flash Player;
• Важный недостаток flash-приложений заключается в недостаточном контроле ошибок, что приводит к частым отказам как самих приложений, так, в некоторых случаях, и всего браузера. Возможность flash-приложений нарушать работу всего браузера неоднократно вызывала критику со стороны разработчиков браузеров;
Flash противопоказан крупным информационным сайтам с большой посещаемостью.
3DMLW. 3D Markup Language for Web это базирующийся на XML (eXtensible Markup Language — расширяемый язык разметки) формат файла для передачи в Интернете трёхмерного (3D) и двухмерного (2D) интерактивного содержания.
Для просмотра 3DMLW на компьютере должен быть установлен плагин 3DMLW, видеокарта должна поддерживать OpenGL (Open Graphics Library — открытая графическая библиотека, графическое API). Плагин 3DMLW разработан фирмой "3D Technologies R&D" для наиболее распространённых веб-браузеров (Internet Explorer, Mozilla Firefox, Opera и т. д.).
Платформа 3DMLW может быть использована практически везде, когда есть необходимость показывать динамический 3D-контент. Благодаря собственным языкам сценариев, он также предлагает ряд уникальных возможностей для разработки программного обеспечения и, благодаря поддержке 3D-моделью различных форматов, он может быть использован как инструмент 3D-интеграции.
Главной новинкой для пользователей является возможность доставки трехмерного контента. Без каких-либо конкретных требований к опыту каждый дизайнер может публиковать 3D-объекты в Интернете, и эти объекты могут быть просмотрены пользователями в Интернете, не требуя никакого специального программного обеспечения.
Преимущества:
• Приложение поддерживается большинством браузеров;
• BDMLW похож на XHTML и легкий для понимания;
• Поддержка скриптов для динамического и интерактивного контента;
• Поддержка общих форматов BD моделей (включая COLLADA, OBJ, 3DS, SketchUp);
• Платформа с открытым кодом.
Недостатки:
• Для отображения BDMLW необходим либо плагин для браузера, либо самостоятельный BDMLW браузер;
• Редактором BDMLW на данный момент является Quantum Hog, который распространяется не бесплатно.
O3D. Созданный Google Inc. для разработки интерактивных BD-приложений, запущенных в браузере. OBD может использоваться в сфере приложений, динамической рекламы, моделировании, системах мониторинга и других.
Система OBD представляет собой плагин для браузера, после установки которого ваш браузер сможет отображать и позволит вам взаимодействовать с BD приложениями. Причем это возможно на Windows, Macintosh, и Linux (TBP) платформах.
WebGL. Web-based Graphics Library — программная библиотека для языка программирования JavaScript, позволяющая создавать на JavaScript интерактивную BD-графику, функционирующую в широком спектре совместимых с ней веб-браузерах. За счёт использования низкоуровневых средств поддержки OpenGL, часть кода на WebGL может выполняться непосредственно на видеокартах. Эта совместимость с OpenGL является большим преимуществом WebGL. Проект по созданию библиотеки управляется некоммерческой организацией Khronos Group.
Преимущество WebGL перед его аналогами (VRML, 3DMLW, O3D) заключается в высокой скорости работы, за счет того, что всё содержимое сайта
подгружается изначально, и ничего не догружается в процессе использования. Это удобно, и позволяет быстро работать с приложением. Скорость работы этого приложения зависит только от характеристик вашей видеокарты, т. к. приложение в браузере фактически работает как обычное графическое приложение и использует ресурс видеокарты, установленной на компьютере, но его отображение происходит в браузере. [6].
Преимущества:
3D веб-приложения не требуют установки;
Поддерживается большинством браузеров;
• WebGL использует набор биндингов OpenGL ES 2.0 для JavaScript, что делает его легким для понимания и освоения;
• Поддержка мобильных браузеров IOS Mobile Safari, Android Browser, Firefox Mobile for Android, Blackberry PlayBook 2.0 Browser;
Редактором может быть обычный блокнот, а также большое количество коммерческих редакторов.
Недостатки:
• Поддерживает технологию WebGL только 11 версия Internet Explorer;
• WebGL очень мало документации.
Unity. Мультиплатформенный инструмент для разработки двух- и трёхмерных приложений, работающий под операционными системами Windows и OS X. Созданные с помощью Unity приложения работают под операционными системами Windows, OS X, Android, Apple iOS, Linux. Есть возможность создавать интернет-приложения с помощью специального подключаемого к браузеру модуля Unity, а также с помощью экспериментальной реализации в рамках модуля Adobe Flash Player. Позже от поддержки Flash отказались. Приложения, созданные с помощью Unity, поддерживают DirectX и OpenGL [4].
Unity является полноценным 3D движком, который набирает популярность с каждым годом. Данный 3D движок является коммерческим продуктом, и поставляется с набором решений как свой IDE редактор, Unity Asset Server
(используется командами, члены которых вместе удалённо работают над проектом с разных компьютеров) и база данных PostgreSQL. Так же можно отметить возможности для скриптинга, в отличие от UDK (Unreal Developer's Kit), в котором писать можно только на встроенном самописном языке, в Unity доступны три языка: JavaScript, C#, и диалект питона под названием Boo [3].
В Unity есть так же бесплатная лицензия с ограниченным функционалом. Для работы через браузер требуется установка плагина.
Преимущества:
• Поддерживает большинство браузеров;
• Поддержка мобильные браузера IOS Mobile Safari, Android Browser, Firefox Mobile for Android, Blackberry PlayBook 2.0 Browser;
• Есть встроенный редактор IDE.
Недостатки:
Требуется установка плагина;
• Коммерческий продукт, требуется покупки лицензий.
По результатам сравнения можно подвести итоги характеристик рассмотренных 3D движков:
Таблица 1.
Возможности VRM L Java Flash 3DML W O3D WebG L Unity
Двумерная графика Да Да Да Да Да Да Да
Трёхмерная графика Да Да Да Да Да Да Да
Поддержка Windows XP/Vista/7 Да Да Да Да Да Да Да
Поддержка Mac OS X Да Да Да Да Да Да Да
Поддержка Linux Да Да Да Да Да Да Да
Поддержка OpenGL Да Да Да Да Да Да Да
Поддержка Да Да Да Нет Да Да Да
DirectX
Поддержка анимации Да Да Да Да Да Да Да
Поддержка исполнения скриптов JavaScript Да Да Да Да Да Да Да
Растровые форматы рисунков (GIF, JPEG, PNG, PCT, TIF) Да Да Да Да Да Да Да
Векторные форматы (FreeHand, EPS, Illustrator) Да Да Да Да Да Да Да
Звуковые форматы (WAV, AIF, MP3). Да Да Да Да Да Да Да
Установка плагина Не требуе тся Требуе тся Требуе тся Требуе тся Требуе тся Не требуе тся Требуе тся
Открытый исходный код продукта Да Да Нет Да Да Да Нет
Поддержка мобильных устройств Android, Apple iOS Нет Да Да Нет Нет Да Да
Скорость работы на мобильных устройстве Нет Средня я Средня я Нет Нет Средн яя Средня я
Internet Explorer версия 11 Да Да Да Да Да Да Да
Mozilla Firefox Да Да Да Да Да Да Да
Opera Да Да Да Да Да Да Да
Google Chrome Да Да Да Да Да Да Да
Safari Да Да Да Да Да Да Да
Общее удобство работы над проектом по 8 7 7 6 5 9 8
десятибалльной шкале
На основании сравнительного анализа 3D движков, проведенного по всем характеристикам наиболее оптимальным 3D движком для моделирования пространственных данных в браузере можно считать WebGL. Движок является открытым в распространении, по скорости работы на мобильных устройствах не уступает другим продуктам и при этом наиболее удобен при работе.
Список литературы:
1. Будущее 3D в Интернете: Flash или WebGL? 2011г. // [Электронный ресурс] — Режим доступа. — URL: http://w3pro.ru/news/budushchee-3d-v-internete-flash-ili-webgl (дата обращения: 20.04.2013).
2. Машнин Т.С. Современные JAVA технологий на практике. 2010. — 20 с.
3. Подлесный А.О. Научный руководитель — Шмагрис Ю.В. Сибирский Федеральный Университет. WEBGL-ТЕХНОЛОГИЯ WEB-СОВМЕСТИМОЙ 3D-ГРАФИКИ. // [Электронный ресурс] — Режим доступа. — URL: http://conf.sfu-kras.ru/sites/mn2012/thesis/s012/s012-144.pdf (дата обращения: 23.05.2013).
4. Сравнение UNITY и UDK. 2012 г. // [Электронный ресурс] — Режим доступа. — URL: http://habrahabr.ru/post/145525/ (дата обращения: 03.06.2013).
5. Технология виртуальной реальности VRML. // [Электронный ресурс] — Режим доступа. — URL: http://bourabai.kz/graphics/vrml.htm (дата обращения: 10.07.2013).
6. Ходаковский К. Работа над спецификациями WebGL 1.0 завершена. 2011 г // [Электронный ресурс] — Режим доступа. — URL: http://www.3dnews.ru/news/spetsifikatsii-webgl-10-zaversheni-gde-microsoft/ (дата обращения: 25.07.2013).