Современные информационные технологии/3.Программное обеспечение

 

Степанов Ю.А., к.т.н, доцент

Бурмин Л.Н, аспирант КемГУ

 

НФИ КемГУ, г. Новокузнецк, Россия

 

 

Об одном из способов визуализации исходных данных для подготовки анализа углепородного массива

 

Одним из способов изучения геомеханических процессов возникающих в результате взаимодействия углепородных массивов с очистным комплексом, является визуализация.  Визуализация исходных данных позволяет наглядно представить изучаемый объект. Визуализация итерационных процессов, происходящих на горном предприятии, позволяет подробнее исследовать данные и рассмотреть состояния каждой итерации. Визуализация результатов исследования упрощает интерпретацию полученных сведений. Связать средства визуализации с информационными системами  возможно при использовании промежуточного звена. Для этого необходимо, чтобы в информационной системе была возможность выгрузить данные, необходимые для построения визуализации, в файл XML или любой другой открытый текстовый формат для чтения.

В горных информационных системах особая роль в визуализации данных отводится геопространственной информации, когда необходимо связать горное предприятие с географической картой. Впоследствии, к координатам карты можно привязать различные тематические слои для решения прикладных задач. Например, для решения задачи исследования изменения напряженно деформированного состояния углепородного массива.

Ряд крупных горнодобывающих компаний в России успешно внедряют современные горные информационные системы, которые позволяют существенно повысить эффективность разведки и добычи минерального сырья: зарубежные («Datamine», «GEMCOM», «Vulcan», «Micromine», «Surpac» и др.) и отечественные (МНПО «Полиметалл», ОАО ГМК «Норильский Никель», Костамукшский ГОК, и другие)[1]. Однако у всех ГИС такого рода существует ряд недостатков, одним из которых является отсутствие интерактивной формы визуализации полученных результатов. Отсутствует возможность рассмотреть ситуацию в шахте «изнутри», сделать трехмерный разрез в желаемой точке или визуально смоделировать некоторые события (например, обрушение породы горного массива). Системы поддержки принятия решений не изучают динамические процессы, происходящие в углепородном массиве, а отображают статическое состояние системы.

В связи с этим было предложено разработать программный продукт, который позволит отобразить модель выработки в трехмерном пространстве, предоставить пользователю самостоятельно выбирать точку обзора, плоскость разреза и слой исследуемой породы. Для выполнения такой задачи потребуется эффективный графический аппарат.

Выбор подразумевает сравнительный анализ на основе существующих классификаций. В свою очередь, в основе каждой классификации лежит критерий. Наиболее популярными критериями являются:

·                   размерность рабочего пространства;

·                   язык программирования;

·                   тип динамического моделирования;

·                   тип лицензии;

·                   кроссплатформенность.

По размерности пространства различают двумерные, псевдотрёхмерные  и трехмерные визуализаторы. Двумерное пространство характеризуется низкими требованиями к ресурсам. Однако сложность отображения в 2D  заключается в том, что необходимо рисовать несколько срезов для полного описания модели. Наиболее популярными редакторами двумерной графики являются Photoshop, CorelDraw, а также САПР на подобии КОМПАС-3D. К трехмерным относятся редакторы, которые используют в качестве рабочего пространства сцену из трех измерений: ширина, высота, глубина (оси XYZ). Базовыми элементами таких редакторов являются вершины, ребра и грани, а так же трехмерные сетки (mesh). В качестве примеров можно привести Blender, 3D Max, Maya.

По языку программирования выделяют более крупные категории.

1)       Низкоуровневые средства: интерфейсы программирования приложений (API), которые специализируются на визуализации статической картинки (OpenGL, OpenCASCADE). Очень низкий порог вхождения. Использование API «в чистом» требует квалифицированных кадров с опытом работы и больших затрат времени на разработку крупных проектов. Требует понимания работы видеопроцессора, используются структуры, близкие к машинным кодам.

2)       Высокоуровневые средства. Изначально разрабатывались как трехмерные редакторы, однако, впоследствии, получили функциональное расширение для работы с анимацией, моделированием законов физики и динамическим рендерингом (Blender, 3D MAX, Maya), а также внутренний язык программирования, который был в большей мере ориентирован на программиста, чем на аппаратную часть компьютера.

3)       Сверхвысокоуровневые средства. Обладают высоким уровнем абстракции, сохраняя при этом низкий порог вхождения для программиста. В качестве примера можно привести игровые движки (Game Engine). Главная задача игровых движков – визуализацию динамики: моделирование физических законов реального мира, взаимодействие объектов, исполнение сценариев поведения (Unity3D, Unreal Development Kit, CryTek, NeoAxis).

По типу динамического моделирования все технологии делятся на анимационные, скриптовые и физические (под «физическими» здесь понимаются технологии моделирования физических законов реального мира). При анимации изображения получается «мертвая картинка». Например, при визуализации вращающихся шестеренок, изменение размера или количества зубцов, скорость вращения сопряженных шестеренок не изменится. С помощью написания сценариев поведения (script) можно добиться желаемого эффекта. Однако возможности в этом случае будут ограничены возможностями используемого языка программирования и программных каркасов (framework), при помощи которых пишется сценарий. Большинство современных движков использую языки программирования C#, C++ и модификации языка javascript. Использование законов физики позволяет учитывать не только геометрию объектов (с помощью, так называемых колайдеров), но и материал, из которого они сделаны. Например, можно проанализировать скорость вращение шестеренок из резины, льда или металла [2]. Имитация физики наиболее требовательна к аппаратным ресурсам.

По типу лицензии выделяют свободное, проприетарное и коммерческое программное обеспечение. Лицензия ограничивает такие факторы как продажа, возможность редактирования исходного кода, монопольного лицензирования ПО, а также установку, распространение и использование конечного продукта.

Отдельно стоит сказать о кроссплатформенности. Под платформой в данном случае понимается операционная система. Большинство технологий поддерживают операционные системы MacOS, Windows и Linux.

На основе описанных критериев был проведен сравнительный анализ существующих средств визуализации (таблица 1).

Таблица 1 - Сравнительный анализ средст визуализации

Критерий

Unity

CryEngine

NeoAxis 1.0

UDK

Язык программирования

C#, javascript (модификация), Boo (модификация Python)

C++, Lua

C/C++, C#

UnrealScript

 

Поддерживаемые форматы импорта

.fbx, .obj, .max, .3ds, .dae,.mb, .mtl, .3dm, .dae,

.cgf, .cga, .chr

.fbx, .dae, .b3d, .3ds, .X,  .obj

.fbx, .dae,  .obj

Поддерживаемая платформа

Web, Windows, Mac OS X, Linux

Windows

Windows, Mac OS X

 

Windows

Лицензия

Проприетарная

Коммерческая

Проприетарная

Коммерческая

Программное редактирование полигонов

Да

Нет

Нет

Нет

Стоимость лицензии для продажи готовых продуктов

Бесплатно

20% от продажи

$695

$2500

Ограничение точек на меш

65000

64000

65000

65535

Максимальный размер текстуры

4096

16384

2048

2048

Страна производства

США

Германия

Россия

США

 

Анализ результатов моделирования происходит в несколько этапов и в заключении формирует подробные аналитические отчеты с рекомендациями для планирования производства (таблица 2) [2].

 

Таблица 2 – Типовые подсистемы ГИС

Моделирование месторождения

Моделирование шахты

Проектирование горных выработок

   Анализ модели

 

Соответственно, визуализация также в свою очередь состоит из нескольких этапов. Изначально создается дискретная модель горного массива, где под дискретой понимается наименьший элемент, представленный в виде куба с единичным отрезком 1 метр (для примера). Разные дискреты могут обладать разными свойствами, однако внутри дискреты все атрибуты считаются постоянными. Координаты дискрет можно считать в приложение из текстового файла. Поскольку свойства породы внутри одного слоя одинаковые, то для создания слоев пород применяется технология «префабов». Она заключается в том, что каждый раз инстанцируется копия заранее заготовленного объекта вместо создания нового. К примеру, на рисунке 1 изображен пример с выводом служебных данных о выполнении. Следует обратить внимание на пункты Draw Calls и Saved by batching. Эти пункты показывают на сколько объектов реально затратились ресурсы компьютера и сколько объектов было «скопировано» без дополнительных затрат[3].

F:\DropBox\Dropbox\Apps\CloudShot\shot_140103_194716.png

Рисунок 1 - Визуализация разведочных скважин на карте

 

При этом можно осуществлять навигацию, повороты и осматривать скважины с любой точки на карте. Есть возможность сделать разрез в любой узловой точке. На сцене один источник света. Использованы атласы текстур и оптимизированные шейдеры. Как видно из рисунка 1 было сохранено 6015 draw call’ов за счет технологии dynamic batching. Все это помогло сэкономить ресурсы без потери качества изображения на сцене и ускорить навигацию.

Элементы шахты рисуются при помощи той же технологии. Исходными данным для отри совки шахты являются сведения об узлах (XYZ-координата) и ветках (соединяемые узлы, высота и ширина) шахты. Эти сведения заносятся в шаблон-файл программы MS Excel, который, впоследствии, импортируется в Unity3D. Рудное тело отрисовывается по результатам стратиграфии. Результат представлен на рисунке 2.

F:\DropBox\Dropbox\Apps\CloudShot\вид3\shot_131110_213502.pngРисунок 2 - Визуализация шахты и сектора рудного тела

 

На этом визуализация исходных данных для подготовки анализа углепородного массива окончена. В дальнейшем планируется реализовать визуализацию динамических процессов, происходящих в подземной части горного предприятия: обрушение горной породы и изменение напряженно деформированного состояния углепородного массива. Это поможет спрогнозировать и предотвратит аварийные и чрезвычайные ситуации на горном предприятии.

Литература:

1.    Зеленская А.В., ГИС-технологии в российской горной промышленности [Электронный ресурс].– Режим доступа:  http://zolotodb.ru/news/10767

2.    GEOVIA Surpac™  официальный сайт [Электронный ресурс].– Режим доступа:  http://ru.gemcomsoftware.com/%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D1%8B/surpac- (дата обращения 02.03.2014)

3.    Unity - Draw Call Batching [Электронный ресурс].– Режим доступа:  http://docs.unity3d.com/Documentation/Manual/DrawCallBatching.html- (дата обращения 02.03.2014)