大数跨境

VFlight精选算例 | 包含弹道计算的应用程序生成

VFlight精选算例 | 包含弹道计算的应用程序生成 微迪航天FlightSim软件
2024-12-13
0
导读:基于FlightSim平台中的VFlight软件进行快速计算弹道,将搭好的弹道计算程序打包封装成独立的可执行程序(exe 文件)并发布。

1 概述


基于FlightSim平台中的VFlight软件进行快速计算弹道,将搭好的弹道计算程序打包封装成独立的可执行程序(exe 文件)。

2 工具介绍


需要用到的工具有:弹道计算、数字地图、应用程序生成。

3 设计与实现


3.1 设置弹道计算模型

本文使用默认的弹道模型,只将初始弹道倾角和射向作为可变量,用于生成多条不同的弹道。

3.2 搭建GUI界面

新建应用程序生成模型,并搭建用户 GUI页面。

3.3 添加地图

如图所示,在解决方案中添加数字地图,用于绘制所生成的弹道。

3.3 编写代码

定义 GUI 控件的回调函数,如图所示。

function OnClickedButton0(){    this.FG_XLabel("Figure0", "S(km)");    this.FG_YLabel("Figure0", "H(km)");    this.FG_XLabel("Figure1", "Theta(deg)");    this.FG_YLabel("Figure1", "Range(km)");    SS = [];    for(ii=0; ii<length(root.THETA); ii++)    {        ::弹道计算1.Theta0 = root.THETA[ii];        run("弹道计算1");        SS = [SS; 弹道计算1.range.end/1e3];        this.FG_Plot("Figure0", ::弹道计算1.range.array/1e3, ::弹道计算1.h.array/1e3, "2", "name", "Theta0 = " + num2str(root.THETA[ii]));        ::数字地图1.AddLine([::弹道计算1.jd.array*180/pi, ::弹道计算1.wd.array*180/pi, ::弹道计算1.h.array]);        ::数字地图1.ReflashViews();    }    this.FG_Plot("Figure1", root.THETA[:], SS[:], "2-sd", "name", "射程");}
function OnClickedButton1(){ this.FG_Clear("Figure0"); this.FG_Clear("Figure1"); ::数字地图1.ClearLayer();}

3.4 打包发布

页面右上角可以将程序打包封装成独立的可执行程序,方便用户重用或修改。

3.5 运行页面展示

高度曲线:

射程统计:

二维地图:

三维地图:



END


FlightSim平台介绍




FlightSim平台面向飞行器设计与仿真方向,历经近二十年的研制已发展成高端装备制造领域Matlab软件的国产化完整替代方案,包含VFlight、VSSim、VPlot、VCLite、VTeamWork等多款软件。平台拥有自主研发的面向对象解释语言(VD语言)、支持C源代码生成的计算引擎、适应多专业建模的软件架构等关键技术,可为飞行器总体优化、轨迹设计、气动分析、控制系统设计、半实物仿真、多飞行器协同仿真等任务提供高效的解决方案。


往期回顾:





FlightSim平台FlightSim平台中高精度数字地球介绍


FlightSim平台|基于FlightSim平台的倒立摆控制算法设计与仿真(一)


FlightSim平台|基于FlightSim平台的倒立摆控制算法设计与仿真(二)



点击“阅读原文 下载商城模型

【声明】内容源于网络
0
0
微迪航天FlightSim软件
北京微迪航天科技有限公司
内容 7
粉丝 0
微迪航天FlightSim软件 北京微迪航天科技有限公司
总阅读0
粉丝0
内容7