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

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

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

Функции

Свойства

Похожие темы