Справочник по VRML : Определение собственных объектов

смотрим также

Материал из Справочник Web-языков

Перейти к: навигация, поиск


Содержание

DEF

Задает имя описываемой фигуре.

Синтаксис:

DEF name
    Cube {}

или

DEF name
    Material {}

или

DEF name
Separator {
    Сгруппированные узлы, описывающие фигуру 
    }

Для того, чтобы вставить ранне описанную фигуру, используем команду USE.

Separator {
    USE name 
    }

WWWAnchor

Используется для того, чтобы загрузить новую сцену в броузер VRML, когда пользователь выбирает узел-потомок. Узел очень напоминает узел Separator в том отношении, что он сохраняет состояние перед обходом узлов-потомков и восстанавливает состояние по завершении этого действия.

Пример:

WWWAnchor { 
    description "" # SFString 
    map NONE # SFEnum 
    name "" # SFString 
    }
description
- Определяет выражение, которое броузер может выводить на экран в своей строке name вместо URL.
map
- Указывает, будет или нет броузер посылать координаты точки в пространстве объекта вместе с URL, когда пользователь выберет этот achor ( якорь ).
Возможные значения:
  • NONE - по умолчанию
  • POINT - координаты точки на объекте, которую выбрал пользователь, будут добавлены в URL в поле name в формате "? x, y, z".
name
- Определяет локальный файл или файл на Web, который содержит новую сцену.

WWWInline

Вставка объекта из другого файла.

Синтаксис:

WWWInline {
    name "" 
    bboxSize 0 0 0 
    bboxCenter 0 0 0 
    }
name
- путь к файлу
bboxSize,bboxCenter
- показывают пользователю размеры и положение вставляемого объекта, пока файл погружается (не обязательны).

IndexedFaceSet

Используется для представления трехмерных фигур, используя многоугольники с вершинами, расположенными в текущих координатах.

Пример:

IndexedFaceSet { 
    coordIndex 0 # MFLong 
    materialIndex -1 # MFLong 
    normalIndex -1 # MFLong 
    textureCoordIndex -1 # MFLong 
    }
coordIndex
- Определяет координаты граней многогранников, причем значение индекса начинается с 0. Неотрицательные значения индекса отвечают трехмерной точке ( х, у, z ). По определению многогранник должен иметь три или более линии, ограничивающие каждую грань. Поэтому необходимо определить как минимум три координатных индекса ( координаты трех точек в пространстве ) для каждой грани многогранника. Величина, равная -1 в поле coordIndex, указывает на конец текущей грани. Если многогранник содержит боле одной грани, необходимо отделять каждую грань от следующей значением -1. После последней грани многогранника также необходимо поставить значение -1.
materilIndex
- Определяет индекс материалов, который будет использоваться броузером для каждой вершины многогранника.
normalIndex
- Определяет индексы нормалей, которые броузер использует для узлов простой геометрии. с их помощью вычисляется эффект света от поверхностей.
textureCoordIndex
- Определяет индексы текстур, которые броузер свяжет с заданными координатами.

Документы VRML используют индексы IndexedFaceSet в рамках поля coordinateIndex для того, чтобы определить грани многогранника. Броузер преобразует вершины многогранника, используя текущего преобразования.

Если привязка координат текстуры имеет тип PER_VERTEX, то можно связывать явные координаты текстуры ( определенные узлом textureCoordinate2 ) с вершинами группы узлов простой геометрии, одна после другой. Однако если привязка определена как PER_VERTEX_INDEXED, тогда можно связывать координаты текстуры с вершинами многогранника, используя индексы, которые вы указали в поле textureCoordIndex.

Для всех узлов простой геометрии, основанных на описании вершин, справедливо следующее. Если вы определяете текущую текстуру, но не указываете координат текстуры, броузер применяет задаваемое по умолчанию отображение координат текстуры, используя ограничивающий прямоугольник. Размеры этого ограничивающего прямоугольника заданы в терминах S и T. Наибольший размер этого прямоугольника определяет S-координаты, а следующий по длине размер прямоугольника определяет T-оординаты. S-координаты изменяются в пределах от 0 до 1, пробегая значения от одного конца прямоугольника до другого. Область значений Т-координат начинается с числа, лежащего между 0 и отношением второго по длине размера прямоугольника к его самому длинному размеру.

IndexedLineSet

Документы VRML используют этот узел для того, чтобы представлять трехмерные формы путем построения поли линий ( polylilines ) т.е. формировать "проволочные" многогранники, используя вершины, расположенные в текущих координатах. Другими словами, поли линии показывают грани, которые не являются сплошными.

Пример:

IndexedLineSet { 
    coordIndex 0 # MFLong 
    materialIndex -1 # MFLong 
    normalIndex -1 # MFLong 
    textureCoordIndex -1 # MFLong 
    }
coordInex
- Определяет координаты вершин узлов поли линий, где значение индекса начинается с 0. Неотрицательные значения индекса соответствуют трехмерным точкам ( x, y, z ). Поскольку поли линия является фомой многогранника, она должна по определению иметь три или более линии, которые ограничивают воображаемую грань. Необходимо определить как минимум три координатных индекса, т.е. три трехмерных точки для каждой грани поли линии. Значение индекса, равное -1 в поле coordIndex, указывает на конец текущей грани. Если многоугольник имеет более одной грани, то каждая из них отделена от другой величиной -1. После последней грани также должно идти значение -1.
materilIndex
- Определяет индекс материалов, который броузер будет использовать для каждой вершины поли линии.
normalIndex
- Определяет индексы нормалей, которые броузер использует для вершин, входящих в состав класса узлов простой геометрии.
textureCoordIndex
- Определяет индексы для каждой текстуры, которую броузер связывает с заданными координатами ( вершинами ).

Документы VRML используют индексы IndexedLineSet в поле CoordIndex для того, чтобы задать вершины поли линии. Броузер преобразует вершины, используя текущие преобразования.

Normal

Используется для того, чтобы определить множество нормальных векторов к поверхностям в трехмерном пространстве. Эти векторы используются узлами, которые следуют в иерархии объектов после узла Normal и основываются на использовании вершин. Другими словами, используя узел Normal, можно определить трехмерный нормальный вектор.

Пример:

Normal { 
    vector 0 0 1 # MFVec3f 
    }

NormalBinding

Используется для того, чтобы определить, как броузер связывает текущие нормали с формами.

Пример:

NormalBinding { 
    value DEFAULT # SFEnum 
    }
value
- Определяет, как броузер связывает нормали с объектами сцены. Броузер может интерпретировать связывание различным образом для различных форм.
Возможные значения:
  • DEFAULT - броузер использует связывание по умолчанию
  • OVERALL - броузер использует связывание по умолчанию к целому объекту
  • PER_FACE - броузер использует указанную нормаль к каждой грани объекта
  • PER_FACE_INDEXED - Броузер использует указанную нормаль к каждой грани объекта, основываясь на значениях индекса материала
  • PER_PART - броузер использует указанную нормаль для каждой части объекта
  • PER_PART_INDEXED - броузер использует указанную нормаль для каждой части объекта, основываясь на значениях индекса материалов
  • PER_VERTEX - броузер использует указанную нормаль для каждой вершины объекта
  • PER_VERTEX_INDEXED - броузер использует указанную нормаль для каждой вершины объекта, основываясь на значениях индекса материалов
Источник — «https://www.spravkaweb.ru/vrml/object/»
Добавить страницу в закладки:
РАЗРЕШАЕТСЯ перепечатывать и копировать информацию ТОЛЬКО ПРИ РАЗМЕЩЕНИИ ссылки на оригинал!
(<A href="https://www.spravkaweb.ru/">Справочник Web-языков</A>)
другие проекты
Rambler\'s Top100 Индекс цитирования