使用飞行仪器和飞行动画显示飞行轨迹数据
这个例子展示了如何使用飞行仪表组件在UI图形窗口中可视化飞行轨迹。在本例中,您将与Aero一起创建和配置标准飞行仪表。动画对象。
装载飞行轨迹和仪表显示的记录数据
将记录的飞机位置、姿态和时间加载到工作空间。
负载simdata偏航= simdata(:,7);偏航(偏航<0)=偏航(偏航<0)+2*pi;Simdata(:,7) =偏航;
创建动画界面
若要显示存储在飞行轨迹数据中的飞行轨迹,请创建一个Aero。动画对象。在这个例子中使用的飞机是派珀PA24-250科曼奇。
h = air . animation;h.createBody (“pa24 - 250 _orange.ac”,“Ac3d”);h.Bodies{1}。TimeSeriesSource = simdata;h.Camera.PositionFcn = @ staticcamerposition;h.Figure.Position(1) = h.Figure.Position(1) + 572/2;h.updateBodies (simdata (1,1));h.updateCamera (simdata (1,1));h.show ();
创建飞行仪器
创建一个包含飞行仪表的UI图形窗口。
图= ufigure图(“名字”,“飞行仪器”,...“位置”,[h.位置(1)-572 h.位置(2)+h.位置(4)-502 572 502],...“颜色”,[0.2667 0.2706 0.2784],“调整”,“关闭”);
为了防止实时脚本为每个添加的ui元素添加一个新图像,将visibility属性设置为“off”。
fig.Visible =“关闭”;
加载面板图像到一个轴:
imgPanel = imread(“FlightInstrumentPanel.png”);Ax = uiaxes(“父”无花果,“可见”,“关闭”,“位置”,[10 30 530 460],...“写成BackgroundColor”,[0.2667 0.2706 0.2784]);图像(ax, imgPanel);disableDefaultInteractivity (ax);
创建标准的导航飞行仪器:
创建高度计:
Alt =航空高度计(“父”无花果,“位置”,[369 299 144 144]);
创建标题指示器:
头= uiaeroheading(“父”无花果,“位置”,[212 104 144 144]);
创建空速指示器:
空气= uiairairspeed (“父”无花果,“位置”,[56 299 144 144]);
根据派珀PA 24-250科曼奇的能力改变空速指示器限制:
空气中。限制= [25 250];空气中。ScaleColorLimits = [0,60;50200;200225;225250);
创造人造地平线:
航空地平线(“父”无花果,“位置”,[212 299 144 144]);
创建攀升率指标:
攀爬(“父”无花果,“位置”,[369 104 144 144]);
根据飞机能力改变爬升指示器最大爬升率:
爬。MaximumRate = 8000;
创建回合协调器:
Turn = uiaeroturn(“父”无花果,“位置”,[56 104 144 144]);
要更新飞行仪表和动画图形,请分配ValueChangingFcn
回调到flightInstrumentsAnimationCallback helper函数。然后,当在滑块上选择时间时,飞行仪表和动画图形将根据所选择的时间值更新。
Sl = uislider(“父”无花果,“限制”, (simdata (1, 1) simdata(, 1)]。“FontColor”,“白色”);sl.Position = [50 60 450 3];sl. valuechangingfcn = @(sl,event) flightInstrumentsAnimationCallback(fig,simdata,h,event);
要显示在滑块中选择的时间,请创建一个标签组件。
LBL = uilabel(“父”无花果,“文本”,[的时间:num2str (sl.Value, 4)“秒”),“FontColor”,“白色”);lbl。位置= [230 10 90 30];
要显示图形,将Visibility属性设置为“on”。
fig.Visible =“上”;
另请参阅
类
方法
功能
uifigure
|uiaeroairspeed
|uiaeroaltimeter
|uiaeroclimb
|uiaeroegt
|uiaeroheading
|uiaerohorizon
|uiaerorpm
|uiaeroturn
属性
- AirspeedIndicator属性|高度计属性|ArtificialHorizon属性|ClimbIndicator属性|EGTIndicator属性|HeadingIndicator属性|RPMIndicator属性|TurnCoordinator属性