play (Aero.FlightGearAnimation)

Анимируйте симулятор рейса FlightGear, используя заданные временные ряды положение/угол

Синтаксис

play(h)
h.play

Описание

play(h) и h.play анимируйте симулятор рейса FlightGear, используя указанные данные временных рядов в h. Данные временных рядов могут быть установлены в h при помощи свойства 'TimeseriesSource'.

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

'Timeseries'

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

latitude longitude altitude phi theta psi

Значения повторно дискретизированы.

'StructureWithTime'

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

  • signals(1).values: latitude longitude altitude

  • signals(2).values: phi theta psi

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

'Array6DoF'Массив двойной точности в n строки и 7 столбцов для 6-DoF данных: time latitude longitude altitude phi theta psi. Если массив двойной точности из 8 или более столбцов в 'TimeseriesSource'первые 7 столбцов используются в качестве 6-DoF данных.
'Array3DoF'Массив двойной точности в n строки и 4 столбца для 3-DoF данных: time latitude altitude theta. Если массив двойной точности из 5 или более столбцов в 'TimeseriesSource'первые 4 столбца используются в качестве 3-DoF данных.
'Custom'Данные положения и угла извлекаются из 'TimeseriesSource' зарегистрированным на данный момент 'TimeseriesReadFcn'.

Алгоритм улучшения времени, используемый play основан на системах координат анимации, отсчитываемых по тактам:

ticks = ticks + 1;
time  = tstart + ticks*FramesPerSecond*TimeScaling;

где

TimeScalingЗадайте секунды данных анимации в секунду настенного времени.
FramesPerSecondЗадайте количество систем координат в секунду, используемых для анимации 'TimeseriesSource'.

Для 'TimeseriesReadFcn' по умолчанию методы, последний воспроизведённая система координат является последним значением времени.

Время в секундах, значения положения в тех же модулях что и модель геометрии, которая используется FlightGear (см. Свойство 'GeometryModelName'), и все углы находятся в радианах. Возможным результатом использования неправильных модулей является досрочное прекращение полетного симулятора FlightGear.

Примечание

Если между ожидаемым усовершенствованием по времени и фактическим усовершенствованием по времени имеется различие 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.

The play метод поддерживает объекты анимации FlightGear с пользовательскими таймерами.

Ограничения

Ниже приведены ограничения для TStart и TFinal значения:

  • TStart и TFinal должен быть числовым.

  • TStart и TFinal не может быть Inf или NaN.

  • TFinal должно быть больше или равно TStart.

  • TFinal не может быть больше максимального Timeseries время.

  • TStart не может быть меньше минимального Timeseries время.

Примеры

Анимируйте симулятор рейса FlightGear с помощью заданной 'Array3DoF' положение/угол данных временных рядов:

data = [86.2667 -2.13757034184404 7050.896596 -0.135186746141248;...
        87.2833 -2.13753906554384 6872.545051 -0.117321084678936;...
        88.2583 -2.13751089592972 6719.405713 -0.145815609299676;...
        89.275  -2.13747984652232 6550.117118 -0.150635248762596;...
        90.2667 -2.13744993157894 6385.05883  -0.143124782831999;...
        91.275  -2.13742019116849 6220.358163 -0.147946202530756;...
        92.275  -2.13739055547779 6056.906647 -0.167529704309343;...
        93.2667 -2.13736104196014 5892.356118 -0.152547361677911;...
        94.2583 -2.13733161570895 5728.201718 -0.161979312941906;...
        95.2583 -2.13730231163081 5562.923808 -0.122276929636682;...
        96.2583 -2.13727405475022 5406.736322 -0.160421658944379;...
        97.2667 -2.1372440001805  5239.138477 -0.150591353731908;...
        98.2583 -2.13721598764601 5082.78798  -0.147737722951605];
h = fganimation
h.TimeseriesSource = data
h.TimeseriesSourceType = 'Array3DoF'
play(h)

Анимируйте симулятор рейса FlightGear с помощью пользовательского таймера, MyFGTimer.

h.play('MyFGTimer')

См. также

| |

Введенный в R2007a