1.2.2.. Основные конструкции языка |
31.12.2007 г. | |
1.2.2.. Основные конструкции языкаНа верхнем уровне абстракции в VRML размещаются объекты, которые можно считывать и записы-вать. Теоретически объекты могут содержать все допустимые в языке сущности: трёхмерную геомет-рию, образы JPEG и т.п. Объекты, используемые для представления трёхмерной графики, называют-ся узлами, иерархическая совокупность которых образует граф сцен, каждая из которых является не просто набором узлов, а определяет ещё и условия их визуализации путём задания нотации состоя-ния, определяемой ранее созданными узлами сцены. Например, узлы Rotation или Material задают условия поворота и характеристики материала для всех последующих узлов сцены. Все узлы могут иметь имя, тип (Cube/box, 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 {} } } //Cube используется //версии 1.0, а box- в версии 2.0 |
|
Последнее обновление ( 02.03.2009 г. ) |