Технология трехмерной визуализации данных ГИС и САПР IndorViewer3D

Н.С. Мирза, Д.А. Петренко, А.В. Скворцов

ТЕХНОЛОГИЯ ТРЕХМЕРНОЙ ВИЗУАЛИЗАЦИИ ДАННЫХ ГИС И САПР IndorViewer3D

В данной работе предлагается универсальная технология визуализации данных для геоинформационных систем и систем автоматизированного проектирования объектов промышленного, транспортного и гражданского строительства, которая позволяет упростить понимание работы с графическими данными и решить задачи визуальной оценки проектных решений. Технология внедрена и опробована в ГИС IndorGIS 5.0 и САПР IndorCAD 5.0.

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

1. ДАННЫЕ ГИС И САПР

Обычно графические системы работают со следующими видами примитивов: точечные (точки), линейные (линии, дуги, кривые), площадные (контуры, многоугольники), поверхностные (рельеф).

Основной особенностью точечных объектов является то, что их местоположение определяется одной единственной трехмерной координатой. Также точечным объектам может задаваться угол поворота и масштаб отображения. В качестве точечных объектов могут выступать: точки поверхности, зеленые насаждения (рис. 1), надписи, дорожные знаки и др.

Рис. 1. Визуализация дерева

Линейные объекты определяются совокупностью трехмерных координат, представляющей собой некоторую пространственную полилинию. В качестве линейных объектов могут выступать: ограждения, реки, автомобильные и железные дороги, инженерные коммуникации (рис. 2) и др.

Площадные объекты определяются набором трехмерных координат, образующих полиполигон в пространстве. Причем координаты вершин объекта внут-

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

(рис. 3), озера, леса, горы (рис. 4) и др.

Рис. 2. Пример визуализации трубопровода

Рис. 3. Пример визуализации здания

Рис. 4. Пример визуализации горной поверхности

2. АРХИТЕКТУРА МОДУЛЯ IndorViwer3D

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

Технология визуализации данных IndorViwer3D основана на использовании аппаратного ускорения Microsoft DirectX 8.x. Для каждого объекта плановой проекции создается его 3D-аналог, исходя из параметров отображения и выбранной текстуры. К тому же для повышения быстродействия визуализации применяется специализированный алгоритм упрощения поверхностей (Progressive Mesh [1]), реализованный в DirectX 8.x.

В модуле IndorViewer3D реализована возможность отрисовки X-файлов особого стандартного формата, разработанного компанией Microsoft и хорошо проработанного в DirectX API.

Одним из главных преимуществ использования X-файлов является возможность преобразования файлов *.3ds в X-файлы. Это предоставляет большие возможности по созданию объектов (в том числе и с анимацией) в любом 3D-дизайнере (умеющем импортировать данные в 3ds-формат), которые затем можно загрузить в сцену IndorViewer3D.

Для построения цифровой модели рельефа авторами используется триангуляция Делоне с ограничениями [2]. Для отрисовки сверхбольших поверхностей рельефа разработан собственный эффективный алгоритм визуализации, основанный на использовании специальной структуры мультитриангуляции [3], которая позволяет получить поверхность переменного разрешения по заданному пользователем критерию. Построение мультитриангуляции основано на локальных модификациях исходной триангуляции. В качестве локальных модификаций используется удаление узла, коллапс (стягивание) ребра и коллапс треугольника триангуляции. Исходя из оптимизации некоторого локального критерия, удается получить упрощенную модель, сохраняющую все особенности рельефа исходной триангуляции. Все проведенные локальные модификации сохраняются в структуре мультитриангуляции, которая графически может быть представлена в виде направленного графа без циклов, вершинами которого являются фрагменты упрощенной модели на некотором шаге упрощения, а дугами представляются зависимости между фрагментами. Такая структура позволяет получить поверхность с заданной детализацией на каждом участке. Так, например, при визуализации поверхности рельефа земли в 3D-виде та часть поверхности, которая находится вблизи камеры, извлекается из мультитриангуляции с повышенным разрешением, а остальная поверхность - с пониженным. Это позволяет значительно увеличить скорость визуализации без заметной потери качества.

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

объекта, влияющих на его отображение, влечет изменение и перерисовку 3D-модели.

3. НАВИГАЦИЯ В ШогУ1е^тег3Б

Чтобы иметь возможность в полной мере оценить построенную сцену в 3D-виде, необходимо предусмотреть схему перемещения по ней в реальном режиме времени. Необходимо реализовать перемещение (вперед, назад, влево, вправо, вверх, вниз), а также поворот камеры (влево, вправо, вверх, вниз).

Для перемещения по 3D-сцене, построенной с помощью IndorViewer3D, можно использовать следующие методы:

1. Перемещение при помощи клавиатуры.

Перемещение производится с учетом действия физических сил, что позволяет перемещаться в свободном полете (без учета силы тяжести) как в симуляторе полета и по поверхности (с учетом силы тяжести) как в автомобильных симуляторах.

2. Перемещение при помощи мыши.

Предоставляется привычный способ перемещения

в 3D-виде как при работе с основным проектом ГИС или САПР.

3. Перемещение при помощи руля.

Предназначено большей частью для системы проектирования автомобильных дорог IndorCAD/Road для имитации проезда по проектируемой дороге.

4. ОБМЕН ДАННЫМИ С ГИС И САПР

Обычно все данные ГИС и САПР сортируются по слоям:

1. Слой точечных объектов.

2. Слой линейных объектов.

3. Слой площадных объектов.

Отображение слоя данных в 3D-виде производится с помощью технологии Асйуе-Х через реализацию специального интерфейса. Общая идея отображения данных заключается в следующем:

1. Модуль IndorViewer3D запрашивает число слоев для отрисовки в 3D, затем границы мира, начальное положение и направление камеры.

2. Для каждого слоя запрашивается его прозрачность.

3. Запрашивается число подуровней в слое.

4. Запрашивается число элементов в подуровне слоя.

5. Для каждого элемента запрашивается его тип (точечный, линейный, площадной).

6. В зависимости от типа элемента запрашивается информация о точечном, линейном или площадном объекте, где содержится его полное описание (стиль отображения, текстуры, материал и др.).

7. В зависимости от типа элемента запрашивается геометрия (трехмерные координаты) точечного, линейного или площадного объекта.

8. Модуль IndorViewer3D в зависимости от полученной информации об объекте формирует список текстур и мешей DirectX, которые потом ассоциируются с объектом и могут быть получены при следующих обращениях (если при очередном обращении

возвращается пустой список текстур или мешей, то они генерируются заново).

5. ПРИМЕНЕНИЕ МОДУЛЯ 1паогУ1е«^ег3Б В СИСТЕМЕ МогСАБ/Яоаа

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

Трехмерное представление объекта проектирования (рис. 5) стало возможно благодаря тому, что реализован принцип единой модели дороги (проекта), т.е. любые изменения в одной из проекций дороги (плане, продольном и поперечном профилях) приведут к немедленным изменениям в других проекциях. Такой подход позволяет получать непротиворечивые проектные решения, дает возможность одновременно корректировать план, продольный и поперечный профили и получать в реальном времени трехмерное представление проектируемого объекта.

І5 30-ІМД [ДІЙ

що • N ф

Рис. 5. 3Б-вид проектируемой развязки с элементами инженерного обустройства

Проектирование инженерного обустройства (дорожных знаков, разметки, ограждения, освещения, озеленения) осуществляется в разделе «план», но вместе с условными обозначениями элементов обустройства на плане формируются их 3Б-аналоги на перспективных изображениях.

В системе IndorCAD/Road можно задать траекторию проезда (пролета) по проектируемому объекту и записать проезд в файл формата АУІ и в последующем осуществлять его передачу для просмотра без системы проектирования. Кроме того, в системе имеется возможность произвольного проезда по проектируемой дороге с помощью управления стандартным игровым тренажером типа «руль с педалями» (рис. 6). Это создает практически полную имитацию движения

по проектируемой (виртуальной) дороге, на которой к тому же может случайным образом генерироваться транспортный поток. Такой подход способствует выработке скорректированных проектных решений, повышающих удобство и безопасность движения.

Рис. 6. Имитация проезда по дороге на тренажере с позиции водителя

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

6. ПРИМЕНЕНИЕ МОДУЛЯ 1паогУ1е«^ег3Б В СИСТЕМЕ МогОК 5.0

Универсальная геоинформационная система IndorGIS 5.0 обладает возможностями полнофункциональной ГИС с элементами САПР. Концептуально система IndorGIS состоит из ядра системы и различных проблемно ориентированных надстроек. Ядро системы отвечает за базовые операции по манипуляции с абстрактными документами, слоями, визуализа-торами векторных данных и т. п. В надстройках описываются конкретные реализации определенных типов документов, слоев, специальные алгоритмы анализа и обработки графической информации.

Роль 3D-вида в геоинформационных системах в чем-то похожа на его роль в системах проектирования, в первую очередь, она заключается в визуализации векторных данных и поверхности, которую можно отрисовывать с заданным растром.

С помощью системы навигации можно в реальном режиме времени перемещаться по 3D-сцене, что дает гораздо большее пространственное представление о виде векторных данных и поверхности.

К тому же 3D-вид может использоваться для визуальной оценки зон видимости. Известные алгоритмы точного расчета зон видимости очень сложны и имеют высокую трудоемкость, препятствующую их ис-

пользованию на практике, а визуальное решение является очень простым (рис. 7).

Используя количественную информацию об объектах, наличие 3Б-вида предоставляет возможность построения 3Б-диаграмм, что увеличивает наглядность геоинформации.

ЗАКЛЮЧЕНИЕ

Авторами предлагается универсальная технология визуализации данных ГИС и САПР, позволяющая упростить работу с графическими данными, делая отображение информации интуитивно понятным пользователю.

•І ІгкІогСІБ 5 - [Карта 1 *] Файл Кар~а Слой фигуры Присмотр Ре* им Запрос Отчет Транспорт Вид Серби: иг но ;

«г# #0siaVíf £ аьш & ча е # # х - щ> % ш* я» % # t & % * # ÿ\

© о isa ^ â f* \fA<2 ml * + £€<%* XX BS Ш И « #4

^ Карта I

0 ЩСИ Папка В ЩД i Triar gui Ш  SC Исходные данн В 0 ^ Модель О • © Узлы 0/ F 0%f > 0 Д Ж Т реуго/ Ш”0 ^ Анализ ^  3 мерный вид (Tiiângul) * -  И  I У

Масштаб: |l:1 (СЫ+1) X = 367,509; Y = 982,213 Режим панорамирования изображения

Рис. 7. Визуализация триангуляции в 3Б-виде

ЛИТЕРАТУРА

1. Hoppe H. Progressive Meshes // Computer Graphics. 1996. Р. 99 - 108.

2. Скворцов А.В. Триангуляция Делоне и ее применение. Томск: Изд-во Том. ун-та, 2002. 128 с.

3. PuppoE. Variable resolution triangulations // Computational Geometry. 1998. V. 11. P. 219 - 238.

Статья представлена кафедрой теоретических основ информатики факультета информатики Томского государственного университета, поступила в научную редакцию «Информатика» 18 мая 2005 г.