Translate to English
Translate to French
Translate to German
Translate to Korean
Поблагодарить автора
Поблагодарить автора

Главное меню
Главная
Гостевая книга
Новости
Астрология и гадания
курсовая работа №1
Чат
Курсовая работа №2
курсовая работа №3
Партнеры
Игра Gold
Архив Дисков
Биография
Статья
Авторизация





Забыли пароль?
Ещё не зарегистрированы? Регистрация
moon
CURRENT MOON
 
     
 
1.2.2.. Основные конструкции языка Версия для печати Отправить на E-mail
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 г. )
 
« Пред.   След. »