VRML ЯЗЫК МОДЕЛИРОВАНИЯ ВИРТУАЛЬНОЙ РЕАЛЬНОСТИ |
КРАТКАЯ ИСТОРИЯ VRML |
ЕДИНИЦЫ ИЗМЕРЕНИЙ В VRML |
VRML КАК ЯЗЫК РАЗРАБОТКИ СЦЕН |
CВЯЗЬ МЕЖДУ УЗЛАМИ И ГРАФОМ СЦЕНЫ VRML |
УЗЛЫ VRML |
ЗНАЧЕНИЯ ПОЛЕЙ УЗЛОВ VRML |
ИМЕНА УЗЛОВ VRML |
ПОТОМКИ УЗЛА VRML |
СИНТАКСИС УЗЛОВ VRML |
КОММЕНТАРИИ VRML |
ОБЩИЙ СИНТАКСИС VRML |
Язык моделирования виртуальной реальности (VRML) является языком моделирования , который поддерживает трехмерные образы и трехмерный текст.
Используя отдельный VRML-броузер или же вспомогательную
программу просмотра VRML-документов, добавленную к обычному Web-броузеру,
можно просматривать трехмерную сцену, называемую также "миром".
VRML-сцена представляет собой просто совокупность трехмерных
образов, которые можно видить с помощью VRML-6poyзepa. В рамках сцены,
например такой, как образ дома, создатель сцены может позволить прогуливаться
по дому, переходя из одной трехмерной комнаты в другую.
VRML был создан Марком Песе (Mark Pesce) и Энтони Паризи (Anthony Parisi), которым помогали Гавин Белл (Gavin Bell) и Брайен Белендорф (Brian Behlen-dorf). Марк и Тони встретились в декабре 1993 года. Работая вместе, они занимались созданием трехмерного интерфейса для Web. Они понимали, что VRML должен быть отличным от HTML, но они не хотели изобретать новый язык с самого начала. После изучения нескольких существующих технологий они рассмотрели ряд кандидатов на эту роль. Месячные обсуждения завершились выбором Open Inventor ASCII File Format компании Silicon Graphics, Inc. (SGI). Основная причина выбора Open Inventor заключалась в том, что его File Format поддерживает полное описание трехмерных сцен, в которых объектами служат закрашиваемые многоугольники. Open Inventor также поддерживает освещение, материалы и текстуры, а также эффекты, придающие изображению реалистичность. Таким образом, в основе VRML лежит подмножество языка Open Inventor File Format с добавлением сетевьхх расширений. К середине февраля 1994 года была создана программа, которая рисовала трехмерный банан и закрашивала его на их компьютере. Они назвали программу Лабиринт. Месяцем позже Марк был приглашен на первую международную конференцию World Wide Web в CERN в Женеве (Швейцария). После того как он сделал презентацию VRML, он и Бранен Белендорф встретились и создали Web- узел, который описывал цели VRML. Сообщество Web откликнулось на их инициативу. Тысячи заинтересованных людей посылали им сообщения электронной почтой. Так начиналась эра VRML. Официальная публикация VRML состоялась 3 апреля 1995 года, а версия 1.0 спецификации последовала в мае того же года. Спецификация 1.0 бьхла разработана Гавином Беллом, Энтони Паризи и Марком Песе. Те сцены, которые вы будете разрабатывать в этой главе, используя VRML, соответствуют спецификации версии 1.0. Самая последняя версия 2.0 VRML поддерживает анимацию в виртуальных мирах. Прежде чем переходить к версии 2.0, необходимо получить ясное представление о концепциях версии 1.0. Большинство документов VRML, которые вы встретите на Web, основаны на VRML 1.0. Тем не менее, благодаря преимуществам VRML 2.0, которые он предлагает разработчикам и программистам, вы в недалеком будущем встретите на Web много документов VRML 2.0.
ЕДИНИЦЫ ИЗМЕРЕНИЙ В
VRML
Перед тем как заниматься синтаксисом и структурой
VRML, необходимо узнать единицы измерений, которые используются в VRML
при описании расстояния и углов в трехмерном пространстве. Также необходимо
знать координатную систему VRML , используемую для представления трехмерных
образов. Стандартной единицей измерения в VRML служит метр. Для измерения
углов используются радианы. В качестве координатной системы выбрана правокоординатная
система, основанная на "правиле правой руки", которое знакомо из школьного
курса физики. На мониторе начало координат находится в левом нижнем углу.
Ось х расположена горизонтально и "смотрит" вправо. Ось у расположена вертикально
и направлена вверх. Ось z расположена горизонтально, как и ось х, и направлена
"в монитоп".
VRML представляет собой язык разработки сцен и имеет как синтаксис, так и структуру. Сцена представляет собой упорядоченное множество узлов, которые создают трехмерный мир. Все файлы документов, которые создают сцену и содержат исходные коды VRML, должны начинаться со следующего заголовка:
#VRML V1.0 ascii |
Узел VRML представляет собой объект. Аналогично любой объект в сцене графа представляет собой узел, который описывает специфический тип объекта. Например, узел может быть Сферой (Sphere), Конусом (Cone), Цилшдрол (Cylinder) или Кубом (Cube). Эти типы узлов являются узлами простой геометрии (Simple Geometry Nodes). VRML также поддерживает другие типы узлов, такие как узлы Материала (Material) и Текстуры2 (Texture2), которые являются узлами свойств (Property nodes). Граф сцены VRML использует узлы свойств, чтобы определить материал поверхностя (Material node) для последовательности всех поверхностей. Аналогичным образом, используя узел свойств, граф сцены определяет текстуру (Texture2 node). Эта информация предназначена для броузера, который применяет ее ко всей последовательности изображаемых форм. Граф сцены VRML часто использует параметры, чтобы отличать один узел от другого, когда два узла имеют один и тот же тип, например, узел Сфера может иметь радиус, отличный от радиуса другого узла Сфера. Радиус узла Сфера является полем (field). Узел VRML может не иметь полей или иметь несколько полей , также можно присвоить ему имя.
Для обеспечения гибкости VRML позволяет присваивать
узлу имя. Поименовав узел, можно манипулировать им в пределах файла исходных
кодов или из другой программы, такой как скрипт. Присвоение узлам имен
не является обязательным, однако если вы решили присвоить имя узлу, то
оно должно быть уникальным, т.е. узел должен иметь только одно имя. Имя
узла не должно начинаться с цифры или содержать пробелы, управляющие символы,
одиночные или двойные кавычки, обратные слэши, фигурные скобки, знак +
или период.
[DEF object_name] object_type { [ fields ] [ children] } |
Cube { } |
DEF SphereName
Sphere {
radius 5 } |
Атрибуты освещенности, такие как дымка
Информация о сцене для броузеров
Поддержка источников звука
Символы пробела, табуляции, новой строки и перевода
каретки являются специальными символами. В УКМЬдокуменге можно использовать
один или более таких символов для разделения частей текста, несущих синтаксическую
нагрузку. Например, можно отделить имя поля узла от его значения, используя
пробел или символ табуляции.