Создайте и сконфигурируйте инструментальный компонент рейса и объект Animation

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

  • Анемотахометр

  • Высотомер

  • Вариометр

  • Индикатор Exhaust gas temperature (EGT)

  • Индикатор Heading

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

  • Индикатор Revolutions per minute (RPM)

  • Окажитесь координатором

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

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

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

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

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

  5. Создайте инструментальные компоненты рейса.

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

Примечание

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

Загрузите и визуализируйте данные

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

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

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

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

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

      h.createBody('pa24-250_orange.ac','Ac3d');
    3. Настройте тела объекта Animation 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();

Чтобы создать инструментальные компоненты рейса, смотрите, Создают Инструментальные Компоненты Рейса

Создайте инструментальные компоненты рейса

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

  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® и создайте и загрузите его в оси пользовательского интерфейса в 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];

Для полного примера смотрите, что Данные о Траектории Рейса Отображения Используют Инструменты Рейса и Анимацию Рейса.

Смотрите также

Функции

Свойства

Похожие темы