Интерфейс X3D (Xtensible 3D) является преемником интерфейса VRML (языка моделирования виртуальной реальности). Интерфейс X3D поддерживает функции VRML. X3D также предоставляет несколько расширений для VRML.
Дополнительные сведения см. в разделе Поддержка X3D.
Язык моделирования виртуальной реальности (VRML) можно использовать для отображения трехмерных объектов в средстве просмотра VRML. Simulink ® 3D Animation™ поддерживает VRML97.
VRML предоставляет открытую и гибкую платформу для создания интерактивных трёхмерных сцен (виртуальных миров). Несколько VRML97-enabled браузеров доступны на нескольких платформах. Кроме того, можно выбрать один из нескольких инструментов разработки VRML. Кроме того, графические программные пакеты (CAD, визуальное искусство и т.д.) предлагают VRML97 функции импорта/экспорта.
Продукт Simulink 3D Animation использует VRML97 технологию визуализации 3-D.
Язык моделирования виртуальной реальности (VRML) - это стандарт ISO, открытый, основанный на тексте и использующий формат, ориентированный на WWW. VRML используется для определения виртуального мира, который можно отображать с помощью средства просмотра виртуального мира и подключать к модели Simulink.
Программное обеспечение Simulink 3D Animation использует многие расширенные функции, определенные в текущей спецификации VRML97. Стандарт ISO/IEC 14772-1: 1997, доступен вhttp://www.web3d.org/documents/specifications/14772/V2.0/part1/javascript.html. Этот формат содержит описание 3-D сцен, звуков, внутренних действий и привязок WWW.
Программное обеспечение анализирует структуру виртуального мира, определяет доступные сигналы и делает их доступными из среды MATLAB ® и Simulink.
Программное обеспечение Simulink 3D Animation обеспечивает отражение изменений, внесенных в виртуальный мир, в интерфейсах MATLAB и Simulink. При изменении точки обзора в виртуальном мире это изменение происходит в vrworld свойства объекта в интерфейсах MATLAB и Simulink.
Программное обеспечение включает в себя функции для извлечения и изменения свойств виртуального мира.
Примечание
Некоторые миры VRML автоматически генерируются в VRML1.0. Однако продукт Simulink 3D Animation не поддерживает VRML1.0. Сохраните эти миры в текущем стандарте VRML, VRML97.
Для платформ ПК можно преобразовать VRML1.0 миры в VRML97 миры, открыв миры в Ligos ® V-Realm Builder и сохранив их. V-Realm Builder поставляется вместе с версией программного обеспечения для ПК. Другие коммерчески доступные программы могут также выполнять преобразование VRML1.0 в VRML97.
В настоящее время продукт Simulink 3D Animation поддерживает большинство функций VRML97 со следующими ограничениями:
Сервер Simulink 3D Animation игнорирует VRML Script узел, но он передает узел в VRML Viewer. Передача узла позволяет запускать сценарии VRML на стороне просмотра. Их нельзя запустить на сервере Simulink 3D Animation.
В соответствии со спецификацией VRML97 приложение Simulink 3D Animation Viewer игнорирует файлы BMP. В результате текстуры сцен VRML иногда отображаются неправильно в Simulink 3D Animation Viewer. Для правильного отображения текстур сцен замените все файлы текстур BMP в сцене VRML эквивалентами PNG, JPG или GIF.
Полный список узлов VRML97 см. в спецификации VRML97.
Учитывайте системы координат при необходимости:
Отображение объекта виртуального мира в определенной позиции.
Переместить виртуальный мир.
Экспорт моделей, отличных от VRML, из CAD-инструментов (включая CATIA) и визуальных представлений роботов (файлы URDF) для использования с Simulink 3D Animation.
Виртуальное взаимодействие с MATLAB или Simulink.

Система координат VRML отличается от систем координат MATLAB и Aerospace Blockset™. В VRML используется мировая система координат: ось Y указывает вверх, а ось Z размещает объекты ближе или дальше от передней части экрана. Чем больше значение оси Z, тем ближе объект к зрителю. Понимание системы координат важно при взаимодействии с различными системами координат. Simscape™ Multibody™ использует ту же систему координат, что и VRML.
Вот несколько ключевых концепций системы координат VRML:
Углы поворота - в VRML углы поворота определяются с помощью правила правой руки. Представьте, что ваша правая рука держит ось, в то время как ваш большой палец указывает в направлении оси к ее положительному концу. Ваши четыре оставшихся пальца указывают в направлении против часовой стрелки. Это направление против часовой стрелки - положительный угол поворота объекта, движущегося вокруг этой оси.

Дочерние объекты - в иерархической структуре файла VRML укажите положение и ориентацию дочерних объектов относительно родительского объекта. Для родительского объекта локальное координатное пространство определяется собственным положением и ориентацией. Перемещение родительского объекта также приводит к перемещению дочерних объектов относительно родительского объекта.
Единицы измерения - все длины и расстояния измеряются в метрах, а все углы измеряются в радианах.
Simulink 3D Animation предоставляет набор функций, которые могут помочь преобразовать различные представления ориентации в пространстве. Примером функции преобразования координат является vrrotmat2vec, который преобразует поворот из матрицы в представление угол оси.
Пример использования глобальных координат в модели Simulink 3D Animation см. в разделе Перемещение нагрузки манипулятором с использованием глобальных координат.
Нет необходимости иметь какие-либо существенные знания о формате VRML для использования средств разработки VRML для создания виртуальных миров. Однако базовые знания описания сцены VRML помогают создавать виртуальные миры более эффективно. Базовые знания также дают вам хорошее понимание того, как вы можете управлять элементами виртуального мира с помощью программного обеспечения Simulink 3D Animation.
Дополнительные сведения см. в разделе Ссылка на VRML97 по адресу https://www.web3d.org. Многие специализированные книги VRML помогают понять концепции VRML и создать собственные виртуальные миры. Дополнительные сведения о VRML см. в соответствующей книге VRML сторонних производителей.
VRML использует иерархическую древовидную структуру объектов (узлов) для описания сцены 3-D. Каждый узел в дереве представляет некоторые функциональные возможности сцены. Существует множество различных типов узлов. Некоторые из них являются узлами формы (представляющими объекты реального 3-D), а некоторые - узлами группировки, используемыми для хранения дочерних узлов. Вот несколько примеров узлов:
Box - Представляет рамку в сцене.
Transform - определяет положение, масштаб, ориентацию масштаба, поворот, перемещение и потомки его поддерева (узла группировки).
Material - Соответствует материалу в сцене.
DirectionalLight- Представляет освещение в сцене.
Fog - позволяет изменять оптические свойства среды.
ProximitySensor - Выводит интерактивность на VRML97. Этот узел генерирует события при вводе, выходе и перемещении в пределах определенной области в пространстве.
Каждый узел содержит список полей, содержащих значения, определяющие параметры для его функции.
Узлы могут размещаться на верхнем уровне дерева или как дочерние узлы других узлов иерархии дерева. При изменении значения в поле определенного узла затрагиваются все узлы в его поддереве. Эта функция позволяет определять относительные положения внутри сложных составных объектов.
Каждый узел можно пометить определенным именем с помощью ключевого слова DEF в коде сцены VRML. Например, оператор DEF MyNodeName Box задает имя для этого узла поля как MyNodeName. Можно получить доступ к полям только тех узлов, которые называются в виртуальном мире.
В следующем примере простого файла VRML в сцене 3-D моделируются два графических объекта. Плоская коробка с красным шариком над ней представляет пол. Файл VRML - это читаемый текстовый файл, который можно записать в любом текстовом редакторе.
#VRML V2.0 utf8
# This is a comment line
WorldInfo {
title "Bouncing Ball"
}
Viewpoint {
position 0 5 30
description "Side View"
}
DEF Floor Box {
size 6 0.2 6
}
DEF Ball Transform {
translation 0 10 0
children Shape {
appearance Appearance {
material Material {
diffuseColor 1 0 0
}
}
geometry Sphere {
}
}
}
Первой строкой является строка заголовка VRML. Каждый файл VRML должен начинаться с этой строки заголовка. Это означает, что файл является файлом VRML 2 и что текстовые объекты в файле кодируются в соответствии со стандартом UTF8. Для комментирования миров VRML используется знак номера (#). Средство просмотра VRML игнорирует все данные в строке после игнорирования знака #, за исключением первой строки заголовка.
Большинство свойств поля остаются на значениях по умолчанию - расстояние от центра системы координат, материал, цвет и т. д. Только имя Floor и размеры назначаются ящику. Для управления положением и другими свойствами шара он определяется как дочерний узел узла типа Transform. Здесь единичной сфере по умолчанию назначается красный цвет и положение на 10 м над полом. Кроме того, титул виртуального мира используется зрителями VRML для различения виртуальных миров. Подходящая начальная точка обзора определена в VRML-файле виртуального мира.
При отображении в средстве просмотра VRML отображается пол и красный шарик.
