Для всех примеров, имеющих модель Simulink ®, используйте следующую процедуру, чтобы запустить пример и просмотреть модель.
В окне команд MATLAB ® введите имя модели Simulink. Например, введите:
vrbounce
Откроется окно Simulink с блок-схемой модели. По умолчанию виртуальный мир также открывается в Simulink 3D Animation™ Viewer или веб-браузере HTML5-enabled. При закрытии окна виртуального мира дважды щелкните блок VR Sink, чтобы отобразить его снова.
Примечание
Если средство просмотра не открывается, дважды щелкните блок VR Sink в модели Simulink. В окне «Simulink 3D Animation Viewer» в меню «Моделирование» выберите Block Parameters. Откроется диалоговое окно Параметры блока (Block Parameters). По умолчанию должен быть установлен флажок Открыть средство просмотра автоматически. При двойном щелчке по блоку VR Sink этот выбор позволяет открыть окно виртуального мира.
В окне Simulink в меню Simulation выберите Run. (Либо в окне «Simulink 3D Animation Viewer» в меню «Моделирование» выберите «Пуск».)
Начинается моделирование, и виртуальный мир анимируется с использованием данных сигнала от моделирования.
В следующей таблице перечислены примеры Simulink, поставляемые с продуктом Simulink 3D Animation. Описания примеров следуют за таблицей.
| Пример | Simulink Coder™ готов | Приемник VR | Источник VR | Джойстик | Космическая мышь |
|---|---|---|---|---|---|
sl3dex_rigidbodytree | X | ||||
sl3dex_uav | X | X | X | ||
| X | X | |||
| X | X | |||
| X | X | |||
| X | X | |||
| X | X | |||
| X | X | |||
| X | X | |||
| X | X | |||
| X | X | |||
| X | X | |||
| X | X | |||
| X | X | |||
vr_octavia_2cars | X | ||||
vr_octavia_graphs | X | ||||
vr_octavia_mirror | X | ||||
| X | ||||
| X | X | |||
| X | X | |||
| X | X | |||
| X | X | |||
| X | ||||
| X | ||||
| X | X | |||
vrcollisions_lidar | X | X | |||
| X | X |
sl3dex_uav Пример показывает, как можно использовать датчики виртуальных столкновений для интерактивного управления моделированием и изменения внешнего вида объектов виртуального мира с помощью Simulink ® 3D Animation™. Пример представляет простой вызов беспилотного летательного аппарата (БПЛА).
Сцена соревнований БПЛА основана на Конкурсе полётов ИМАВ, проведённом в 2013 году в Тулузе, Франция. (http://www.imav2013.org)
sl3dex_rigidbodytree пример демонстрирует функциональность Simulink 3D
СТАБИЛОВОЛЬТ Анимации блок RigidBodyTree. В этом примере требуется Robotics System Toolbox™
СТАБИЛОВОЛЬТ блок RigidBodyTree вставляет визуальное представление Системного Комплекта инструментов Робототехники объект RigidBodyTree в виртуальном мире и показывает его в зрителе виртуальной реальности. Во время моделирования дерево жесткого тела впоследствии анимируется в соответствии с конфигурацией, определенной во входном файле конфигурации.
В этом примере конфигурация манипулятора обеспечивается блоком инверсной кинематики панели инструментов Robotics System Toolbox. С помощью ползунков можно изменить положение и ориентацию концевого эффектора робота вокруг одной оси.
vrbounce Пример представляет шар, отскакивающий от пола. Шар деформируется при ударе о пол, сохраняя объем шара постоянным. Деформация достигается изменением масштабного поля шара.
vrcrane_joystick Пример иллюстрирует, как модель Simulink может взаимодействовать с виртуальным миром. Динамика крана портала моделируется в интерфейсе Simulink и визуализируется в виртуальной реальности. Модель использует блок ввода джойстика для управления уставкой. Оси джойстика 3 управляют положением уставки и кнопка 1 запускает кран. В этом примере требуется стандартный джойстик с по меньшей мере тремя независимыми осями, соединенными с ПК.
Чтобы минимизировать количество сигналов, передаваемых между моделью Simulink и миром виртуальной реальности, и сохранить модель максимально простой и гибкой, из модели в блок VR Sink посылается только минимальный набор свойств движущихся объектов. Все остальные значения, необходимые для описания перемещения объектов виртуальной реальности, вычисляются из этого минимального набора с помощью VRMLScript в связанном файле 3D виртуального мира.
Для получения более подробной информации о том, как реализуется иерархия модели крана и логика сценариев, см. соответствующий файл 3D с комментариями portal_crane.wrl.
vrdemo_panel пример показывает использование ощущения объектов, которые доступны в 3D Мировой библиотеке редактора Компонентса. Эти объекты объединяют датчики виртуального мира с логикой, которая изменяет их визуальный вид на основе пользовательского ввода. Значения датчиков могут считываться в Simulink блоком VR Source. Логика реализуется с использованием сценариев и маршрутов VRML.
Панель управления содержит кнопку, кнопку переключения, тумблер и область выбора уставки 2-D. Выходные данные этих элементов считываются в модель Simulink и впоследствии отображаются с использованием стандартных раковин или используются в качестве входных данных блоков, управляющих некоторыми объектами в виртуальном мире.
Кнопки, переключатели и тумблеры имеют выходы состояния логического типа. Их значения отображаются с помощью области.
Два выхода области уставки 2D используются для достижения следующего поведения. Значение «SetPoint_Changed» eventOut постоянно обновляется, когда указатель находится над областью датчика. Это значение инициируется вторым выводом - «isActive», который является истинным только при нажатии кнопки указателя. Запускаемое значение - координаты активной точки на плоскости датчика отображаются с помощью XY Graph и отправляются обратно в виртуальный мир двумя способами: как положение зеленого конуса маркера и как текст, который блок VR Text Output отображает на панели управления.
vrcrane_traj пример основан на vrcrane_joystick например, вместо интерактивного управления он имеет предопределенную траекторию нагрузки. vrcrane_traj модель иллюстрирует технику создания визуального впечатления соединения и разделения движущихся объектов в виртуальном мире.
Кран-магнит прикрепляет грузовой ящик, перемещает его в другое место, затем освобождает ящик и возвращается в исходное положение. Этот эффект достигается с помощью дополнительного геометрически идентичного теневого объекта, который размещается как независимый объект вне иерархии объектов крана. В любой момент времени только один из Load или Shadow объекты отображаются, используя два Switch узлы, соединенные ROUTE заявление.
После того как кран переместит груз в новое положение, во время освобождения груза скрипт VRMLScript назначит новое положение теневого объекта в соответствии с текущим Load позиция. Shadow объект становится видимым. Поскольку он не зависит от остальной иерархии движущихся частей крана, он остается в своем положении при удалении крана.
vrlights в примере используются источники света. В сцене можно перемещать Солнце (смоделированное как DirectionalLight) и лампа (смоделированная как PointLight) объекты вокруг модели Simulink. Это движение создаёт иллюзию изменений между днём и ночью, и ночной освещённостью местности. Связанный файл virtual world 3D определяет несколько точек обзора, которые позволяют наблюдать постепенные изменения в свете с различных точек зрения.
vrmaglev В примере показано взаимодействие между динамическими моделями в среде Simulink и виртуальными мирами. Модель Simulink представляет собой обучающую/презентационную модель HUMUSOFT ® CE 152 Magnetic Levitation. Модель установки управляется ПИД-регулятором с прямой связью, чтобы справиться с нелинейностью системы магнитной левитации. Чтобы легче наблюдать и управлять мячом, установите зрителя виртуального мира на точку обзора Камеры 3.
Уставку положения шарика можно установить двумя способами:
Использование блока генератора сигналов (Simulink)
Щелчок по сцене виртуальной реальности в нужном месте
Чтобы получить эффект перетаскивания, используйте PlaneSensor прикрепляется к геометрии шара с выходом, ограниченным < 0,1 > в вертикальной координате и обрабатывается блоком считывания датчика VR. vrextin S-функция обеспечивает подключение данных.
Дополнительные сведения о программном считывании значений из виртуальных миров см. в разделе Добавление датчиков в виртуальные миры.
В дополнение к vrmaglev пример, vrmaglev_sldrt пример работает непосредственно с фактическим оборудованием модели масштаба CE 152 в режиме реального времени. Эта модель предназначена для работы с платой сбора данных HUMUSOFT MF 624 и программным обеспечением Simulink Coder и Simulink Desktop Real-Time™. Однако эту модель можно адаптировать для других целей и плат сбора данных. Цифровой фильтр IIR из библиотеки Toolbox™ системы DSP фильтрует вывод физической системы. Физическую систему можно обойти с помощью встроенной модели завода. Запуск этой модели в режиме реального времени является примером, показывающим возможности продукта Simulink в области проектирования систем управления и быстрого прототипирования.
После включения удаленного просмотра в диалоговом окне Блок приемника VR можно управлять моделью Simulink даже с другого (удаленного) клиентского компьютера. Это управление может быть полезным для распределения вычислительной мощности между моделью Simulink реального времени, работающей на одной машине, и визуализацией мира виртуальной реальности на другой машине.
Для работы с этой моделью используйте как можно более мощную машину или разделите вычисления и рендеринг на две машины.
vrmanipul Пример иллюстрирует использование программного обеспечения Simulink 3D Animation для прототипирования виртуальной реальности и тестирования жизнеспособности конструкций до этапа реализации. Кроме того, в этом примере показано использование пространственного ввода мыши для манипулирования объектами в виртуальном мире. Для выполнения этого примера необходимо ввести пробел мыши.

Модель виртуальной реальности представляет собой ядерный манипулятор горячей камеры. Управление осуществляется с помощью простой модели Simulink, содержащей блок ввода пространственной мыши. Эта модель использует все шесть степеней свободы пространственной мыши для манипулирования механической рукой и использует кнопку мыши 1 для замыкания ручки манипулятора.
Космическая мышь - это устройство ввода с шестью степенями свободы. Он полезен для навигации и управления объектами в виртуальном мире. Космическая мышь также подходит в качестве общего устройства ввода для моделей Simulink. Вы можете использовать мышь для повышения производительности приложений и комфорта пользователей. Ввод с помощью пространственной мыши поддерживается блоком ввода пространственной мыши, который входит в библиотеку блоков Simulink 3D Animation для среды Simulink.
Блок ввода космической мыши может работать в трех режимах для охвата наиболее типичных видов использования такого устройства в трехмерном контексте:
Скорости
Положения
Координаты точек обзора
vrmanipul_global Пример иллюстрирует использование глобальных координат в моделях Simulink 3D Animation. Глобальные координаты в модели можно использовать различными способами, в том числе:
Отслеживание объектов и манипулирование ими
Простое обнаружение столкновений
Моделирование гаптических эффектов
Блок VR Source поддерживает использование глобальных координат для объектов в виртуальном мире. Для каждого преобразования в сцене в дереве в диалоговом окне параметров блока источника VR отображается Extensions филиал. В этой ветви можно выбрать translation_abs и rotation_abs поля. Поля с _abs суффикс содержит глобальные координаты объекта. Поля без _abs суффикс вводит данные в локальные координаты объекта модели Simulink (относительно родительских объектов в иерархии модели).
Модель виртуальной реальности представляет собой ядерный манипулятор горячей камеры. Манипулятор перемещает груз с одной серой цилиндрической платформы на другую. Траектория для концевого эффектора манипулятора предопределена с помощью Построителя сигналов (Signal Builder). Каждая часть рычага манипулятора независимо приводится в действие с помощью разложенных компонентов траектории, с помощью блоков VR Expander (см. VR Transformations подсистема).
Блок VR Source в дереве виртуальной сцены слева фиксирует глобальные координаты всех объектов, важных для управления нагрузкой:
Опорная точка ручки манипулятора (центр зажима)
Опорная точка назначения
Исходное положение груза
Положение захвата манипулятора является результатом сложного перемещения частей манипулятора, образующих иерархическую структуру. Как правило, очень трудно вычислить глобальные координаты для таких объектов, затронутых иерархическими отношениями в сцене. Однако Simulink 3D Animation обеспечивает простой способ считывания глобальных координат объектов, на которые влияют иерархические уравнения, в модель Simulink.
Имея глобальные координаты всех важных объектов, можно реализовать простую логику управления манипулятором.
vrmemb1 пример аналогичен vrmemb пример, но в vrmemb1 например, связанный виртуальный мир создается на основе модели Simulink.
vrmorph Пример иллюстрирует, как можно передавать данные сигналов матричного типа или переменного размера между интерфейсом Simulink и миром виртуальной реальности. С помощью этой возможности можно выполнять массивные изменения цвета или морфинг. Эта модель превращает куб в октаэдр, а затем изменяет его обратно на куб.
vr_octavia пример иллюстрирует преимущества визуализации сложной динамической модели в среде виртуальной реальности. Здесь также показана функция записи автономной анимации Simulink 3D Animation 3-D.
Этот пример расширяет vr_octavia пример отображения визуализаций сценариев с несколькими объектами.
Предварительно вычисленные данные моделирования представляют собой стандартный двухполосный маневр, выполняемый в двухколесных конфигурациях. Одна конфигурация взаимодействует с блоком управления электронной программы стабильности. Другие переключатели конфигурации, которые управляют отключением блока. Пример посылает два набора данных динамики транспортного средства параллельно сцене виртуальной реальности, чтобы управлять двумя различными транспортными средствами.
Модели транспортных средств используют EXTERNPROTO механизм. В основном виртуальном мире, связанном с блоком VR Sink, можно создать несколько идентичных транспортных средств в качестве экземпляров общего объекта 3-D. Такой подход значительно упрощает авторство виртуального мира. Например, очень легко создать третье транспортное средство для одновременной визуализации другого сценария моделирования. octavia_scene_lchg_2cars.wrl виртуальный мир, код после определения PROTOS иллюстрирует подход для простых в определении повторно используемых объектов.
В дополнение к свойствам транспортных средств, контролируемым в vr_octavia например, прототипы транспортных средств также позволяют определить цвет и масштаб транспортного средства. Эти свойства отличают отдельные экземпляры автомобиля (цвет) и позволяют избежать неприятного визуального взаимодействия двух почти выровненных 3-D объектов (масштаб). Масштабирование одного из автомобилей на небольшую величину охватывает один автомобиль в другой, так что их лица не зажимаются случайным образом, основываясь на текущих данных моделирования на каждом этапе моделирования.
Чтобы визуализировать транспортные средства бок о бок, добавьте смещение к положению одного транспортного средства.
vr_octavia_graphs пример расширяет vr_octavia пример, показывающий, как объединить холст виртуальной реальности на одном рисунке с другими объектами графического интерфейса пользователя. В этом случае виртуальный мир отображает три графика, которые обновляются на каждом основном шаге времени моделирования.
vr_octavia_mirror пример расширяет vr_octavia пример, показывающий способность блока приемника VR обрабатывать видеопоток на входе. В виртуальном мире, PixelTexture Текстурная карта определяется в точке левого заднего зеркала транспортного средства. В примере изображение 2-D с точки зрения помещается в ту же позицию (при обратном взгляде). Это изображение закольцовывается обратно в тот же виртуальный мир и проецируется на стекло заднего зеркала, создавая впечатление живого отражения. Текстурные изображения могут иметь различные форматы (соответствующие доступным SFImage определения в соответствии со стандартом VRML97). В этом примере используется изображение RGB, формат которого совпадает с форматом вывода из блока VR в Video. В файле 3D виртуального мира, связанном со сценой, можно определить только тривиальную текстуру (в данном случае шашку размером 4x4 пикселя), размер которой изменяется во время моделирования в соответствии с текущим размером сигнала на входе. См. пример «Манипуляция плоскостью с помощью пространственной мыши с объектом MATLAB».
vr_octavia_video Пример иллюстрирует использование видеовыхода из блока VR To Video. Эта модель выполняет простые операции с видеовыходом. Для этого требуется продукт Computer Vision Toolbox™.
vrpend пример иллюстрирует различные способы взаимодействия динамической модели в интерфейсе Simulink со сценой виртуальной реальности. Это модель двумерного перевернутого маятника, управляемого ПИД-контроллером. Что отличает эту модель от обычных перевернутых моделей маятников, так это методы установки уставки. Визуализация и взаимодействие с виртуальным миром осуществляется с помощью блоков графика траектории и приемника VR. Блок График траектории (Trajectory Graph) позволяет отслеживать историю положения маятника и изменять уставку тремя способами:
Мышь - щелкните и перетащите указатель мыши в двумерном окне График траектории (Trajectory Graph)
Входной сигнал - входной график внешней траектории в этой модели (управляется генератором случайных чисел)
VR Sensor - активизирует вход от VRML TouchSensor
Когда указывающее устройство в средстве просмотра виртуального мира перемещается по активной области TouchSensor, форма курсора изменяется. Логика запуска в этой модели настроена на применение нового значения уставки с помощью левой кнопки мыши.
Обратите внимание на псевдоортографическое представление, определенное в связанном файле 3D виртуального мира. Этот эффект достигается путем создания точки обзора, расположенной далеко от интересующего объекта с очень узким видом, определяемым FieldOfView параметр. Ортогональный вид полезен для устранения панорамных искажений, возникающих при использовании широкоугольного объектива. Недостатком этого метода является то, что расположение точки обзора на некотором расстоянии делает стандартную навигацию зрителя сложной или трудной в некоторых режимах навигации, таких как режим исследования. Если требуется перемещаться по виртуальной маятниковой скамейке, следует использовать другую точку обзора.
vrplanets пример показывает динамическое представление первых четырёх планет Солнечной системы, Луны, вращающейся вокруг Земли, и самого Солнца. Модель использует реальные свойства небесных тел. Только относительные размеры планет и расстояние между Землей и Луной корректируются, чтобы обеспечить интересный вид.
В виртуальном мире определены несколько точек зрения, как статичных, так и привязанных к наблюдателю на Земле. Вы видите, что планетарные тела не представлены как идеальные сферы. Использование Sphere графический примитив, который визуализируется таким образом, упрощает модель. Если вы хотите сделать планеты более реалистичными, вы можете использовать более сложные IndexedFaceSet тип узла.
Взаимные ускорения гравитации тел вычисляются с использованием поддержки данных матричного типа Simulink.
vrtkoff пример представляет собой упрощенный самолет, взлетающий с взлетно-посадочной полосы. В этой модели определено несколько точек обзора, как статических, так и прикрепленных к плоскости, что позволяет видеть выборку с различных точек зрения.
Модель показывает технику объединения нескольких объектов, импортированных или полученных из разных источников (CAD-пакетов, общих 3-D моделистов и так далее), в сцену виртуальной реальности. Обычно необходимо обернуть такие импортированные объекты дополнительным Transform узел. Эта оболочка позволяет соответствующим образом задавать масштабирование, положение и ориентацию объектов для размещения в сцене. В этом примере модель самолета из библиотеки объектов Ligos ® V-Realm Builder включается в сцену. Файлvrtkoff2.wrl использует одну и ту же сцену с другим типом самолёта.
vrtkoff_trace является вариантом vrtkoff пример, иллюстрирующий трассировку траектории движущегося объекта (плоскости) в сцене. Он использует блок VR Tracer. С помощью предопределенного времени образца этот блок позволяет размещать маркеры в текущем положении объекта. Когда моделирование прекращается, маркеры указывают траекторию объекта. В этом примере в качестве маркера используется октаэдр.
vrtkoff_hud Пример иллюстрирует отображение значений сигнала в виде текста в виртуальном мире и простого экранного дисплея (HUD). Это вариант vrtkoff пример.
Пример отправляет текст в виртуальный мир с помощью блока VR Text Output. Этот блок форматирует входной вектор с использованием строки формата, определенной в его маске (см. sprintf для получения дополнительной информации) и отправляет результирующую строку в 'string' поле связанного Text узел в сцене.
В примере достигается поведение HUD (поддержание постоянного относительного положения между пользователем и Text узел) путем определения ProximitySensor. Этот датчик определяет положение и ориентацию пользователя при навигации по сцене и направляет эту информацию на перемещение и поворот объекта HUD (в данном случае Transform , который содержит Text узел).
vrcollisions Пример показывает простой способ реализации обнаружения коллизий.
В виртуальном мире X3D LinePickSensor определяется. Этот датчик обнаруживает приблизительные столкновения нескольких лучей (смоделированных как IndexedLineSet) с произвольной геометрией в сцене. Для геометрических примитивов обнаруживаются точные коллизии. Один из LinePickSensor поля вывода - это поле\\, которое становится TRUE как только обнаруживается столкновение между любым из лучей и окружающими объектами сцены.
Робот находится внутри комнаты с несколькими препятствиями. Во время моделирования робот перемещается вперед до тех пор, пока его датчик не врывается в стену или препятствие. Используйте кнопки «Влево» и «Вправо», чтобы повернуть робота так, чтобы впереди был свободный путь, и робот снова начинает движение.
Модель определяет блоки VR Sink и VR Source, связанные с одной и той же виртуальной сценой. Источник VR считывает данные датчика isActive сигнал и текущее положение робота. Блок VR Sink задает положение робота, его поворот и цвет.
В виртуальном мире определены две точки зрения - одна статическая и одна прикрепленная к роботу.
vrcollisions_lidar пример показывает, как LinePickSensor может использоваться для моделирования поведения лидарного датчика в Simulink 3D Animation.
В простом виртуальном мире определен колесный робот с установленным на его вершине лидарным датчиком. Этот лидарный датчик реализован с помощью LinePickSensor который обнаруживает столкновения нескольких лучей (смоделированы как IndexedLineSet) с окружающими объектами сцены. Датчик pickedRange и pickedPoint поля используются в этой модели только для целей визуализации, но вместе с информацией о позе робота они могут использоваться для одновременной локализации и отображения (SLAM) и других подобных целей.
Сенсорные линии видны в виде прозрачных зеленых линий. В горизонтальной плоскости от -90 до 90 градусов равномерно разнесен 51 чувствительный луч. дальность лидара - 10 метров.
Для визуализации выходного сигнала лидарного датчика используется прокси-сервер визуализации. LineSet определяется линиями, идентичными линиям, определенным как LinePickSensor чувствительная геометрия. Линии визуализации синие. Комбинация pickedPoint и pickedRange
LinePickSensor По выводам визуализируют точки столкновения. pickedPoint вывод содержит координаты точек, столкнувшихся с окружающими объектами. Этот выход имеет переменный размер в зависимости от того, сколько лучей датчика столкнулись. pickedRange Выходной размер фиксирован, равен числу чувствительных лучей. Выходной сигнал возвращает расстояние от начала координат лидарного датчика до точки столкновения для каждой сенсорной линии. Для лучей, которые не сталкиваются, этот вывод возвращает -1. pickedRange используется для определения индексов линий, для которых точки столкновения возвращаются в pickedPoint выход датчика. В действительности синие линии укорачиваются так, что для каждой линии отображается только сегмент линии между началом вращения вентилятора луча и точкой столкновения.
Траектория робота моделируется тривиальным образом с помощью построителя сигналов и блоков пандуса. В построителе сигналов для первых 40 секунд моделирования определяется простая квадратная траектория 1x1 метра. После возвращения в исходное положение робот вращается только бесконечно.
В модели определены блоки VR Sink и VR Source, связанные с одним и тем же виртуальным миром. Источник VR используется для считывания сигналов датчика. Приемник VR используется для установки положения/поворота робота и координат конечных точек линий визуального прокси датчика.
В виртуальном мире определено несколько точек зрения, как статических, так и прикрепленных к роботу, что позволяет наблюдать визуализацию лидара с разных точек зрения.
vrmaze Пример показывает, как можно использовать обнаружение столкновений для моделирования дифференциального колесного робота, который решает проблему лабиринта. Алгоритм управления роботом использует информацию от виртуальных ультразвуковых датчиков, которые измеряют расстояние до окружающих объектов.
Простой дифференциальный колесный робот оснащен двумя виртуальными ультразвуковыми датчиками. Один из датчиков смотрит вперед, а другой направлен влево от робота. Датчики упрощены, их активный диапазон представлен зелеными линиями. Датчики выполнены в виде X3D LinePickSensor узлы. Эти датчики обнаруживают приблизительные столкновения лучей (смоделированные как IndexedLineSet) с произвольной геометрией в сцене. Для геометрических примитивов обнаруживаются точные коллизии. Один из LinePickSensor поля вывода - isActive поле, которое становится TRUE как только обнаруживается столкновение между его лучом и окружающими объектами сцены. При активации линии датчика изменяют свой цвет с зеленого на красный, используя сценарий, написанный непосредственно в виртуальном мире.
В модели определены блоки VR Sink и VR Source, связанные с одной и той же виртуальной сценой. Источник VR считывает датчики isActive сигналы. VR Sink задает положение робота и его вращение в виртуальном мире.
Алгоритм управления роботом реализован с помощью диаграммы Stateflow ®.
В следующей таблице перечислены примеры интерфейсов MATLAB, поставляемых с программным обеспечением. Описания примеров следуют за таблицей. Примеры интерфейсов MATLAB отображают виртуальные миры в средстве просмотра по умолчанию. Если по умолчанию используется средство просмотра анимации Simulink 3D, некоторые кнопки недоступны. В частности, кнопки моделирования для моделирования и записи недоступны.
| Пример | Перемещение Объекты | Превращение Объекты | Текст | Запись | Использование функции vrml () | Космическая мышь |
|---|---|---|---|---|---|---|
vrcar | X | |||||
vrheat | X | X | ||||
vrheat_anim | X | X | X | |||
vrmemb | X | X | X | |||
vrterrain_simple | X | |||||
vrtkoff_spacemouse | X | X |
В этом примере показано использование продукта Simulink 3D Animation с интерфейсом MATLAB. В пошаговом учебном пособии показаны команды навигации по виртуальному автомобилю по пути через горы.
В окне команды MATLAB введите
vrcar
Запускается сценарий учебного пособия. Следуйте инструкциям в окне команд MATLAB.
В этом примере показано использование продукта Simulink 3D Animation с интерфейсом MATLAB для управления сложными объектами.
В этом примере данные матричного типа передаются между программным обеспечением MATLAB и миром виртуальной реальности. С помощью этой функции можно добиться массивных изменений цвета или морфинга. Это полезно для представления различных физических процессов. Используются предварительно рассчитанные данные распределения температуры по времени в L-образном металлическом блоке. Затем данные отправляются в виртуальный мир. Это создает анимацию с относительно большими изменениями.
Это пошаговый пример. Показаны следующие функции:
Изменение формы объекта
Применение цветовой палитры для представления распределенных параметров фигуры объекта
Работа с текстовыми объектами VRML или X3D
Анимация сцены с помощью интерфейса MATLAB
Синхронизация нескольких свойств сцены
В конце этого примера можно сохранить объект виртуального мира в рабочей области MATLAB, затем сохранить результирующую сцену в соответствующем файле 3D виртуального мира или выполнить с ним другие последующие операции.
В этом примере показано использование интерфейса Simulink 3D Animation C для создания 2-D автономных файлов анимации.
Можно управлять механизмом записи автономной анимации, задав соответствующий параметр. vrworld и vrfigure свойства объекта. Для записи анимации следует использовать средство просмотра анимации Simulink 3D Animation Viewer. Однако также возможно непосредственное управление записью.
В этом примере используются данные распределения тепла из vrheat пример создания файла анимации. Впоследствии этот анимационный файл можно будет распространять для независимого просмотра другими пользователями. Для этого вида визуализации, где статическая геометрия представлена IndexedFaceSet узел окрашен на основе моделирования какого-то физического явления, он пригоден для создания 2-D .avi файлы анимации. Программное обеспечение использует MATLAB VideoWriter объект для записи анимации 2-D точности в том виде, в котором она отображается на рисунке зрителя.
Существует несколько способов записи анимации. В этом примере используется запланированная запись. Когда запланированная запись активна, в анимационный файл записывается временной кадр с каждой настройкой виртуального мира. Time собственность. Запись завершается при установке времени сцены в конце или за пределами заданного интервала записи.
При использовании интерфейса MATLAB Simulink 3D Animation задается требуемое время сцены. Это обычно с точки зрения моделируемого явления равноудаленного времени. Это самое важное отличие от записи анимаций для виртуальных миров, которые связаны с моделями Simulink, где время сцены соответствует непосредственно времени Simulink.
Время сцены может представлять любую независимую величину, вдоль которой требуется анимировать вычисленное решение.
Это пошаговый пример. Показаны следующие функции:
Запись 2-D автономных анимаций с помощью интерфейса MATLAB
Применение цветовой палитры для визуализации распределенных параметров фигуры объекта
Анимация сцены
Воспроизведение созданного файла анимации 2-D с помощью системного AVI-проигрывателя
В конце этого примера получается файл vrheat_anim.avi остается в рабочей папке для последующего использования.
vrmemb В примере показано, как использовать 3-D графический объект, созданный из среды MATLAB, с продуктом Simulink 3D Animation. Мембрана генерировалась logo функция и сохранена в формате VRML с использованием стандарта vrml функция. Таким образом можно сохранить все объекты Handle Graphics ® и использовать их с программным обеспечением Simulink 3D Animation в качестве компонентов связанных виртуальных миров.
После запуска примера появится панель управления с двумя ползунками и тремя флажками. Используйте ползунки для поворота и зумирования мембраны, а флажки для определения оси для поворота.
В виртуальной сцене обратите внимание на текстовый объект. Это дитя Billboard узел. Этот узел можно настроить таким образом, чтобы его локальная ось Z постоянно указывала на средство просмотра. Это может быть полезно для моделирования виртуальных панелей управления и головных дисплеев (HUD).
Этот пример иллюстрирует преобразование доступных цифровых моделей отметок в формат VRML для использования в сценах виртуальной реальности.
В качестве источника данных о местности использовалась модель DEM Южного Сан-Франциско (включенная в программное обеспечение Mapping Toolbox™). Простая модель Boeing ® 747 ® включена в сцену, чтобы показать технику создания виртуальных миров из нескольких источников на лету.
В этом примере требуется программное обеспечение Mapping Toolbox от MathWorks ®.
В этом примере показано, как использовать пробельную мышь с помощью интерфейса MATLAB. После запуска этого примера виртуальный мир с самолетом отображается в средстве просмотра анимации Simulink 3D Animation Viewer. Навигацию по плоскости в сцене можно осуществлять с помощью устройства ввода с помощью космической мыши. Нажмите кнопку 1 для размещения маркера в текущей позиции плоскости.
В этом примере требуется мышь или совместимое устройство.