Класс: Aero.Animation
Пакет: аэро
Анимационный Aero.Animation
возразите данным временным рядам положения/угла
play(h)
h.play
play(h)
и h.play
анимируйте загруженную геометрию в h
для текущего TimeseriesDataSource
на заданном уровне, данном 'TimeScaling'
свойство (в секундах данных анимации в секунду тактового стенкой времени) и анимированный в определенном числе кадров в секунду с помощью 'FramesPerSecond'
свойство.
Данные временных рядов интерпретированы согласно 'TimeseriesSourceType'
свойство, которое может быть одним из:
'Timeseries' | Данные временных рядов MATLAB® с шестью значениями во время:
Значения передискретизируются. |
'Simulink.Timeseries' | Simulink.Timeseries (сигнал Simulink®, регистрирующий):
|
'StructureWithTime' | Struct Simulink со временем (например, корневой выходной порт Simulink, регистрирующий
Сигналы линейно интерполированы по сравнению со временем с помощью |
'Array6DoF' | Массив с двойной точностью в n строки и 7 столбцов для данных с 6 степенями свободы: time x y z phi theta psi . Если массив с двойной точностью 8 или больше столбцов находится в 'TimeseriesSource' , первые 7 столбцов используются в качестве данных с 6 степенями свободы. |
'Array3DoF' | Массив с двойной точностью в n строки и 4 столбца для данных с 3 степенями свободы: time x z theta . Если массив с двойной точностью 5 или больше столбцов находится в 'TimeseriesSource' , первые 4 столбца используются в качестве данных с 3 степенями свободы. |
'Custom' | Данные о положении и угле получены из 'TimeseriesSource' в настоящее время зарегистрированным 'TimeseriesReadFcn' . |
Следующее является ограничениями для TStart
и TFinal
значения:
TStart
и TFinal
mustBeNumeric.
TStart
и TFinal
не может быть Inf или NaN.
TFinal
должен быть больше или быть равен TStart
.
TFinal
не может быть больше максимального Timeseries
время.
TStart
не может быть меньше минимального Timeseries
время.
Алгоритм продвижения времени, используемый play
основан на кадрах анимации, считаемых метками деления:
ticks = ticks + 1; time = tstart + ticks*FramesPerSecond*TimeScaling;
где
TimeScaling | Задайте секунды данных анимации в секунду тактового стенкой времени. |
FramesPerSecond | Укажите, что количество кадров в секунду раньше анимировало 'TimeseriesSource' . |
Для 'TimeseriesReadFcn'
по умолчанию методы, последняя проигрываемая система координат являются последней временной стоимостью.
Время находится в секундах, значения положения находятся в тех же модулях как данные о геометрии, загруженные в объект Animation, и все углы исчисляются в радианах.
Примечание
Если будет 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 | Объект Animation. |
Анимируйте тело, 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();