这个例子显示了如何创建使用FlightGear的动画物体轨迹飞行的动画。
注意:在产品中运行这个例子时,您必须自定义您的FlightGear的安装,并取消对GenerateRunScript,系统和游戏命令的例子。你还必须将$ MATLAB /工具箱/航空/ astdemos / HL20文件夹到$ FlightGear的/数据/飞机/文件夹。
这个例子的飞行轨迹数据存储在逗号分隔值格式的文件。利用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), '度', '弧度')TDATA(:,4)... convang(TDATA(:,6), '度','弧度“)];
打开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.TimeScaling = 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)
你不需要每个数据被视为时间来生成此文件。产生它,只有当所需的初始条件或FlightGear的信息的变化。
从MATLAB命令提示启动FlightGear的,键入系统命令执行由创建的运行脚本GenerateRunScript。
系统( 'runfg.bat&');
小费:在焦距上的FlightGear的窗口,按V键的不同视图飞机之间交替:座舱视图,直升机视图,和追视图。
一旦FlightGear的启动和运行时,FlightGearAnimation对象可以开始与FlightGear的沟通。要显示飞动漫与FlightGear的,使用玩命令。
播放(H)
要显示飞动漫的截图,使用MATLAB图片命令。
图像(imread([matlabroot filesep完整文件('工具箱',“航空”,'astdemos','图','astfganim01.png')],'PNG'));轴离;集(GCA,'位置',[0 0 1 1]);集(GCF,'菜单栏','没有');