Cloud of Science. 2016. T. 3. № 1 http:/ / cloudofscience.ru ISSN 2409-031X
Использование игровых визуализаторов графики в современных геоинформационных системах
К. Ю. Жигалов*,**
*Московский технологический институт 119334, Москва, Ленинский проспект, 38а
"Институт проблем управления имени В. А. Трапезникова РАН 117997, Москва, ул. Профсоюзная, 65
e-mail: [email protected]
Аннотация. Современные профессиональные геоинформационные системы существенно отстали в качестве 3D-графики, что затрудняет их полноценное применение в существующих условиях. В статье рассмотрены основные отличия принципов работы игровых визуализаторов графики (так называемых графических движков) от принципов построения профессиональных геоинформационных систем. Данные аспекты препятствуют построению мощных, современных с графической точки зрения, геоинформационных систем. Анализ противоречий, рассмотренных в статье, позволит минимизировать их при применении игровых движков (например, Unity) для удешевления и ускорения производства современных ГИС нового поколения.
Ключевые слова: ГИС, игровые визуализаторы, построение ГИС, 3DTOC
1. Введение
В настоящее время SD-графика все больше входит в нашу жизнь. Она позволяет лучше представить различные процессы и явления людям без специального образования и пространственного воображения [1]. К сожалению, современные геоинформационные системы были заложены более 10 лет назад. В то время большая часть нагрузки по воспроизведению графики на мониторах ложилась на системный процессор, а не на процессор видеокарты. Это обуславливает их существенное отставание в графической составляющей, выражающееся не только в медленном отображении сцены, но и в невозможности воспроизводить современные графические эффекты (например, прозрачность) [2].
В ситуации с играми все абсолютно противоположно: они построены на всех современных технологиях и позволяют максимально использовать все ресурсы современного компьютера. Поскольку большинство из них построено на унифицированных графических движках, таких как Unity, Unreal Development kit, Cry engine и т. д., было бы логично использовать их для быстрого создания современного геоинформационного приложения.
Кроме скорости создания нового ПО (программного обеспечения) использование графического движка позволит сравнительно легко обновлять ядро системы под современные стандарты графики.
Тем не менее существует ряд препятствий этому решению, связанных с первоначальной ориентацией графических движков на компьютерные игры [2]:
1. Используется только относительная система координат с центром внутри графической сцены, в то время как стандартные ГИС используют в основном географические системы координат.
2. Применяются бесшовные повторяющиеся текстуры максимум в ИБ, разрешении (1920^1080 пикселей). ГИС использует аэрофотосьемки, космические снимки и т. д. Они не повторяются и могут иметь разрешение в несколько десятков тысяч пикселей по каждой из сторон.
3. Объекты в сцене должны содержать минимальное количество плоскостей (полигонов), а максимальное качество картинки достигается текстурами. ГИС стремится к точности математических моделей, соответственно стремится к максимальному количеству полигонов.
4. Позиционирование объектов в сцене осуществляется «на глаз». В ГИС необходимо точное позиционирование объектов (с точностью до сантиметров).
5. Отсутствует возможность отображения срезов объектов, срезанных другими объектами.
6. Игровые движки не приспособлены для отображения иконок меню.
В статье рассматривается каждый из указанных пунктов и возможные пути решения соотвествующих задач.
2. Использование только относительной системы координат
Для игровых систем, а также систем 3Б-моделирования нет никакой необходимости использовать сложную систему координат, поэтому применяются относительная система координат. Тем временем все программы ГИС используют географические системы координат [2].
Поскольку перестроить систему координат графического движка с относительной на географическую представляется нерешаемой задачей (т. к. он ориентирован на прямую работу с видеокартами), естественно использовать пересчет координат для отображения их на экране, ввода/вывода данных и их корректировки (рис. 1). При такой постановке вопроса сцена выстраивается относительно Центра мира — опорной точки, от которой будут сдвинуты все остальные, у этой точки 3 параметра: широта, долгота, превышение.
Center Наимен Тонка
Исходные данные В ^4° 12 44"
81-60 L 87° 2" 11.0007"
■*7Íp2 X 6009643.84742963
71 Y 15502374.1154795
■ те
78 verxnya pachka 78 nizhnya pachka Лицензионный уча! W Срез
PI \~2 p|
p| \~4 I I
PI Г5
PI 16
Рисунок 1. Отображение географических координат выбранной точки
Программное средство должно осуществлять преобразование из относительной системы координат в географическую угловую (град/мин/сек) или метровую. При этом внутренняя система координат остается в метрах с центром в {0, 0, 0}[3].
При этом основные преобразования можно сделать в коде достаточно компактно и точно через математику кватернионов. Для пересчета между различными системами координат используется ГОСТ Р 51794-2008 [4]. Эквивалентный код можно видеть на рис. 2.
double Jí = 6367558.4968 * B.rad - sinB2 * (16002.8999 +■ 66.9607 * sin2B + 0.3515 * sin4B -12 * (109509.0 - 574709.0 * sin2B + S63790.0 * sin4B - 398600.0 * sinbB)))));
double у = (5.0 4- 19 * n) * powl9_5 + 1 * cosB * (637S245.0 +■ 21346.1415 * sin2B + 197.1599 * sil 9.5977 * sin6B +■ 12 * (1979294.16 - 2136826.66 * sin2B + 17.9S * sin4B - 11.99 * sin6B +
Рисунок 2. Фрагмент программы на С++, отвечающий за пересчет систем координат
Точность пересчета на тестовом примере проверялась путем конвертации данных между угловой системой координат, системой координат СК-42, которая до
сих пор достаточно широко распространена, в локальную систему координат программы и в обратном порядке. Точность конвертации составила 100%.
3. Использование бесшовных повторяющихся текстур
В играх нет необходимости точно отображать местность, т. к. она не является реальной моделью. В геоинформационных системах местность должна быть отображена достаточно точно, в связи с чем повторяющихся бесшовных текстур применять нельзя.
Единственным выходом из ситуации является максимально возможное сжатие входных данных (например, фотографий) в графических редакторах до появления визуальных искажений. Обычно стандартное изображение сжимается до 70%, что существенно повышает производительность программного обеспечения.
4. Минимальное количество плоскостей в моделях
В играх большая часть форм зданий, сооружений и рельефа заменена специальным образом (с применением подсветки при рендерах) изготовленными текстурами. ГИС же стремится к максимально возможному геометрическому соответствию каждого объекта. Тем не менее количество объектов в сцене ГИС системы может достигать нескольких сотен и при максимальном соответствии каждого объекта его реальным геометрическим параметрам, число одновременно отображающихся полигонов будет стремиться к нескольким миллионам. Ни одна современная графическая платформа не в состоянии производить такое количество расчетов, не говоря уже о компьютерах обычных пользователей такого рода систем. В итоге задача сводится к некоему компромиссу.
Для этого при построении моделей для ГИС необходимо выбирать важные для конкретного проекта параметры и только их и применять. Как показано на рис. 3, фрагменты лестниц, фонарные столбы и металлоконструкции смоделированы, а шифер, окна и стены сделаны в виде текстур по ровной поверхности [5].
5. Позиционирование объектов в сцене
В игровых системах используется два вида позиционирования:
- на глаз;
- по двум точкам.
Рисунок 3. Пример изготовления модели гибридным способом
К сожалению, оба вида позиционирования объектов не подходят для ГИС. Это связано с недостаточной точностью их размещения при таком подходе. В геоинформационных системах применяются следующие подходы [5-6]:
- по трем точкам (выбираются характерные точки на имеющемся рельефе или сцене и сопоставляются с соответствующими или соприкасающимися точками на позиционированной модели);
- по координатам (на модели расставляется не менее трех точек в системе координат, использующейся в ГИС, после чего модель при ее загрузке автоматически позиционируется в геоинформационной системе).
Соответственно графическому движку необходимо произвести обновления для возможности такого рода действий. Их будет достаточно для получения качественных, измеряемых и подробных визуальных образов.
6. Отсутствие возможности отображения срезов объектов, срезанных другими объектами
В играх все представляется в виде моделей и срезы не требуются. В геоинформационных системах, ориентированных, например, на маркшейдерию, срезы необходимы для получения визуальной информации по пластам горных пород (рис. 4).
При построении сложных систем отображения, таких как поверхность карьера с одновременным отображением пластов, получается срез объекта, с пересением с
другими объектами (см. рис. 5). Как видно на рис. 5, при этом будет получаться максимально информативная модель.
Рисунок 4. Пример визуализации пластов горных пород с использованием срезов
Для такого рода отображений целесообразно использовать проходы рендера, задействованные для второстепенных целей в играх (например, глубины цвета или преломления). У этого метода есть и обратная сторона — отсутствие данных эффектов в момент отображения срезов. Тем не менее результат будет достигнут [1].
Рисунок 5. Пример отображения среза объекта, срезанного другими объектами
Следует отметить, что на момент написания статьи существовал вопрос отображения выреза пластов в местах пересечения их с существующим на другую дату рельефом.
Решением этого может стать построение сети треугольников по обеим сторонам поверхности Делоне с целью нахождения точек пересечения поверхностей между собой (рис. 6) [3]. Из таких точек строится новая матрица высот, которая и отображается пользователю в местах пересечения (рис. 7). Как показали расчеты, для просчета точек пересечения модели поверхности из 300 000 треугольников с моделями пластов, состоящими из 40 000 треугольников, компьютеру (тестовая конфигурация Intel Core I5-4440/ 8Gb RAM/SSD/ Nvidia GTS 570) требуется в среднем 4 сек.
Рисунок 6. Пример одного из решений по пересечению плоскостей в графическом виде
Рисунок 7. Пример работы срезов методом деления треугольников при отображении
рельефа с элементами пластов
7. Игровые движки не приспособлены для отображения иконок меню
Игровые движки изначально ориентированы на изменяемую картинку и на отображения графически сложных элементов меню используют тот же рендер, что и для сцены. Это позволяет, с одной стороны, применять сложную графику для отображения пунктов меню, с другой — используется машинное время на рендер [1].
Для отображения меню, похожего на MS Office, компьютеру (тестовая конфигурация Intel Core I5-4440/8Gb RAM/SSD/Nvidia GTS 570) требуется лишних 0.5 сек. Данный факт сказывается на скорости работы программы в целом. В связи с чем рекомендуется использовать максимально простой интерфейс, желательно с буквенным обозначением (рис. 8).
Открыть проект XZ Y RY Визуализировать пласты
В: 54° 12'45.9666" i»i Center Наимен Plast 71
L: 87° 2'44.1159" #l Модели 54° 1Z 44"
SelectObject Визуализация 87° 2111.0007"
»I Meassure 6009643.84742968
И f^H Исходные данные 15502374.1154795
Лицензионный уча<3агрузи Project/ИсходныеДаннь
точки посадили42 Цвет
■ Plast 71 1 Plast 73-72 Прозрачность
щ Plast 78 niztinya pa
Plast 78 verxnya рг
Щ Plast 78
Щ Plast 81-80
Рисунок 8. Пример использования графического интерфейса с максимально возможным применением шрифтов
8. Заключение
Следует отметить, что это далеко не все сложности, как показала практика, возникающие при интеграции игровых графических движков в несвойственную им структуру. Тем не менее, несмотря на всю сложность применения игровых наработок в серьезных системах, этот путь представляется наиболее целесообразным при развитии современных ГИС в ближайшие годы.
Литература
[1] Жигалов К. Ю. Адаптация и использование современных ГИС для визуализации информации в корпоративных системах на примере угольной добычи открытыми способами // Современные проблемы науки и образования. 2014. № 6 (http://www.science-education.ru/120-16076).
[2] Zhigalov K. Usage of the game technologies engines for the purpose of modern geographic information systems creation // ITM Web of Conferences. 2016. Vol. 6. P. 03018.
[3] Скворцов А. В. Триангуляция Делоне и ее применение. — Томск : Изд-во Томского университета, 2002.
[4] ГОСТ Р 51794-2008 Глобальные навигационные спутниковые системы. Системы координат. Методы преобразований координат определяемых точек.
[5] Жигалов К. Ю. Принципы изготовления трехмерных моделей объектов для использования в процессах автоматизации строительства // Современные проблемы науки и образования. 2014. № 4 (http://www.science-education.ru/118-14083).
[6] Жигалов К. Ю. Методики построения современных геоинформационных систем с учетом новых компьютерных и сетевых технологий // Альманах современной науки и образования. 2013. № 7(74). С. 66-68.
Автор:
Кирилл Юрьевич Жигалов — кандидат технических наук, старший научный сотрудник лаборатории 22, Институт проблем управления имени В. А. Трапезникова РАН; доцент ка -
федры информатики и автоматизации, Московский технологический институт
Features of Use Games Graphics Engine in Contemporary Geoinformation Systems
Kirill Yu. Zhigalov*,**
'Moscow Technological Institute 38A, Leninskiy pr., Moscow, Russia, 119334
**V. A. Trapeznikov Institute of Control Sciences of Russian Academy of Sciences 65, Profsoyuznaya st., Moscow, Russia, 117997
e-mail: [email protected]
Abstract. Modern professional geographic information systems significantly lagged behind in a quality of 3D graphics, that complicates their full application in the existing conditions. The main differences of the principles of game engines work from the principles of creation of professional geographic information systems structure are considered in the article. These aspects interfere with construction of modern from the graphic point of view, geographic information systems. The analysis of the contradictions considered in article will allow to minimize them at application of game engines (for example, Unity) for reduction in cost and acceleration of production of modern GIS of new generation.
Keywords: geoinformation, unity, 3D in geoinformation.
Referense
[1] Zhigalov K. Yu. (2014) Sovremennye problemy nauki i obra-zovanija, 4 (http://www.science-education.ru/118-14083).
[2] Zhigalov K. (2016) ITM Web of Conferences, 6:03018.
[3] Skvorcov A. V. (2002) Trianguljacija Delone i ejo primenenie. Tomsk, 2002. [In Rus]
[4] GOST R 51794-2008 Global'nye navigacionnye sputnikovye sistemy. Sistemy koordinat. Metody preobrazovanij koordinat opredeljaemyh tochek. [In Rus]
[5] Zhigalov K. Yu. (2014) Sovremennye problemy nauki i obrazovanija, 6. (http://www.science-education.ru/120-16076). [In Rus]
[6] Zhigalov K. Yu. (2013) Almanah sovremennoj nauki i obra-zovanija, 7(74):66-68. [In Rus]