Простые геометрические формы, трансформация и внешний вид

Простые геометрические формы, трансформация и внешний вид

1. Узел Shape  (Форма)

Простые объекты добавляются к сцене с помощью узла Shape.

Синтаксис узла:

 

Shape {

exposedField    SFNode          appearance      NULL

# представление геометрической формы опаределяет узел appearance

exposedField    SFNode          geometry                NULL

# саму геометрическую форму определяет одиночный узел с именем geometry

}

 

Пример (файл 1-0.wrl): создаётся куб с размерами и цветом/прозрачностью по умолчанию:

 

#VRML V2.0 utf8

 

Shape {

appearance Appearance {

material Material {

}

}

geometry Box {

}

}

 

В узле Shape необходимо использовать узлы appearance и geometry, которые описывают соответственно представление и форму объекта (см. далее).

 

 

2. В качестве значения поля geometry можно использовать один из следующих узлов, описывающих базовые примитивы языка VRML (куб, цилиндр, конус, сфера, текст).

Все примитивы изначально располагаются в координатах (0,0,0).

 

2.1. Box (Куб )

Синтаксис узла:

 

Box {

field           SFVec3f         size                    2 2 2

}

 

 

Пример (файл 1-1.wrl): создаётся параллелепипед 5.5х3.75х1.0 метров.

 

#VRML V2.0 utf8

 

Shape {

appearance Appearance {

material Material {

}

}

geometry Box {

size 5.5 3.75 1.0

}

}

2.2. Cylinder (Цилиндр)

Синтаксис узла:

 

Cylinder {

field           SFBool          bottom                  TRUE

field           SFFloat         height                  2

field           SFFloat         radius                  1

field           SFBool          side                    TRUE

field           SFBool          top                     TRUE

}

 

 

По умолчанию расположен в 0-координатах и имеет значения от +1 до –1 во всех измерениях.

 

 

Для определения радиуса и высоты цилиндра служат параметры radius и height соответственно.  В этом узле существует ещё 3 параметра: side, top, и bottom, имеющие значения TRUE или FALSE (по умолчанию TRUE), которые сообщают браузеру, выводить ли соответственно верх, низ или сторону цилиндра (например, если у нас нижняя часть цилиндра перекрывается другим объектом, для облегчения работы (увеличения скорости работы) браузера можно выставить параметр bottom как FALSE).

 

Пример (файл 1-2.wrl): создаётся ”ведро” с радиусом основания 2.5 м и высотой 10м.

 

#VRML V2.0 utf8

 

Shape {

appearance Appearance {

material Material {

}

}

geometry Cylinder {

radius 2.5      #радиус (по умолчанию 1)

height 10       #высота (по умолчанию 2)

top FALSE       #цилиндр без верхней части

}

}

 

 

2.3. Cone (Конус)

Синтаксис узла:

 

Cone {

field           SFBool          bottom                  TRUE

field           SFFloat         bottomRadius            1

field           SFFloat         height                  2

field           SFBool          side                    TRUE

}

 

По умолчанию конус будет на 1 метр выше и ниже оси Y, и радиусом основания 1 метр.

 

Пример (файл 1-3.wrl): создаётся ”колпак” с радиусом

Комментарии к записи Простые геометрические формы, трансформация и внешний вид отключены

Рубрика: Программирование

Обсуждение закрыто.