Internet Space

Исследование возможности применения VRML (языка моделирования виртуальных миров) и средства создания трехмерных сцен в формате языка VRML 2.0 Internet Space Builder для трёхмерного картографирования

    Шевцов Вячеслав,ДонНТУ
     

1. Язык моделирования виртуальных миров (VRML)


Язык VRML (Virtual Reality Modeling Language) предназначен для описания интерактивных 3D объектов и миров. Он был разработан для применения в сетях INTERNET и INTRANET. На сегодняшний день этот язык является сетевым стандартом и поддерживается ведущими мировыми производителями программного обеспечения.

VRML дает разработчику возможность создавать статические и динамические 3D модели а также позволяет включать и обрабатывать в моделях гиперссылки на звуковые, видео, html файлы, другие VRML объекты.

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

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

Для воспроизведения VRML объектов необходим VRML браузер, поддерживающий язык VRML в спецификации 2.0

Наиболее доступными и простыми в использовании являются браузеры, интегрирующиеся в Microsoft Internet Explorer (Microsoft VRML Viewer 2.0) и Netscape Navigator (SGI Cosmo Player) или plug-in Cortona VRML Client.

Каждый VRML объект описывается структурой, внешне очень напоминающей тип Record в Pascal. Для того, чтобы создать объект с необходимыми свойствами, нужно описать структуру, определяющую данный тип объектов, ставя в соответствие полям этой структуры нужные значения.

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

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

    В общем, виде каждый VRML файл состоит из следующих частей:
  • · Заголовок #VRML V2.0 utf8 Эта строка является первой для любого файла, содержащего описание VRML объектов.
  • · Описание прототипов Эта часть является необязательной. В ней пользователь может описать свои собственные классы объектов для дальнейшего использования в программе. Это позволяет сократить исходные тексты. Следует заметить, что описанные прототипы могут являться комбинацией, как стандартных классов, так и описанных выше прототипов.
  • · Описания графа сцены В этой части описываются объекты, которые необходимы для построения для сцены (мира) задуманного пользователем.
  • · Описание путей трансляции сообщений Эта часть является необязательной. Она необходима только в том случае, когда есть необходимость в создании динамических объектов (объектов, меняющих свои свойства с течением времени). Именно в этой части программы происходит связывание объектов - источников событий с объектами - приемниками событий.


2. Применение программного обеспечения фирмы Parallel Graphics для создания трехмерных сцен в формате языка VRML 2.0


Internet Space Builder (ISB) компании Parallel Graphics является первым ориентированным на компьютеры типа IBM PC средством создания трехмерных сцен в формате языка VRML 2.0. В этом продукте объединены богатые возможности построения сложных пространственных объектов с простотой обращения, характерной для выпущенного ранее популярного Конструктора Виртуальных Миров (Virtual Home Space Builder™ - VHSB).



Рис.1-Общий вид окна Internet Space Builder

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


3.Построение объемных сцен: концепция


Формы представляют собой объемные выпуклые геометрические фигуры, для которых определены операции добавления и вычитания к уже присутствующим в виртуальном мире объемным телам. Операция добавления формы создает в пустом пространстве сплошное тело, соответствующее добавленной форме. Части добавляемой формы, попадающие в уже занятый объем пространства, не создают в нем новых граней или границ. Например, при добавлении длинного цилиндра (оси) к сплошному шару (для создания волчка) часть цилиндра, попадающая внутрь шара, "растворяется" в нем, а изменения в виртуальном мире происходят только вне занятого шаром пространства. Операция вычитания формы, наоборот, изменяет только те части пространства, которые уже заняты объемом тел. При вычитании формы из тела удаляются части, соответствующие вычитаемой форме, и образуются новые поверхности, ограничивающие новый объем, занимаемый телом. В рассмотренном выше примере вычитание цилиндра из шара приводит к появлению в нем отверстия с окраской стенок, соответствующей окраске стенок вычтенного цилиндра. Таким образом, формы играют роль инструментов при построении виртуального мира.

Сцена является синонимом строимого трехмерного пространства. Она является также результатом действий по строительству виртуального мира. Любая сцена в ISB может включать в себя две различные части: "замороженную" и "мобильную". Замороженная часть сцены образуется при добавлении непосредственно в нее объемных фигур из галереи форм или при удалении частей объема уже имеющихся в сцене фигур при операциях вычитания форм. Замороженная часть сцены представляется в виде набора отдельных граней, причем каждая грань принадлежит только самой сцене, а не какому-либо телу в ней. Поэтому одни фрагменты замороженной части сцены не могут быть перемещены или изменены в размерах независимо от других. Передвижение или деформирование всего виртуального мира целиком также не допускается программой в полном соответствии с законами реального мира.

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

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

4.Декорирование сцены


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

5.Свойства материала граней


    Каждая грань тела в виртуальном мире имеет набор свойств, описывающих ее материал. В ISB могут быть заданы следующие свойства материала грани:
  • Цвет. Вы можете задать цвет любой грани в сцене. При этом вся грань будет равномерно окрашена в выбранный цвет. Цвет грани в окне Перспектива зависит от ее ориентации по отношению к источнику света в сцене, подобно тому как это наблюдается и в реальном мире. Поэтому по-разному расположенные грани, окрашеные в одинаковый цвет, могут выглядеть темнее или светлее.
  • Текстура. Вы можете наложить изображение (текстуру) на любую грань в сцене. Текстура будет наклеена на всю грань, подобно обоям, с автоматическим повтором рисунка, если размеры грани больше размеров изображения текстуры. Например, при наложении на грань текстуры с рисунком одного кирпича вся грань будет выглядеть как кирпичная стена. Цвет грани будет скрыт под текстурой и не виден.
  • Прозрачность. Вы можете установить коэффициент прозрачности материала грани. Например, если установить прозрачность материала в 50%, то грань станет полупрозрачной, и в окне Перспектива будут видны как ее материал, так и предметы, расположенные позади грани. Установка параметра прозрачности в 100% превратит грань в невидимую. Подбором прозрачности грани можно имитировать поверхности типа стекол в окнах и тому подобные элементы сцены.
  • Способ наклеивания текстуры. При создании стены может понадобиться изменить период повторения рисунка кирпичей (бревен) на ней или их ориентацию. Кроме того, желательно подобрать период и расположение рисунка текстуры таким образом, чтобы стена состояла из целого количества строительных элементов по вертикали и по горизонтали. Указанные настройки, а также некоторые более сложные трансформации рисунка текстуры при ее наклеивании на грани, сходны с операциями, выполняемыми при наклеивании карты Земли на глобус.
  • Движение текстуры. Возможно сделать рисунок текстуры движущимся по грани и установить скорость и направление движения. Движущиеся (текущие) текстуры весьма полезны, если, например, вам потребуется воспроизвести в сцене поверхность текущей воды в реке или показать небо с летящими по нему облаками. Ко всем граням, появляющимся в результате операций добавления и вычитания форм при редактировании сцены будут применены свойства материала сферы, показанной в окне Материал. Окно Материал расположено в левом нижнем углу экрана ISB в Типовой компоновке.

    3.Выводы относительно возможности применения Internet Space Builder для трёхмерного цифрового картографирования.


    В ходе данной работы были оценены возможности применения VRML для трёхмерного цифрового картографирования (создание трёхмерной объектной модели) и средства создания трехмерных сцен в формате языка VRML 2.0 - Internet Space Builder (ISB) компании Parallel Graphics.

    Данный продукт позволяет создать цифровую пространственную модель по растровой подложке, плану, карте. В этом случае удобно использовать модуль 3D-Analist ГИС ArcView



    Рис2.-Пример окна 3D Analyst с созданным рельефом и ситуацией

    - создание цифровой модели рельефа, получение двумерных полигональных Тем (здания), точечных и линейных Тем (слоёв) и преобразование их в трёхмерный VRML- формат. После этого с помощью Internet Space Builder можно придать пространственной модели и объектам нужную конфигурацию (увеличить, уменьшить, изменить форму), придать им наглядность при помощи наложения текстур и т.д.

    В результате возможно просматривать полученные данные в виде плоской или объёмной моделей, редактировать модель, публиковать полученные модели в Интернете.

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

    Кроме того, выявлен ряд существенных недостатков использования Internet Space Builder:

    • - сложность файла описания объектов, что значительно усложняет последующее изменения их свойств без применения Internet Space Builder (вручную описанный элементарный объект занимает гораздо меньше строк в текстовом файле, но при созданнии сложных объектов применение Internet Space Builder оправдывает себя);
    • - некоторая информация, содержащаяся в VRML-файле, может быть потеряна при его редактировании в Internet Space Builder;
    • - ограничение уровня сложности сцены, допустимого для демонстрационной версии Internet Space Builder ( при использовании бесплатной версии этого продукта нельзя сохранить сцену, если в ней превышено одно из ограничений посложности: 1400 граней, 7 текстур, 2 картины, 2 видеофильма, или 2 ссылки(URL))

    Щёлкнув по ссылке ниже,Вы имеете возможность скачать VRML-сцену,созданную в ГИС ArcView с помощью модуля 3D Analyst, которая является примером трёхмерного ландшафта в формате VRML.

    26 апреля 2004 года,Донецк

    Назад
    Hosted by uCoz

     

Hosted by uCoz