Создайте и сконфигурируйте компонент Flight Instrument и объект анимации

Можно отобразить данные о рейсе с помощью любого из стандартных компонентов летного прибора:

  • Индикатор воздушной скорости

  • Высотомер

  • Индикатор набора высоты

  • Индикатор температуры отработавших газов (EGT)

  • Индикатор курса

  • Искусственный горизонт

  • Индикатор оборотов в минуту (об/мин)

  • Поворот координатора

Как общий рабочий процесс:

  1. Загрузите данные моделирования.

  2. Создайте объект анимации.

  3. Создайте окно рисунка.

  4. Создайте рейс панель управления, которая будет содержать рейс компоненты прибора.

  5. Создайте компоненты полетного прибора.

  6. Инициируйте отображение анимации на инструментальные панели.

Примечание

Используйте Aerospace Toolbox рейса инструменты только с рисунками, созданными с помощью uifigure функция. Приложения, созданные с помощью GUIDE или figure функция не поддерживает компоненты летного прибора.

Загрузка и визуализация данных

Чтобы загрузить и визуализировать данные, рассмотрите этот рабочий процесс:

  1. Загрузите данные моделирования. Для примера, simdata переменная содержит записанные данные моделируемой траектории рейса.

    load simdata
  2. Чтобы визуализировать данные анимации, создайте объект анимации. Для примера:

    1. Создайте Aero.Animation объект.

      h = Aero.Animation;
    2. Создайте тело с помощью pa24-250_orange.ac AC3D файл и связанные с ним закрашенные фигуры.

      h.createBody('pa24-250_orange.ac','Ac3d');
    3. Настройте тела объекта анимации h. Установите TimeSeriesSource свойство загруженному simdata.

      h.Bodies{1}.TimeSeriesSource = simdata;
    4. Установите положение камеры и рисунка.

      h.Camera.PositionFcn = @staticCameraPosition;
      h.Figure.Position(1) = h.Figure.Position(1) + 572/2;
      
    5. Создайте и отобразите графический объект рисунка для h.

      h.updateBodies(simdata(1,1));
      h.updateCamera(simdata(1,1));
      h.show();

Для создания рейса компонентов инструмента см. Раздел «Создание Рейса компонентов инструмента»

Создайте компоненты летного прибора

Этот рабочий процесс предполагает, что вы загрузили данные и создали объект анимации, как описано в Загрузка и Визуализация данных.

  1. Создайте uifigure окно рисунка. Этот пример создает fig, чтобы содержать рейс инструмент для h.

    fig = uifigure('Name','Flight Instruments',...
    'Position',[h.Figure.Position(1)-572 h.Figure.Position(2)+h.Figure.Position(4)-502 572 502],...
    'Color',[0.2667 0.2706 0.2784],'Resize','off');
  2. Создайте рейс инструментальной панели изображение для инструментов рейса и сохраните его как графический файл, такой как файл PNG.

  3. Чтение рейса инструментальной панели изображения в MATLAB® и создайте и загрузите его в оси UI в App Designer, используя uiaxes функция. Чтобы отобразить рейс инструментальной панели изображение в текущую систему координат, используйте image функция. Для примера:

    imgPanel = imread('astFlightInstrumentPanel.png');
    ax = uiaxes('Parent',fig,'Visible','off','Position',[10 30 530 460],...
    'BackgroundColor',[0.2667 0.2706 0.2784]);
    image(ax,imgPanel);
  4. Создайте компонент полетных приборов. Например, создайте компонент искусственного горизонта. Задайте родительский объект как uifigure и положение и размеры искусственного горизонта.

    hor = uiaerohorizon('Parent',fig,'Position',[212 299 144 144]);
  5. Чтобы вызвать отображение анимации на инструментальные панели, необходимо ввести временной шаг. Например, подключите устройство входа времени, такое как ползунок или ручка, которое может изменить время. Когда вы изменяете время на устройстве входа времени, компонент рейса инструмента обновляется, чтобы показать результат. Этот пример использует uislider функция для создания компонента ползунка.

    sl = uislider('Parent',fig,'Limits',[simdata(1,1),...
    simdata(end,1)],'FontColor','white');
    sl.Position = [50 60 450 3];
    
  6. Компонент ползунка имеет ValueChangingFcn коллбэк, который выполняется при перемещении ползунка. Чтобы обновить инструменты рейса и рисунка анимации, назначьте ValueChangingFcn коллбэк вспомогательной функции. Этот пример использует astHelperFlightInstrumentsAnimation вспомогательная функция.

    sl.ValueChangingFcn = @(sl,event)
    astHelperFlightInstrumentsAnimation(sl,fig,simdata,h);
  7. Чтобы отобразить время, выбранное в ползунке, используйте uilabel функция для создания компонента метки. Этот код создает текст метки в белом цвете и помещает метку в положение [230 10 90 30].

    lbl = uilabel('Parent',fig,'Text',['Time: ' num2str(sl.Value,4) ' sec'],'FontColor','white');
    lbl.Position = [230 10 90 30];

Полный пример см. в разделах Отображение Рейсах Данные траектории с использованием Рейса Instruments и Рейса Animation.

См. также

Функции

Свойства

Похожие темы