Анимация мира виртуальной реальности для заданного положения и угла в данных временных рядов
play(h)
h.play
play(h) и h.play анимировать мир виртуальной реальности в h для текущего TimeseriesDataSource по указанной ставке, указанной 'TimeScaling' (в секундах анимационных данных в секунду настенного тактового времени) и анимация при определенном количестве кадров в секунду с использованием 'FramesPerSecond' собственность.
Данные временных рядов интерпретируются в соответствии с 'TimeseriesSourceType' свойство, которое может быть одним из:
'timeseries' | Данные временных рядов MATLAB ® с шестью значениями в раз:
Значения повторно дискретизируются. |
'Simulink.Timeseries' | Simulink.Timeseries (регистрация сигналов Simulink ®):
|
'StructureWithTime' | Структура Simulink со временем (например, регистрация исходящего порта корня Simulink)
Сигналы линейно интерполируются в зависимости от времени с использованием |
'Array6DoF' | Массив с двойной точностью в n строки и 7 столбцов для 6-DoF данных: time x y z phi theta psi. Если массив с двойной точностью из 8 или более столбцов находится в 'TimeseriesSource'первые 7 столбцов используются в качестве 6-DoF данных. |
'Array3DoF' | Массив с двойной точностью в n строки и 4 столбца для 3-DoF данных: time x z theta. Если массив с двойной точностью из 5 или более столбцов находится в 'TimeseriesSource'первые 4 столбца используются в качестве 3-DoF данных. |
'Custom' | Данные о положении и угле извлекаются из 'TimeseriesSource' зарегистрированным в настоящее время 'TimeseriesReadFcn'. |
Алгоритм продвижения по времени, используемый play основан на кадрах анимации, отсчитанных по засечкам:
ticks = ticks + 1; time = tstart + ticks*FramesPerSecond*TimeScaling;
где
TimeScaling | Укажите секунды данных анимации в секунду времени настенного времени. |
FramesPerSecond | Укажите количество кадров в секунду, используемых для анимации 'TimeseriesSource'. |
По умолчанию 'TimeseriesReadFcn' методы, последний воспроизведенный кадр является последним значением времени.
Время в секундах, значения положения находятся в тех же единицах, что и геометрические данные, загруженные в объект анимации, и все углы находятся в радианах.
Анимация мира виртуальной реальности, asttkoff.
h = Aero.VirtualRealityAnimation;
h.FramesPerSecond = 10;
h.TimeScaling = 5;
h.VRWorldFilename = [matlabroot,'/toolbox/aero/astdemos/asttkoff.wrl'];
copyfile(h.VRWorldFilename,[tempdir,'asttkoff.wrl'],'f');
h.VRWorldFilename = [tempdir,'asttkoff.wrl'];
h.initialize();
load takeoffData
[~, idxPlane] = find(strcmp('Plane', h.nodeInfo));
h.Nodes{idxPlane}.TimeseriesSource = takeoffData;
h.Nodes{idxPlane}.TimeseriesSourceType = 'StructureWithTime';
h.Nodes{idxPlane}.CoordTransformFcn = @vranimCustomTransform;
h.play();