4.3. Основные конструкции языка
27.08.2007 г.
4.3. Основные конструкции языка>

На верхнем уровне абстракции в VRML размещаются объекты, которые можно считывать и записывать. Теоретически объекты могут содержать все допустимые в языке сущности: трехмерную геометрию, образы JPEG и т.п. Объекты, используемые для представления трехмерной графики, называются узлами, иерархическая совокупность которых образует граф сцен, каждая из которых является не просто набором узлов, а определяет еще и условия их визуализации путем задания нотации состояния, определяемой ранее созданными узлами сцены. Например, узлы Rotation или Material задают условия поворота и характеристики материала для всех последующих узлов сцены.

Все узлы могут иметь имя, тип (Cube, Sphere, Texture, Transformation и т.п.) и поля, задающие характеристики узла, отличающие его от другого узла того же типа (радиус, шаблон, текстуры). Узлы могут образовывать иерархическую совокупность, при которой один родительский узел может содержать несколько потомков, расположенных на более низком уровне. Для определения узла принят следующий синтаксис:

DEF иия объекта тип { поля потомок }

Следующий пример дает представление о структуре программ на языке VRML и содержит описание простой сцены, состоящей из красного конуса и синей сферы, освещенных прямым светом:

#VRML V1.0 ascii Separator {

DirectionalLight {

direction 0 0 - 1 # направление луча света от наблюдателя к сцене {

PerspectiveCamera { position - 8.6 2.1 5.6

orientation -0.1352 -0.9831 -0.1233 1.1417

focalDistance 10.84 }

Separator{ #Красная сфера

Material { diffuseColor 1 0 0}

# Установка цвета - красный

Translation { translation 3 0 1 }

Sphere{ radius 2.3 } }

Separator { #Синий куб

Material { diffuseColor 0 0 1

# Установка синего цвета

} Transform ( translation -2.4 .2 1

rotaon 0 1 1 .9 }

Cube {} } }

Последнее обновление ( 02.03.2009 г. )