В этом разделе описывается планирование записи 2-D анимации с помощью интерфейса MATLAB ® для виртуального мира, связанного с моделью Simulink ®. Управление записью файла анимации осуществляется путем установки временного интервала. Программа Simulink 3D Animation™ записывает анимацию в течение этого интервала в моделировании. В этом примере синхронизация записанного файла анимации определяется временем моделирования. Одна секунда времени записанной анимации соответствует одной секунде времени Simulink.
В этой процедуре используется vrplanets пример. В нем описывается, как создать .avi имя файла анимации с форматом имени по умолчанию.
Запуск модели Simulink для vrplanets. В окне MATLAB введите
vrplanets
Отобразится модель Simulink. Также по умолчанию загружается и становится активным средство просмотра Simulink 3D Animation Viewer для этой модели. Если средство просмотра не отображается, дважды щелкните блок Simulink ® 3D Animation в модели Simulink.
Работа с виртуальным миром, связанным с vrplanets из интерфейса MATLAB извлеките дескриптор виртуального мира. Используйте vrwhos команда. Напечатать
vrwhos
Если результат показывает, что только один vrworld находится в рабочей области, назначьте его дескриптор непосредственно переменной. Напечатать
myworld = vrwho;
Если перечислены несколько виртуальных миров, выберите, каким из них вы хотите управлять. Для выбора виртуального мира можно использовать индексирование или метод выбора, используя строковое сравнение описаний виртуального мира. Для метода индексирования введите
worlds = vrwho; myworld = worlds(1);
Для метода сравнения строк введите
worlds = vrwho;
myworld =
worlds(strcmp('Planets',get(worlds,'Description')));
Чтобы получить дескриптор для текущего отображаемого рисунка Simulink 3D Animation Viewer, введите
f=get(myworld,'Figures')
Чтобы программа Simulink 3D Animation записывала анимацию вручную, установите RecordMode свойство для manual. Напечатать
set(myworld,'RecordMode','scheduled');
Управление программой Simulink 3D Animation для записи анимации в виде .avi форматировать файл. Напечатать
set(f,'Record2D','on');
Выберите время начала и окончания, в течение которого необходимо записать анимацию. Например, введите 5 в качестве времени начала и 15 как время остановки.
set(myworld,'RecordInterval',[5 15]);
Убедитесь, что значение времени начала записи не раньше времени начала модели Simulink; невозможно запустить операцию записи в этом экземпляре. Если время остановки превышает время остановки модели Simulink или если это значение вне границ, например отрицательное число, операция записи прекращается при прекращении моделирования. Запись может быть медленной.
Отключите панель навигации. Панель навигации отображается в нижней части виртуальной сцены. Эту панель можно отключить для более чистого просмотра виртуальной сцены. Напечатать
set(f,'NavPanel','none');
Убедитесь, что окно рисунка виртуальной реальности является самым верхним окном.
Запустите модель Simulink. В меню Моделирование выберите Режим > Обычный, затем щелкните Моделирование > Выполнить. Кроме того, если используется средство просмотра Simulink 3D Animation по умолчанию, можно запустить модель Simulink с одним из следующих способов:
В строке меню выберите пункт меню «Моделирование» «Пуск» для запуска моделирования.
На панели инструментов нажмите кнопку Пуск/пауза/продолжение моделирования, чтобы начать моделирование.
С клавиатуры нажмите Ctrl + T, чтобы начать моделирование.
Моделирование выполняется. Программа Simulink 3D Animation начинает запись, когда время моделирования достигает указанного времени начала. Программа создает файл vrplanets_anim_N.avi в текущей рабочей папке по завершении, где N равно 1 или более, в зависимости от количества итераций файла.
Завершив работу, остановите моделирование. Для просмотра можно использовать одно из следующих действий:
В строке меню выберите опцию Stop меню Simulation, чтобы остановить моделирование.
На панели инструментов щелкните Остановить моделирование (Stop simulation), чтобы остановить моделирование.
С клавиатуры нажмите Ctrl + T, чтобы остановить моделирование.
Если требуется снова включить панель навигации, введите
set(f,'NavPanel','halfbar');
Закройте и удалите объекты, если их использование не требуется.