Можно отобразить данные о рейсе с помощью любого из стандартных компонентов летного прибора:
Индикатор воздушной скорости
Высотомер
Индикатор набора высоты
Индикатор температуры отработавших газов (EGT)
Индикатор курса
Искусственный горизонт
Индикатор оборотов в минуту (об/мин)
Поворот координатора
Как общий рабочий процесс:
Загрузите данные моделирования.
Создайте объект анимации.
Создайте окно рисунка.
Создайте рейс панель управления, которая будет содержать рейс компоненты прибора.
Создайте компоненты полетного прибора.
Инициируйте отображение анимации на инструментальные панели.
Примечание
Используйте Aerospace Toolbox рейса инструменты только с рисунками, созданными с помощью uifigure
функция. Приложения, созданные с помощью GUIDE или figure
функция не поддерживает компоненты летного прибора.
Чтобы загрузить и визуализировать данные, рассмотрите этот рабочий процесс:
Загрузите данные моделирования. Для примера, simdata
переменная содержит записанные данные моделируемой траектории рейса.
load simdata
Чтобы визуализировать данные анимации, создайте объект анимации. Для примера:
Создайте Aero.Animation
объект.
h = Aero.Animation;
Создайте тело с помощью pa24-250_orange.ac
AC3D файл и связанные с ним закрашенные фигуры.
h.createBody('pa24-250_orange.ac','Ac3d');
Настройте тела объекта анимации h
. Установите TimeSeriesSource
свойство загруженному simdata
.
h.Bodies{1}.TimeSeriesSource = simdata;
Установите положение камеры и рисунка.
h.Camera.PositionFcn = @staticCameraPosition; h.Figure.Position(1) = h.Figure.Position(1) + 572/2;
Создайте и отобразите графический объект рисунка для h
.
h.updateBodies(simdata(1,1)); h.updateCamera(simdata(1,1)); h.show();
Для создания рейса компонентов инструмента см. Раздел «Создание Рейса компонентов инструмента»
Этот рабочий процесс предполагает, что вы загрузили данные и создали объект анимации, как описано в Загрузка и Визуализация данных.
Создайте 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');
Создайте рейс инструментальной панели изображение для инструментов рейса и сохраните его как графический файл, такой как файл PNG.
Чтение рейса инструментальной панели изображения в 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);
Создайте компонент полетных приборов. Например, создайте компонент искусственного горизонта. Задайте родительский объект как uifigure
и положение и размеры искусственного горизонта.
hor = uiaerohorizon('Parent',fig,'Position',[212 299 144 144]);
Чтобы вызвать отображение анимации на инструментальные панели, необходимо ввести временной шаг. Например, подключите устройство входа времени, такое как ползунок или ручка, которое может изменить время. Когда вы изменяете время на устройстве входа времени, компонент рейса инструмента обновляется, чтобы показать результат. Этот пример использует uislider
функция для создания компонента ползунка.
sl = uislider('Parent',fig,'Limits',[simdata(1,1),... simdata(end,1)],'FontColor','white'); sl.Position = [50 60 450 3];
Компонент ползунка имеет ValueChangingFcn
коллбэк, который выполняется при перемещении ползунка. Чтобы обновить инструменты рейса и рисунка анимации, назначьте ValueChangingFcn
коллбэк вспомогательной функции. Этот пример использует astHelperFlightInstrumentsAnimation
вспомогательная функция.
sl.ValueChangingFcn = @(sl,event) astHelperFlightInstrumentsAnimation(sl,fig,simdata,h);
Чтобы отобразить время, выбранное в ползунке, используйте 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.
imread
| uiaeroairspeed
| uiaeroaltimeter
| uiaeroclimb
| uiaeroegt
| uiaeroheading
| uiaerohorizon
| uiaerorpm
| uiaeroturn
| uiaxes
| uifigure
| uilabel
| uislider