Анимации записи для несвязанных виртуальных миров

Эта тема описывает, как записать файлы анимации программно для виртуальных миров, которые не сопоставлены с моделями Simulink® (другими словами, от интерфейса MATLAB®). В этом экземпляре необходимо задать отношение между событиями, которые изменяют состояние виртуального мира и время в файле анимации. Это требование отличается от виртуальных миров, сопоставленных с моделями Simulink. Виртуальные миры, которыми управляют полностью от интерфейса MATLAB, не имеют никакого значения по умолчанию, интуитивной интерпретации отношения времени между моделями среды MATLAB и виртуальными сценами.

Примечание

Много технических зависящих от времени задач смоделированы и решены в MATLAB. Для тех проблем, которые имеют значимое визуальное представление, можно создать модели виртуальной реальности и анимировать их решения. Кроме того, оффлайновое время анимации может представлять любую независимую переменную, вдоль которой можно наблюдать и визуализировать решение модели. Используя оффлайновые файлы анимации может принести коммуникацию такого технического решения проблем к новым уровням. Пример Simulink 3D Animation™ vrheat (визуализация теплопередачи), пример зависящей от времени задачи, смоделированной и решенной в MATLAB. Его модифицированная версия, vrheat_anim, показывает использование метода программирования, описанного в этой теме.

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

  • Получите vrworld указатель на объект виртуальной сцены, которую вы хотите записать.

  • Записывать 2D анимации,

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

    2. Установите Record2D vrfigure свойство.

    3. Чтобы заменить имена файлов по умолчанию для файлов анимации, установите vrfigure Record2DFileName свойство.

  • Создать 3-D файлы анимации,

    1. Получите соответствующий vrworld объект.

    2. Установите Record3D vrworld свойство.

    3. Чтобы заменить имена файлов по умолчанию для файлов анимации, установите vrworld Record3DFileName свойство.

  • Установите RecordMode vrworld свойство объекта к manual или scheduled. Для оптимальных результатов выберите scheduled.

  • Если вы выбираете scheduled для RecordMode, обязательно установите vrworld RecordInterval свойство к желаемому временному интервалу.

  • Чтобы указать, что источник времени виртуального мира является внешним, устанавливает vrworld свойство TimeSource к external. Эта установка гарантирует что программное управление MATLAB время сцены виртуального мира. Ввод

    set(virtual_world,'TimeSource', 'external')
    
  • Чтобы задать временные стоимости, в которых вы хотите сохранить кадры анимации, итеративно установите vrworld Time свойство. Для более сглаженной анимации, набор время в равных интервалах, например, каждые пять секунд. Используйте последовательность как этот:

    set(virtual_world,'Time',time_value)
    

    Например, чтобы установить Time свойство для vrworldW, со значениями, увеличивающимися на 10, войти

    set(w,'Time',10);
    set(w,'Time',20);
    set(w,'Time',30);
    set(w,'Time',40);
    set(w,'Time',50);
    set(w,'Time',60);
    set(w,'Time',70);
    set(w,'Time',80);
    set(w,'Time',90);
    set(w,'Time',100);
    set(w,'Time',110);
    set(w,'Time',120);
    set(w,'Time',130);
    set(w,'Time',140);
    

    Если вы выбираете время начала 60 и время остановки 120 (как описано в Запланированной 3-D Записи с MATLAB), программное обеспечение Simulink 3D Animation начинает записывать в 60 и остановки в 120.

    Из-за повторяющейся природы установки временного интервала, набор Time свойство в цикле из скрипта или программы.

  • После того, как вы устанавливаете vrworld Time свойство, набор свойства объектов виртуальной сцены по мере необходимости. Установите эти свойства на значения, которые соответствуют данному периоду времени, чтобы достигнуть желаемого эффекта анимации.

  • В каждый период времени выпустите vrdrawnow команда для изменений сцены. Эта команда представляет и обновляет сцену.

Следующий фрагмент кода содержит типичный цикл, который итеративно устанавливает Time свойство, изменяет свойство объекта виртуальной сцены и вызывает vrdrawnow представлять сцену:

for time=StartTime:Step:StopTime
  % advance the time in the virtual scene
  set(myworld,'Time',time); 
  % here we change node properties
  myworld.Car.translation = [ time*speed 0 0 ];
  % render the changed position
  vrdrawnow;
end

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

Для полного примера того, как выполнить этот вид записи анимации, отошлите к Simulink 3D Animation vrheat_anim пример.

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

Больше о