play

Класс: Aero.Animation
Пакет: аэро

Анимационный Aero.Animation возразите данным временным рядам положения/угла

Синтаксис

play(h)
h.play

Описание

play(h) и h.play анимируйте загруженную геометрию в h для текущего TimeseriesDataSource на заданном уровне, данном 'TimeScaling' свойство (в секундах данных анимации в секунду тактового стенкой времени) и анимированный в определенном числе кадров в секунду с помощью 'FramesPerSecond' свойство.

Данные временных рядов интерпретированы согласно 'TimeseriesSourceType' свойство, которое может быть одним из:

'Timeseries'

Данные временных рядов MATLAB® с шестью значениями во время:

x y z phi theta psi

Значения передискретизируются.

'Simulink.Timeseries'

Simulink.Timeseries (сигнал Simulink®, регистрирующий):

  • Элемент First Data

    x y z

  • Второй элемент данных

    phi theta psi

'StructureWithTime'

Struct Simulink со временем (например, корневой выходной порт Simulink, регистрирующий 'Structure with time'):

  • signals(1).values: x y z

  • signals(2).values: phi theta psi

Сигналы линейно интерполированы по сравнению со временем с помощью interp1.

'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();