Анимируйте мир виртуальной реальности для заданных положения и угла во данных временных рядов
play(h)
h.play
play(h)
и h.play
анимируйте мир виртуальной реальности в h
для текущей TimeseriesDataSource
по заданной скорости, заданной 'TimeScaling'
свойство (в секундах данных анимации в секунду настенного времени) и анимация с определенным количеством систем координат в секунду с помощью 'FramesPerSecond'
свойство.
Данные временных рядов интерпретируются согласно 'TimeseriesSourceType'
свойство, которое может быть одним из:
'timeseries' | MATLAB® данные временных рядов с шестью значениями в раз:
Значения повторно дискретизированы. |
'Simulink.Timeseries' | Timeseries (Simulink® логгирование сигнала):
|
'StructureWithTime' | Simulink struct со временем (для примера, регистрация исходящего порта корня 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();