Язык моделирования виртуальной реальности (VRML)

Отношение VRML и X3D

Интерфейс X3D (Xtensible 3D) является преемником интерфейса VRML (Virtual Reality Modeling Language). Интерфейс X3D поддерживает функции VRML. X3D также обеспечивает несколько расширений VRML.

Для получения дополнительной информации см. Поддержку X3D.

VRML

Можно использовать Язык моделирования виртуальной реальности (VRML), чтобы отобразить 3D объекты в инструменте просмотра VRML. Simulink® 3D Animation™ поддерживает VRML97.

VRML обеспечивает открытую и гибкую платформу для создания интерактивных 3D сцен (виртуальные миры). Несколько VRML97-поддерживающих браузеров доступны на нескольких платформах. Кроме того, можно выбрать из нескольких инструментов разработки VRML. Кроме того, графические пакеты программного обеспечения (CAD, изобразительное искусство, и так далее) предлагают функции импорта/экспорта VRML97.

Продукт Simulink 3D Animation использует технологию VRML97 для 3-D визуализации.

Поддержка VRML

Языком моделирования виртуальной реальности (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 гарантирует, что изменения, внесенные в виртуальный мир, отражаются в интерфейсах Simulink и MATLAB. Если вы изменяете точку зрения в своем виртуальном мире, это изменение происходит в vrworld свойства объектов в MATLAB и интерфейсах Simulink.

Программное обеспечение включает функции для получения и изменения свойств виртуального мира.

Примечание

Некоторые миры VRML автоматически сгенерированы в VRML1.0. Однако продукт Simulink 3D Animation не поддерживает VRML1.0. Спасите эти миры в текущем стандарте для VRML, VRML97.

Для платформ PC можно преобразовать миры VRML1.0 в миры VRML97 путем открытия миров в Ligos® V-Realm Builder и сохранение их. V-Realm Builder поставляется с версией PC программного обеспечения. Другие коммерчески доступные программы могут также выполнить VRML1.0 к преобразованию VRML97.

Совместимость VRML

Продукт Simulink 3D Animation в настоящее время поддерживает большинство функций VRML97 с нижеследующими ограничениями:

  • Сервер Simulink 3D Animation игнорирует VRML Script узел, но это передает узел инструменту просмотра VRML. Передача узла позволяет вам запускать скрипты VRML на стороне средства просмотра. Вы не можете запустить их на сервере Simulink 3D Animation.

  • В соответствии со спецификацией VRML97, Средство просмотра Simulink 3D Animation игнорирует файлы BMP. В результате структуры сцены VRML иногда отображаются неправильно в Средстве просмотра Simulink 3D Animation. Чтобы отобразить структуры сцены правильно, замените все файлы структуры BMP в сцене VRML с PNG, JPG или эквивалентами GIF.

Для полного списка узлов VRML97 обратитесь к спецификации VRML97.

Система координат виртуального мира

Примите системы координат во внимание, когда это необходимо, к:

  • Отобразите объект виртуального мира в особом положении.

  • Переместите виртуальный мир.

  • Экспортируйте модели не-VRML от Инструментов CAD (включая CATIA) и робот визуальные представления (файлы URDF), чтобы использовать с Simulink 3D Animation.

  • Имейте виртуальный мир, взаимодействуют с MATLAB или Simulink.

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

Вот некоторые концепции системы координат ключа VRML:

  • Углы поворота — В VRML, углы поворота заданы с помощью правила правой руки. Вообразите правую руку, содержащую ось, в то время как ваш ползунок указывает в направлении оси на свой положительный конец. Ваши четыре остающихся пальца указывают в направлении против часовой стрелки. Это направление против часовой стрелки является положительным углом поворота объекта, перемещающего ту ось.

  • Дочерние объекты — В иерархической структуре файла VRML, задайте положение и ориентацию дочерних объектов относительно родительского объекта. Родительскому объекту задали его пробел локальной координаты его собственное положение и ориентация. Перемещение родительского объекта также перемещает дочерние объекты относительно родительского объекта.

  • Модули измерения — Все длины и расстояния измеряются в метрах, и все углы измеряются в радианах.

Simulink 3D Animation обеспечивает набор функций, которые могут помочь вам преобразовать между различными представлениями ориентации на пробеле. Пример координатной функции преобразования vrrotmat2vec, который преобразует вращение от матрицы до представления угла оси.

Для примера использования глобальных координат в модели Simulink 3D Animation смотрите, что Манипулятор Перемещает Загрузку с Использованием Глобальных координат.

Формат файла VRML

У вас не должно быть существенного знания формата 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 и размерности присвоены полю. Чтобы смочь управлять положением и другими свойствами мяча, это задано как дочерний узел узла типа Преобразования. Здесь, сфера единичного радиуса по умолчанию присвоена красный цвет и положение 10 m выше пола. Кроме того, заголовок виртуального мира используется инструментами просмотра VRML, чтобы различать виртуальные миры. Подходящая начальная точка зрения задана в файле VRML виртуального мира.

Когда отображено в инструменте просмотра VRML, вы видите пол и красный мяч.

Связанные примеры

Больше о