exponenta event banner

игра

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

Живой 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 ®):

  • Первый элемент данных

    x y z

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

    phi theta psi

'StructureWithTime'

Структура Simulink со временем (например, регистрация исходящего порта корня Simulink) 'Structure with time'):

  • signals(1).values: x y z

  • signals(2).values: phi theta psi

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

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