Можно отобразить полетные данные с помощью любого из стандартных инструментальных компонентов рейса:
Анемотахометр
Высотомер
Вариометр
Индикатор Exhaust gas temperature (EGT)
Индикатор Heading
Искусственный горизонт
Индикатор Revolutions per minute (RPM)
Окажитесь координатором
Как общий рабочий процесс:
Загрузите данные моделирования.
Создайте объект Animation.
Создайте окно рисунка.
Создайте панель управления полетом, чтобы содержать инструментальные компоненты рейса.
Создайте инструментальные компоненты рейса.
Инициируйте отображение анимации в инструментальной панели.
Примечание
Используйте инструменты рейса Aerospace Toolbox только с фигурами, созданными с помощью uifigure
функция. Приложения, созданные с помощью GUIDE или figure
функция не поддерживает инструментальные компоненты рейса.
Чтобы загрузить и визуализировать данные, рассмотрите этот рабочий процесс:
Загрузите данные моделирования. Например, simdata
переменная содержит регистрируемые симулированные данные о траектории рейса.
load simdata
Чтобы визуализировать данные анимации, создайте объект Animation. Например:
Создайте Aero.Animation
объект.
h = Aero.Animation;
Создайте тело с помощью pa24-250_orange.ac
Файл AC3D и его связанные закрашенные фигуры.
h.createBody('pa24-250_orange.ac','Ac3d');
Настройте тела объекта Animation 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();
Чтобы создать инструментальные компоненты рейса, смотрите, Создают Инструментальные Компоненты Рейса
Этот рабочий процесс принимает, что вы загрузили данные и создали объект Animation как описано в Загрузке и Визуализируете Данные.
Создайте a 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® и создайте и загрузите его в оси пользовательского интерфейса в 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];
Для полного примера смотрите, что Данные о Траектории Рейса Отображения Используют Инструменты Рейса и Анимацию Рейса.
imread
| uiaeroairspeed
| uiaeroaltimeter
| uiaeroclimb
| uiaeroegt
| uiaeroheading
| uiaerohorizon
| uiaerorpm
| uiaeroturn
| uiaxes
| uifigure
| uilabel
| uislider