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

Эта тема описывает, как записать файлы анимации программно для виртуальных миров, которые не сопоставлены с моделями 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.

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

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

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

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

    set(virtual_world,'Time',time_value)
    

    Например, чтобы установить свойство Time для vrworld, w, со значениями, увеличивающимися на 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.

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

Больше о

Для просмотра документации необходимо авторизоваться на сайте