exponenta event banner

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

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

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

  • Высотомер

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

  • Индикатор температуры отработавших газов (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 ® и создавайте и загружайте его в оси пользовательского интерфейса в 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];

Полный пример см. в разделах Отображение данных траектории полета с помощью приборов полета и анимация полета.

См. также

Функции

Свойства

Связанные темы