这个例子显示了如何创建使用FlightGear的动画物体轨迹飞行的动画。
注意:在产品中运行此示例时,必须使用FlightGear安装自定义示例,并取消GenerateRunScript、system和play命令的注释。您还必须将$MATLAB/toolbox/aero/astdemos/HL20文件夹复制到$FLIGHTGEAR/data/Aircraft/文件夹中。
这个例子的飞行轨迹数据存储在逗号分隔值格式的文件。用dlmread读取开始于行1和列0跳过所述报头信息从该文件中的数据。
tdata = dlmread ('asthl20log.csv',”、“1 0);
使用MATLAB®时间序列命令创建从纬度、经度、海拔和欧拉角数据以及tdata中的时间数组创建时间序列对象ts。要将纬度、经度和欧拉角从度转换为弧度,请使用convang功能。
TS =时间序列([convang(TDATA(:,[3 2]),“度”,“拉德”)...tdata (:, 4) convang (tdata(:,前书5章7节),“度”,“拉德”)], tdata (: 1));
您可以使用其他有效的格式,如“Array6DoF”,例如从这些数据创建导入的数据:
TS = [TDATA(:,1)convang(TDATA(:,[3 2]), '度', 'RAD')TDATA(:,4)... convang(TDATA(:,5:7),”度”, 'RAD')];
和“Array3DoF”。
ts = [tdata (: 1) convang (tdata(:, 3),“度”,rad) tdata(:, 4)……6) convang (tdata(:,“度”,rad)];
打开一个FlightGearAnimation对象。
H = Aero.FlightGearAnimation;
设置为FlightGearAnimation时间序列对象的属性。
h。TimeseriesSourceType ='时间序列';h.TimeseriesSource = TS;
关于FlightGear的设置FlightGearAnimation对象属性
这些属性包括安装文件夹的路径、版本号、飞机几何模型和FlightGear飞行模拟器的网络信息。
h。FlightGearBaseDirectory ='C:\ Program Files文件\ FlightGear的';h.FlightGearVersion ='2019.1';h。GeometryModelName ='HL20';h.DestinationIpAddress ='127.0.0.1';h。DestinationPort ='5502';
为FlightGear飞行模拟器设置所需的初始条件(位置和方向)。
h.AirportId ='KSFO';h.RunwayId ='10L';h.InitialAltitude = 7224;h.InitialHeading = 113;h.OffsetDistance = 4.72;h.OffsetAzimuth = 0;
启用FlightGear的飞行模拟器“准时”风光安装。模拟器运行时所需的风光将被下载。对于Windows系统,可以同时发动FlightGear的在启用该选项遇到错误消息。欲了解更多信息,请参阅安装其他FlightGear的风景。
h。InstallScenery = true;
禁用FlightGear着色。
h.DisableShaders = TRUE;
设置每个的挂钟时间第二动画数据的秒。
h。时间跨度= 5;
使用get(h)至检查FlightGearAnimation对象的属性和它们的值。
得到(H)
TimeseriesSource:[1x1的时间序列] TimeseriesSourceType: '时间序列' TimeseriesReadFcn:@TimeseriesRead时标变化:5 FramesPerSecond:12 FlightGearVersion: '2019.1' OutputFileName: 'runfg.bat' FlightGearBaseDirectory: 'C:\ Program Files文件\ FlightGear的' GeometryModelName: 'HL20' DestinationIpAddress: '127.0.0.1' DestinationPort: '5502' AirportId: 'KSFO' RunwayId: '10L' InitialAltitude:7224 InitialHeading:113 OffsetDistance:4.7200 OffsetAzimuth:0 InstallScenery:1个DisableShaders:1 TSTART:NaN的T最终:NaN的体系结构: '默认'
到具有所需的初始条件(位置,日期,时间,天气,和操作模式)启动FlightGear的,创建具有一个运行脚本GenerateRunScript命令。默认,GenerateRunScript将运行脚本保存为一个名为“runfg.bat”的文本文件。
GenerateRunScript(H)
您不需要在每次查看数据时生成此文件。仅当所需的初始条件或飞行装备信息发生变化时才生成它。
从MATLAB命令提示启动FlightGear的,键入系统命令执行由创建的运行脚本GenerateRunScript。
系统(“runfg.bat &”);
小费:在焦距上的FlightGear的窗口,按V键的不同视图飞机之间交替:座舱视图,直升机视图,和追视图。
一旦FlightGear的启动和运行时,FlightGearAnimation对象可以开始与FlightGear的沟通。要显示飞动漫与FlightGear的,使用玩命令。
玩(h)
要显示一个屏幕截图的飞行动画,使用MATLAB图片命令。
图像(imread([matlabroot filesep完整文件(“工具箱”,“航空”,'astdemos',“数据”,'astfganim01.png')],“png”));轴从;集(gca),“位置”,[0 0 1]);集(gcf,菜单条的,'没有');