Перевод документации по VRML 2.0
[1] [2] [3]
Жирным черным шрифтом обозначаются
заголовки или важние замечания
Файл в формате VRML
Такой файл должет оканчиваться
суффиксом .wrl, в первой строке должно быть
указано:
#VRML V2.0 utf8
эта строка указывает смотрелке какая версия vrml
использовалась
Коррдинатная система
Координатная система (КС) в vrml
построена по иерархическому принципу - каждый
объект имеет свою собственную (локальную)
систему координат и может встраиваться в другие
объекты (или наборы объектов, виртуальные миры
или их фрагменты), при этом указываются
координаты точки в КС , в которую вставляется
объект. Координата 0,0,0 встраиваемого объекта
устанавливается в эту точку и все точки
встраиваемого объекта пересчитываюся
интерпретатором vrml в соответствие с их новым
положением.
Представление цвета
Цвет определяется тремя основными
составляющими RGB (красный зеленый синий). Каждая
составляющая представляется числом от 0 до 1. К
примеру [0.5 1 0]
Поля
Поля - элементарные типы данных,
используемые в vrml для представления
геометрической информации, описаний материалов
и т.д.
Имеются следующие поля:
SFBool -
двоичный тип, может принимать значения - TRUE или
FALSE
SFColor/MFColor - цвет, определяется одним RGB или
несколькими (ноль или больше), Пример SFColor foocolor [0
0.3 0.9] MFColor fooColor [ 1 0 0, 0 1 0, 0 0 1 ]
SFFloat/MFFloat - действительное
число с плавающей точкой или набор таких чисел
разделенных запятой. Пример SFFloat [1.238] MFFloat [0.235, 2.66,
55.7]
SFImage - 2-х мерная
картинка определяемая: ширина высота
число_пикселей набор_пикселей. Пример: fooImage 1 2 2 0.5
0.6
SFInt32/MFInt32 - целое
32-битное число или набор челых чисел разделенных
запятой
SFNode/MFNode - одна нода
или группа нод
SFRotation/MFRotation -
вращение или группа полей разделенных запятой
определяющих вращение. Определяется ось_X ось_Y
ось_Z угол (радианы) Пример [0 0 1 3.14] - поворот вокруг
оси Z на 180 градусов
SFString/MFString - строка или
группа строк разделенных запятой
Пример [Раз, Два, Три]
SFTime/MFTime - время или
группа полей разделенных запятой
определяющий время прошедшее с 1 января 1970 года
SFVec2f/MFVec2f - двухмерный
вектор или группа двухмерных векторов
Определяется: [координыта начальной точки,
смещение_S, смещение_T]
Если начальная тока 0 0 то она опускается
Пример [ 12 48, 55, 88]
SFVec3f/MFVec3f - трехмерный вектор или группа
трехмерных векторов
Определяется: [координыта начальной точки,
смещение_X, смещение_Y, смещение_Z].
Если начальная тока 0 0 0 то она опускается
Пример [ 12 48 99, 55, 88 12]
Ноды
Ноды - основные элементы vrml. Служат
для описания геометрических или физичесикх
свойств объектов.
Геометрические ноды
Box , Cone, Cylinder, ElevationGrid, Extrusion, IndexedFaceSet,
IndexedLineSet,
PointSet, Sphere, Text
содержат математичесикое представление
трехмерных точек , линий, поверхностей, текстовых
строк .
Ноды
определяющие свойства геометрических нод
Color , Coordinate, Normal, TextureCoordinate.
Ноды определяющие геометрические
сенсоры
ProximitySensor, VisibilitySensor, TouchSensor, CylinderSensor,
PlaneSensor, SphereSensor. Генерируют события согласно
действиям пользователя, такие как двежения миши
или перемещение в виртуальном пространстве
Группирующие
ноды
Anchor, Billboard, Collision, Group, Transform.
Группируют подчиненые (child) ноды или другие
группы нод. Позволяют производить над группами
различные действия.
Внешний вид
Appearance , FontStyle, ImageTexture, Material, MovieTexture,
PixelTexture,TextureTransform
Прочие ноды
AudioClip, DirectionalLight, PointLight , Script, Shape, Sound,SpotLight, WorldInfo - ноды определяющие
звековое сопровождение, освещение, JAVA скрипты,
информацио о vrml-сцене и формы
Геометричекие ноды
Куб
- Box
Box {
field SFVec3f size 2 2 2
#размер куба по трем осям (2 2 2 - пример записи)
}
отсчет вектора size ведется от центра куба к
стенкам по осям X Y Z
Нуль КС находится в центре куба
[1] [2] [3]
|