发明内容
本发明旨在解决现有模拟飞行引擎不具有通用性、难以满足全球性的模拟飞行的需要、只能对单场或单一学科进行仿真等技术问题,以提供具有可适应任何飞行器的仿真飞行、不存在飞行边界、能对多场偶合进行仿真等优点的通用型模拟飞行引擎。
本发明的目的是通过以下技术方案实现的。
本发明的通用型模拟飞行引擎,包含如下步骤:
a)采用PQT算法,根据高、中、低、极低四个显示效果等级,使用数量分别为26N、24N、22N和N的三角形构建地球表面分区模型,并对应每个三角形区域匹配定位坐标数据,之后将前述分区模型和坐标数据输入PQT地球模型算法模块中,其中N为随机数的三角形数目;
b)通过数据输入接口进行数据输入,分别将天气数据输入物理天气仿真模块中,将显示效果等级数据输入PQT地球模型算法模块中,将当前定位数据输入WGS动态定位模块中,将时间数据输入动态光照模块中;
c)物理天气仿真模块生成物理天气仿真数据,动态光照模块生成动态光照效果数据,之后物理天气仿真数据和动态光照效果数据输入到综合处理数据叠加模块;
d)WGS动态定位模块的处理结果输出到地景模块,由地景模块生成地景贴图,并将地景贴图信息传送到多层次细节模块中;PQT地球模型算法模块根据步骤b)输入的显示效果等级数据,生成对应的由三角形构建的地球表面模型,并将该地球表面模型信息传送到多层次细节模块中;
e)多层次细节模块根据地景贴图信息和地球表面模型信息生成基本视景图,并将其输入综合处理数据叠加模块中;
f) 综合处理数据叠加模块在基本视景图上叠加物理天气仿真数据和动态光照效果数据,其处理结果经图形渲染模块处理后,最终生成模拟飞行视景图。
本发明的通用型模拟飞行引擎,其中所述步骤a)中使用三角形构建平行四边形地球表面分区,所有平行四边形地球表面分区均以视点为中心,分区内各显示单元细节等级与该显示单元中心点与视点的距离成负相关关系,即显示单元中心点与视点的距离越小,细节等级越高。
本发明的通用型模拟飞行引擎,其中所述步骤a)中的定位数据来自于机载GPS设备信号源。
本发明的通用型模拟飞行引擎,其中所述步骤d)中地景模块生成地景贴图的程序为,
a)在地景模块预置地景干草和灌木、灌木林、针叶林、水、沙石、岩石、高草灌木丛、半干灌木林等八种地表素材贴图,并建立八种贴图与像素点RGB值对照关系,干草和灌木对照像素点RGB值为#000000,灌木林对照像素点RGB值为#B22222,针叶林对照像素点RGB值为#006400,水对照像素点RGB值为#0000FF,沙石对照像素点RGB值为#8B8B00,岩石对照像素点RGB值为#FF00FF,高草灌木丛对照像素点RGB值为#008B45,半干灌木丛对照像素点RGB值为#7A7A7A;
b)根据由WGS动态定位模块输入的坐标,生成同坐标的由像素点构成的2D地景图片;
c)查找贴图与像素点RGB值对照关系表,确定像素点的RGB值所对应的地表素材贴图,并在2D地景图片相应位置使用地表素材贴图进行覆盖;
d)在上述地景图片中增加海岩线的陡峭度和海拔数据;
e)传输地景贴图信息到多层次细节模块中。
本发明的通用型模拟飞行引擎,其中所述N为计算机根据所需描绘的内容,随机生成的三角形数目,其由已开放的directX SDK所含的函数运算确定。
本发明通用型模拟飞行引擎的有益效果:
可适应任何飞行器的仿真飞行、不存在飞行边界、能对多场偶合进行仿真。另外由于动态三角形数量构建的地球模型,可节省计算机资源,也使地平面的渲染更加准确,避免了高视点的海平面只是一个巨大的平面,更加贴近真实的环境。采用单元树的结构将地球分区,可以有效的降低地景系统对CUP资源的占用。分区域进行读取和渲染,可以使我们的机场数据和地景文件可以不断更新,而不给引擎带来新的负担。多层次平滑过渡式渲染技术的运用更加节约的计算机资源,使画面流畅。时间系统和大气系统可以给模拟机使用创造出不同飞行环境,以满足不同的模拟飞行需要。
具体实施方式
本发明详细结构、应用原理、作用与功效,参照附图1-9,通过如下实施方式予以说明。
本发明的通用型模拟飞行引擎,包含如下步骤:
a)采用PQT算法,根据高、中、低、极低四个显示效果等级,使用数量分别为26N、24N、22N和N的三角形构建地球表面分区模型,并对应每个三角形区域匹配定位坐标数据,之后将前述分区模型和坐标数据输入PQT地球模型算法模块中,其中N为随机数的三角形数目,为计算机根据所需描绘的内容,随机生成的三角形数目,其由已开放的directX SDK所含的函数运算确定;
b)通过数据输入接口进行数据输入,分别将天气数据输入物理天气仿真模块中,将显示效果等级数据输入PQT地球模型算法模块中,将当前定位数据输入WGS动态定位模块中,将时间数据输入动态光照模块中;
c)物理天气仿真模块生成物理天气仿真数据,动态光照模块生成动态光照效果数据,之后物理天气仿真数据和动态光照效果数据输入到综合处理数据叠加模块;
d)WGS动态定位模块的处理结果输出到地景模块,由地景模块生成地景贴图,并将地景贴图信息传送到多层次细节模块中;PQT地球模型算法模块根据步骤b)输入的显示效果等级数据,生成对应的由三角形构建的地球表面模型,并将该地球表面模型信息传送到多层次细节模块中;
e)多层次细节模块根据地景贴图信息和地球表面模型信息生成基本视景图,并将其输入综合处理数据叠加模块中;
f) 综合处理数据叠加模块在基本视景图上叠加物理天气仿真数据和动态光照效果数据,其处理结果经图形渲染模块处理后,最终生成模拟飞行视景图。
使用三角形构建平行四边形地球表面分区,所有平行四边形地球表面分区均以视点为中心,分区内各显示单元细节等级与该显示单元中心点与视点的距离成负相关关系,即显示单元中心点与视点的距离越小,细节等级越高。
定位数据来自于机载GPS设备信号源。
地景模块生成地景贴图的程序为,
a)在地景模块预置地景干草和灌木、灌木林、针叶林、水、沙石、岩石、高草灌木丛、半干灌木林等八种地表素材贴图,并建立八种贴图与像素点RGB值对照关系,干草和灌木对照像素点RGB值为#000000,灌木林对照像素点RGB值为#B22222,针叶林对照像素点RGB值为#006400,水对照像素点RGB值为#0000FF,沙石对照像素点RGB值为#8B8B00,岩石对照像素点RGB值为#FF00FF,高草灌木丛对照像素点RGB值为#008B45,半干灌木丛对照像素点RGB值为#7A7A7A;
b)根据由WGS动态定位模块输入的坐标,生成同坐标的由像素点构成的2D地景图片;
c)查找贴图与像素点RGB值对照关系表,确定像素点的RGB值所对应的地表素材贴图,并在2D地景图片相应位置使用地表素材贴图进行覆盖;
d)在上述地景图片中增加海岩线的陡峭度和海拔数据;
e)传输地景贴图信息到多层次细节模块中。
以下对本发明的作进一步的说明与阐述。
通用型模拟飞行引擎,即VRX,在驾驶舱外的可视环境用投影仪显示器等成像,配合硬件的操作和触感,给模拟机使用者创造出真实的驾驶感受。
VRX中建立了不同精细度的地球模型,渲染时分区域动态选择不同精细程度的模型来构建地球。该球形采用PQT算法,参考附图3,根据不同的配置和效果等级使用不同数量的三角形构建的地球。配置指的是计算机的硬件性能,效果等级是我们设定的VRX预期显示效果(如:高、中、低、极低),它需要计算机配置来提供硬件支持。不同的效果等级又需要不同的三角形数量来构建地球。在飞行时,VRX会根据飞行器坐标的移动不断的渲染新的区域,同时放弃渲染已经远离的区域。参见附图6,在地景渲染时使用了多层次平滑过渡式渲染技术,根据视点距离来确定渲染细节层次。有效的保证了利用有限计算机资源对全球机场和全球性飞行进行高品质模拟。
其算法参见如下期刊论文:
《一种基于不完全四叉树的LOD生成算法》芮小平 中国图象图形学报 2005 10(9)
《虚拟地形场景绘制中的实时LOD算法》杨崇源 张继贤 林宗坚 测绘学报 2001 30(2)
《基于四叉树的LOD地形简化研究》 张玲玲,成遣,史云飞 辽宁工程技术大学学报 2004 23(6)
显示效果等级与构建地球的三角形数量关系如下表;
PQT算法(pattern quad tree)是一种分治思想,就是把复杂庞大的数据分为小的数据块来处理的算法。VRX中引入PQT算法解决了大场景载入过慢的问题。VRX中运用PQT算法的思想将用户需要显示的效果和计算机的配置作为因变量,将庞大的构建地球模型所需三角形数量的结构分为四个区域,然后每个区域再根据显示效果和配置分为四个区域或不到四个区域,这样不断的最大分为四份的分下去,直到将所有不同显示效果和配置的类型归类。这样分的好处是能根据效果和计算机配置这些因变量迅速的找到对应的所需要的三角形数量,因为在计算机中储存这些信息如果按四叉树的方式来储存在查询对应信息时不会因数据量的增大为增加查询时间,所以能快速的找到对应的信息,用四叉树来储存信息的前提是数据量大并要求时间复杂度小。该四叉树里面的每个节点都包含了不同配置和需要渲染出怎样效果时构建地球模型的三角形数量,能够在大规模的配置和效果组合的模型下不增加时间复杂度地快速匹配到构建地球模型所需的三角形数量。
这种PQT算法构建了快速查找所需三角形的树来对地球进行了分割,使用三角形构建平行四边形将地球分区。所有的分区都是以视点为中心,以距离为半径。越靠近视点的部分显示的单元格层数越多,越靠近视点的部分显示的单元细节等级更高,视景就越细腻。如附图10所示,金字塔顶点为视点,也是屏幕中心的一个像素点。金字塔底部为全屏幕,若以1024*1024为最粗糙的LOD0层为例,在中心512*512的范围内即为LOD1层,增加了新的单元进行细节描述,以此类推到视点处。
当距离在n米内时候该区域调用细节层次最高的地景;当距离视点距离越远时调用的地景细节层次就越低。参见附图4,其中的中心白色区域即为三角形构成的单元格,越靠近视点的部分显示的单元格层数越多,视景就越细腻。
VRX运行时运用公知的WGS84坐标定位系统先对飞机进行准确定位, 根据定位确定需要渲染的区域。WGS84坐标定位系统与算法参见图5,图中X轴由地心指向赤道与本初子午线的交点,Y轴由地心指向赤道与东经90度的交点,Z轴由地心指向北极。
WGS84坐标定位系统与算法参见如下期刊论文:
《基于WGS-84地球椭球的三星时差定位算法》钟丹星 邓新蒲 周一宇 航天电子对抗 2003(3)
《基于WGS-84的GIS数字地图快速处理算法》柴华奇 袁宁 赵学军 西北大学学报2008 3(2)
在使用卫星图片或者遥测数据时,不再需要坐标系转换就可以实现精确的定位,WGS84坐标定位系统同时保证了同机载GPS设备原生信号源的无缝结合,保证了模拟设备反馈的定位信息的准确性。在飞行时,VRX通过定位的移动来确定不断的渲染新的区域,同时放弃渲染已经远离的区域。参见附图6,多层次平滑过度式渲染技术的判断方法,根据视点距离来确定渲染细节层次,有效的保证了在现有计算机资源的情况下对全球机场和全球性飞行进行模拟。
VRX的地景图片是通过引擎自己合成的,引擎首先对单元内的航拍图片进行分析,引擎会生成一个由像素点构成的2D图片。然后VRX会对各个像素点的颜色进行查表分区,即VRX内部根据像素颜色的RGB值先建立一个数据表,参见附图7,确定像素点的RGB值所对应的地景贴图如。同时增加海岸线的陡峭度。再用高精度的海拔数据修改地形。根据像素颜色查表判断地面的覆盖物。参见附图8,在2D地景图片相应位置使用地表素材贴图进行覆盖,将表面粗糙的地区加入各种皮肤,同时进行自动融合如。最后加入光照和阴影形成逼真的地景。
VRX同时加入了时间系统。通过计时,用公知的高动态光照(High-Dynamic Range,简称HDR),模拟出一天中不同的光照和阴影效果。采用多对一的贴图方式,就是一个模型有多套贴图,模拟出白天和黑夜的不同效果,参见附图9。用四季不同的航拍图片合成出四季不同的地景图片。
高动态光照算法可参考如下论文:
《动态场景中的实时非直接光照渲染》周雅瀚 金城
《动态场景的全局光照实时绘制》龚怿
为了保证大气仿真环境的真实,VRX采用了全新的物理天气仿真方法,将四个基本的物理场(位移场、电磁场、温度场、流场)进行多场偶合的仿真,这样得到更加接近真实地球大气环境的特效。
通用型模拟飞行引擎运行时,首先选择飞行时间和使用的飞行器,接着载入的是飞机的数据,根据选择的时间启动动态光照系统,并开始计算时间。再根据WGS84坐标定位系统对飞机所在坐标进行定位。然后根据坐标载入所在机场的数据,选择渲染的地形区域;根据视点判断地景物件的多层次平滑过渡式渲染的层次。载入大气系统,天气系统。当飞机飞行时候,根据定位的变化确定出需要不断的读取渲染新的区域,放弃读取和渲染已经远离的区域,同时动态的确定地景物件的多层次平滑过渡式渲染的层次。