Этот пример показывает вам, как создать простой виртуальный мир с помощью 3D World Editor. Пример не показывает все, что можно сделать с редактором. Однако пример действительно показывает вам, как выполнить некоторые основные задачи начать.
Этот пример принимает, что вы установили свой редактор по умолчанию быть 3D World Editor. Для получения дополнительной информации смотрите Набор Редактор По умолчанию.
Этот пример описывает шаги, чтобы создать упрощенную версию виртуального мира, который вы видите, вводите ли вы эту команду в командном окне MATLAB®:
edit(vrworld('vrdeform.wrl'))
Предположим, что вы хотите симулировать и визуализировать в виртуальной реальности деформацию сферы. В вашем виртуальном мире вы хотите иметь два поля, представляющие твердые пластины (B1, B2) и эластичная сфера (S) между ними. Все три из объектов выравниваются центром вдоль оси X. Поля B1 и B2 перемещаются к S с идентичными скоростями, но они перемещаются в противоположные направления. Когда они достигают сферы S, они начинают деформировать ее путем сокращения ее x размерности и протяжения и ее y и z размерностей.
Вот то, как этот виртуальный мир смотрит:
В следующей таблице перечислены положения и размерности объектов, которые вы создаете для этого примера.
Объект | Центральное положение | Размерности |
---|---|---|
| [3 0 0] | [0.3 1 1] |
| [-3 0 0] | [0.3 1 1] |
| [0 0 0] |
|
Продукт Simulink® 3D Animation™ включает учебную модель vrtut3
. Эта упрощенная модель симулирует деформацию эластичной сферы. После столкновения с твердыми блоками x размерность сферы уменьшается фактором с 1 до 0,4. Кроме того, y и z размерности расширяются, чтобы сохранить объем деформированного эллипсоида сферы постоянным. Дополнительные блоки в модели предоставляют правильно размерные векторы с блоком Simulink 3D Animation. Симуляция останавливается, когда сфера деформирована к 0.4 раза ее первоначальному размеру в направлении X.
Ваша первая задача состоит в том, чтобы открыть модель Simulink и добавить блок Simulink 3D Animation в вашу модель.
Эта процедура использует модель Simulink vrtut3
показать, как добавить блок Simulink 3D Animation в вашу модель. Модель генерирует значения для положения B1, положение B2 и размерности S (как описано в Описывают задачу).
Откройте Tutorial #3
Пример.
В верхней части страницы это открывается, выберите Open this Example.
Сохраните thevrtut3
файл к вашему MATLAB рабочая папка.
В MATLAB, изменение текущая папка к вашему MATLAB рабочая папка.
В Командном Окне MATLAB введите:
vrtut3
Окно Simulink открывается моделью, которая содержит Simulink 3D Animation блоки VR Signal Expander, но никакой блок VR Sink, чтобы записать данные от модели до Simulink 3D Animation. Вместо этого эта модель использует блоки Scope, чтобы контролировать временно соответствующие сигналы.
Из Окна Команды MATLAB ввести
vrlib
Библиотека Simulink 3D Animation открывается.
Из окна Library перетащите мышью блок VR Sink к схеме Simulink. Можно затем закрыть Окно браузера Библиотеки.
Ваша следующая задача состоит в том, чтобы создать виртуальный мир, который вы сопоставите с блоком VR Sink. Смотрите Открытый Новый Виртуальный мир.
Необходимо создать виртуальный мир, чтобы соединиться с моделью Simulink для визуализации сигналов.
Эта процедура открывает новый виртуальный мир, в котором вы добавляете узлы для визуализации сигналов модели vrtut3
. Связь между виртуальным миром и моделью Simulink требует, чтобы модель включала блок VR Sink, как описано в Добавляют Блок Simulink 3D Animation.
Запустите 3D World Editor с пустого виртуального мира. От Панели инструментов MATLAB, во вкладке Apps, в разделе Simulation Graphics and Reporting, нажимают 3D World Editor.
Отображения 3D World Editor:
На левой панели, дереве виртуальной сцены только с ROOT
узел
На правой панели, пустом виртуальном мире
В нижней области, пустой панели для редактирования объектов
Можно спасти виртуальный мир в любой точке. Спасите виртуальный мир как vrtut3.wrl
в той же рабочей папке, где ваш vrtut3
файл находится. Не закрывайте 3D World Editor.
Ваши следующие две задачи создают виртуальный мир, чтобы использовать с vrtut3
модель:
Определение объектов виртуального мира включает определение иерархии узлов. В этом примере показано, как задать Transform
узлы под ROOT
узел, с каждым Transform
узел включая иерархию children
, Shape
Внешний вид
, Geometry
, и определенная форма (в этом случае, Box
) узлы.
В дереве на левой панели нажмите ROOT
(самый верхний элемент).
Добавьте Transform
узел, с помощью следующей последовательности выборов пункта меню.
Этот Transform
узел для поля B1. Назвать Transform
узел:
Щелкните правой кнопкой по Transform
узел.
Выберите пункт меню Edit Name.
В окне редактирования слева от Transform
узел, введите B1
.
Добавьте Shape
узел:
Расширьте B1 Transform
узел.
Выберите children
узел.
Добавьте Shape
узел, с помощью следующей последовательности выборов пункта меню:
Добавьте Appearance
узел для узла Формы:
Под Shape
узел, выберите appearance (SFNode)
узел.
Добавьте Appearance
узел, с помощью следующей последовательности выборов пункта меню.
Добавьте Material
узел к Appearance
узел:
Расширьте (Appearance)
узел и выбирает material(SFNode)
узел.
Добавьте Material
узел, с помощью следующей последовательности выборов пункта меню.
Добавьте Box
узел к geometry
узел:
Выберите geometry(SFNode)
узел (Shape)
узел.
Добавьте Box
узел, с помощью следующей последовательности выборов пункта меню.
Со всеми расширенными узлами 3D World Editor теперь отображает поле в панели virtual world display.
Сделайте поле меньшим путем редактирования его size
свойство:
Выберите size
свойство Box
узел.
В панели object properties edit в нижней части 3D World Editor введите 0.3
в первом столбце и 1
во вторых и третьих столбцах.
Нажмите Apply.
Поле становится меньшим.
Переместите поле направо путем изменения translation(SFVec3f)
свойство B1(Transform)
узел. В панели object properties edit, набор первый столбец к 3
и оставьте второй и третий набор столбцов 0
.
Добавьте второе поле, которое похоже на первое поле.
Под ROOT
узел, добавляет Transform
узел (см. шаг 2) и называет его B2
(см. шаг 3).
Скопируйте Shape
узел. Под B1 Transform
узел, щелкните правой кнопкой по Shape
узел в B1 Transform
узел и выбор пункт меню Copy.
Вставьте скопированный узел Формы в B2 Transform
узел. Под B2 Transform
узел), щелкните правой кнопкой по children
узел и выбор пункт меню Paste Node> Paste.
С B1
узел сворачивается и B2
узел расширился, 3D World Editor похож на следующую диаграмму.
Переместите поле, которое вы создали налево путем изменения translation
свойство B2(Transform)
узел. В панели object properties edit, набор первый столбец к -3
и оставьте второй и третий набор столбцов 0
.
Ваша следующая задача состоит в том, чтобы добавить сферу между этими двумя полями. Этот раздел принимает, что вы выполнили задачи, описанные в, Добавляют Узлы.
Чтобы облегчить фокусировать панель tree structure на узлах, которые вы хотите добавить, сверните B1(Transform)
и B2(Transform)
узлы.
В дереве на левой панели нажмите ROOT
узел.
Добавьте Sphere
узел. 3D World Editor включает библиотеку объектов для создания виртуального мира, включая Sphere
объект.
Добавьте Sphere
объект библиотеки с помощью следующей последовательности выборов пункта меню.
Из списка папок Component Library выберите Shapes
папка, и затем выбирает Sphere.wrl
файл.
Выберите Transform
узел и имя это S
.
С S Transform
узел полностью расширен и другой Transform
узлы вышли из строя, 3D World Editor похож на следующую диаграмму.
Сделать сферу синей, под Material
узел, выберите diffuseColor
свойство. В панели object properties edit измените первое значение столбца в 0.2
, второй столбец к 1
, и третий столбец к 1
.
Сохраните файл виртуального мира.
Ваша следующая задача состоит в том, чтобы соединить выходные параметры модели с блоком Simulink 3D Animation в вашей модели Simulink. Смотрите Ссылку на Модель Simulink.
После того, как вы создаете виртуальный мир и модель Simulink с блоком VR Sink, задаете ассоциации между сигналами модели и виртуальным миром.
Эта процедура использует модель vrtut3
как пример. Это принимает, что вы открыли модель и что вы добавили блок VR Sink, и что вы создали виртуальный мир под названием vrtut3.wrl
. Смотрите, что пример начиная с Добавляет Блок Simulink 3D Animation.
Откройте диалоговое окно VR Sink Block Parameters. В Редакторе Simulink дважды кликните блок VR Sink.
Рядом с окном редактирования Source file нажмите Browse.
Выберите vrtut3.wrl
, и затем нажмите Open.
В панели Output выберите Open Viewer automatically. Этот флажок указывает, что средство просмотра для виртуального мира запускается, когда вы запускаете модель.
Для параметра Description введите vrtut3
.
В диалоговом окне VR Sink нажмите Apply.
В панели tree structure выберите B1 translation, B2 translation и флажки S scale как узлы, которые вы хотите соединить со своими сигналами модели. Нажмите OK.
Блок VR Sink появляется с соответствующими входными параметрами.
Удалите три блока Scope и их связанные линии входного сигнала.
Соедините входные линии от двух блоков VR Signal Expander и S Scaling in XYZ
блокируйтесь к соответствующим портам в блоке VR Sink.
Дважды кликните блок VR Sink.
Средство просмотра появляется.
В средстве просмотра выберите Simulation> опция Block Parameters. Ваше средство просмотра по умолчанию открывает и отображает виртуальный мир. Для получения дополнительной информации об изменении вашего средства просмотра по умолчанию смотрите Набор Средство просмотра По умолчанию.
В диалоговом окне VR Sink Block Parameters нажмите кнопку View.
В Редакторе Simulink выберите Simulation> Run.
В вашем средстве просмотра по умолчанию вы видите 3-D анимацию сцены. Используя средства управления средством просмотра, можно наблюдать действие от различных точек.
Когда ширина сферы уменьшается до 0.4 из своего первоначального размера, симуляция прекращает запускаться.
Этот пример показывает вам, как создать и использовать простую модель виртуальной реальности. Используя тот же метод, можно создать более сложные модели для того, чтобы решить конкретные задачи, с которыми вы сталкиваетесь.
vredit
| vrgetpref
| vrjoystick
| vrlib
| vrsetpref
| vrspacemouse