Класс: Aero.Animation
Пакет: Aero
Анимируйте Aero.Animation
заданное положение/угол объекта временных рядов
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' . |
Ниже приведены ограничения для TStart
и TFinal
значения:
TStart
и TFinal
должен быть числовым.
TStart
и TFinal
не может быть Inf или NaN.
TFinal
должно быть больше или равно TStart
.
TFinal
не может быть больше максимального Timeseries
время.
TStart
не может быть меньше минимального Timeseries
время.
Алгоритм улучшения времени, используемый play
основан на системах координат анимации, отсчитываемых по тактам:
ticks = ticks + 1; time = tstart + ticks*FramesPerSecond*TimeScaling;
где
TimeScaling | Задайте секунды данных анимации в секунду настенного времени. |
FramesPerSecond | Задайте количество систем координат в секунду, используемых для анимации 'TimeseriesSource' . |
Для 'TimeseriesReadFcn' по умолчанию
методы, последний воспроизведённая система координат является последним значением времени.
Время в секундах, значения положения находятся в тех же модулях, что и данные геометрии, загруженные в объект анимации, и все углы находятся в радианах.
Примечание
Если между ожидаемым усовершенствованием по времени и фактическим усовершенствованием по времени имеется различие 15%, этот метод выдаст следующее предупреждение:
TimerPeriod has been set to <value>. You may wish to modify the animation TimeScaling and FramesPerSecond properties to compensate for the millisecond limit of the TimerPeriod. See documentation for details.
h | Объект анимации. |
Анимируйте тело, idx1
, на время данных временных рядов.
h = Aero.Animation; h.FramesPerSecond = 10; h.TimeScaling = 5; idx1 = h.createBody('pa24-250_orange.ac','Ac3d'); load simdata; h.Bodies{1}.TimeSeriesSource = simdata; h.show(); h.play();