Класс: Aero.Animation
Пакет: Aero
Живой Aero.Animation заданный временной ряд «положение/угол» объекта
play(h)
h.play
play(h) и h.play анимировать загруженную геометрию в h для текущего TimeseriesDataSource по указанной ставке, указанной 'TimeScaling' (в секундах анимационных данных в секунду настенного тактового времени) и анимация при определенном количестве кадров в секунду с использованием 'FramesPerSecond' собственность.
Данные временных рядов интерпретируются в соответствии с 'TimeseriesSourceType' свойство, которое может быть одним из:
'Timeseries' | Данные временных рядов MATLAB ® с шестью значениями в раз:
Значения повторно дискретизируются. |
'Simulink.Timeseries' | Simulink.Timeseries (регистрация сигналов Simulink ®):
|
'StructureWithTime' | Структура Simulink со временем (например, регистрация исходящего порта корня 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();