Класс: 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();