Интерфейс X3D (Xtensible 3D) является преемником интерфейса VRML (Virtual Reality Modeling Language). Интерфейс X3D поддерживает функции VRML. X3D также предоставляет несколько расширений к VRML.
Для получения дополнительной информации смотрите X3D Support.
Можно использовать язык моделирования виртуальной реальности (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.
Для платформ PC можно преобразовать VRML1.0 миры в VRML97 миры, открывая миры в Ligos® V-Realm Builder и сохранение их. V-Realm Builder поставляется с версией программного обеспечения для ПК. Другие коммерчески доступные программы могут также выполнять преобразование VRML1.0 в VRML97.
В настоящее время продукт Simulink 3D Animation поддерживает большинство функций VRML97 со следующими ограничениями:
Сервер Simulink 3D Animation игнорирует Script VRML
узел, но он передает узел в Инструмент Просмотра VRML. Передача узла позволяет запускать скрипты VRML на стороне средство просмотра. Вы не можете запустить их на сервере Simulink 3D Animation.
В соответствии со спецификацией VRML97 Simulink 3D Animation Viewer игнорирует файлы BMP. В результате текстуры сцен VRML иногда отображаются неправильно в Simulink 3D Средство Просмотра. Для правильного отображения текстур сцен замените все файлы текстуры 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 вы видите пол и красный мяч.