一种高超声速飞行器红外辐射特性快速渲染方法与流程

文档序号:18002230发布日期:2019-06-25 22:58阅读:209来源:国知局
一种高超声速飞行器红外辐射特性快速渲染方法与流程

本发明属于高超声速飞行器、红外物理及计算机图形图像技术领域,具体是一种高超声速飞行器红外辐射特性快速渲染方法。



背景技术:

高超声速飞行器技术是当今世界各国的关注要点,在今后相当长的时间里将是国内外航空航天先进技术发展的最前沿。高超声速飞行器研发涉及多学科多物理场之间的复杂耦合,包括高超声速气动力、热学、电磁、红外以及制导等,其中红外物理场的研究尤为重要。高超飞行器在飞行过程中,因为其极高的飞行速度(一般在5马赫以上),导致飞行器表面在空气粘性影响下对各层气流产生了强烈的摩擦,造成温度的升高,同时高温表面将产生上万瓦/球面度量级的红外辐射。另外,在气动加热高温下,会导致飞行器结构外形发生变化、材料的强度和刚度都会受到影响。因此,对高超声速飞行器红外物理场的研究对于研究多物理场耦合关系、提升高超声速飞行器红外对抗性能具有重要的作用。在此基础上,实现高超声速飞行器红外辐射特性的快速渲染,可进一步支撑高超声速飞行器的多物理场仿真,为多物理场仿真数据的实时可视化展示打下坚实的基础。实现高超声速飞行器红外辐射特性的快速渲染涉及到高超声速飞行器动力学、计算流体力学、红外物理、计算机图形图像等学科,是一个典型的多学科交叉问题。



技术实现要素:

本发明针对高超声速飞行器物理场特性快速可视化的需求,提出一种高超声速飞行器红外辐射特性快速渲染方法,着重解决高超声速飞行器物理场数据体量大、渲染慢的问题,通过异构插值技术实现稠密网格到稀疏网格的映射从而降低数据量,在保证仿真可信度的前提下提高了渲染效率。本发明所述方法首先建立高超声速飞行器三维几何模型,进行典型工况下的物理场解算,获取飞行器表面的温度场数据;完成温度场数据的异构插值,实现温度场数据的稀疏化;根据插值得到的飞行器表面温度场数据进行红外物理场解算,计算飞行器表面的红外辐射;将红外辐射亮度转化为颜色数据,在颜色数据上叠加红外噪声,最后基于unity3d对高超声速飞行器红外辐射特性进行渲染。

本发明提供的高超声速飞行器红外辐射特性快速渲染方法,具体包括如下步骤:

步骤一、建立高超声速飞行器三维几何模型,进行典型工况下的物理场解算,获取飞行器表面的温度场数据;

步骤101、几何创建:给定高超声速飞行器关键外形参数,使用nurbs(非均匀有理b样条)技术生成高超声速飞行器几何模型,转化为标准stl格式。

步骤102、几何修复:将几何模型导入fluent_mesh(fluent是一种计算流体力学软件,分为网格划分和求解两种模式,使用fluent_mesh表示其网格划分模式)中划分面元并对面元几何质量进行检查和修复。

步骤103、生成高超飞行器cfd(计算流体力学)计算网格:对飞行器stl模型进行流域设置和关键部位加密,设置参数生成用于cfd求解的多面体网格。

步骤104、进行典型工况下的物理场求解:选取fluent作为cfd计算软件,定义边界和来流条件,给定基本求解参数,进行cfd计算,计算收敛后,得到全部的流场解算结果。

步骤105、温度场数据提取。

步骤二、对温度场数据进行异构插值,得到适用于渲染的稀疏化网格及温度数据映射。

步骤201、网格校准:将cfd计算用的稠密网格和目标稀疏网格对齐。

步骤202、参考点确定:绝大多数的数据都以逐个点的形式进行存储,在异构数据映射过程中,需要确定目标映射点对应的参考点,使用flann算法查找最近邻点作为参考点。

步骤203、异构插值:采用单纯形重心插值方法实现结构、密度、空间关系不同的网格之间的数据映射。

步骤三、红外辐射特性计算。根据插值得到的稀疏网格温度场数据进行红外物理场解算,计算飞行器表面的红外辐射亮度。

步骤四、基于unity3d对高超声速飞行器红外辐射特性进行渲染。

本发明的优点在于:

(1)本发明构建了高超声速飞行器红外辐射特性渲染的完整技术流程,为后续高超声速飞行器多物理场仿真及仿真数据可视化奠定了基础。

(2)本发明提出异构插值算法,通过从稠密计算网格到稀疏渲染网格的映射,有效降低了数据量。采用flann和单纯形重心插值方法,插值效率高,可适应高维度的复杂插值。

(3)渲染流程基于unity3dshader,渲染效率高,能在较低的资源消耗情况下实现对高超声速飞行器红外辐射特性的渲染。

附图说明

图1是本发明针对高超声速飞行器红外辐射特性快速渲染的整体流程图;

图2是本发明异构插值流程图;

图3是本发明参考点查找流程图;

图4是本发明单纯形重心插值示意图;

图5是本发明基于unity的渲染流程图;

图6是本发明直方图均匀化过程图;

图7是本发明建立的x43a飞行器几何模型图;

图8是本发明x43a算例计算域多面体网格结构;

图9是本发明飞行器表面温度场分布图;

图10是本发明异构插值后的局部结果对比图;

图11是本发明异构插值后的完整结果对比图;

图12是本发明红外特性渲染效果图。

具体实施方式

下面结合附图对本发明的具体实施方法进行详细说明。

本发明针对高超声速飞行器物理场特性快速可视化的需求,提出了一种高超声速飞行器红外辐射特性快速渲染方法,整体流程图如图1所示。所述方法具体包括以下步骤:

步骤一、建立高超声速飞行器三维几何模型,进行典型工况下的物理场解算,获取飞行器表面的温度场数据。具体步骤如下:

步骤101、几何创建:给定高超声速飞行器关键外形参数,使用nurbs(非均匀有理b样条)技术生成高超声速飞行器几何模型,转化为标准stl格式。nurbs曲面的表达形式为:

其中p、q为样条阶数(一般取为3),ni,p(u)、nj,q(v)分别为u、v方向的节点向量(根据nurbs相关规则,取默认值即可),n、m分别为u、v方向的控制点数量,pi,j为控制点的笛卡尔坐标,wi,j为对应控制点的权重。根据表达式,所述的关键外形参数包括飞行器表面关键控制点的笛卡尔坐标及权重,即pi,j和wi,j。

该步骤生成的stl格式网格后续称之为稀疏网格。

步骤102、几何修复:将几何模型导入fluent_mesh中划分面元并对面元几何质量进行检查和修复,主要是修复几何刻面生成过程中的错误法向量和尖锐面片。修复后的几何结构无自由面片、多面片交叉以及重复面片等问题,skewness(偏斜程度)降到0.9以下。

步骤103、生成高超飞行器cfd计算网格:对飞行器stl格式几何模型进行流域设置和关键部位加密,设置参数生成用于cfd求解的多面体网格。所述参数包括体网格类型(四面体、六面体等)、最大和最小单元尺寸、单元生长率、从面或曲线开始增长的层数。

步骤104、进行典型工况下的物理场求解:选取fluent作为cfd计算软件,给定典型工况,设置基本求解参数,进行cfd计算,得到全部的流场解算结果。所述的典型工况包括参数:发动机状态(开、关)、飞行马赫数mach、攻角α、飞行高度h、大气压p、温度t(选用美国1976年发布的标准大气ussa-1976,给定飞行高度后可以查表得到对应的大气压及温度)。所述的基本求解参数主要包括:求解器类型(一般选基于密度求解)、流体类型(可压缩流体或者不可压缩流体)、大气类型(选择理想大气)、松弛因子(0~1之间)、求解最大迭代次数(一般设为800左右)。

步骤105、温度场数据提取。

cfd流场解算结果包括压力、温度等多物理场的数据,将求解结果导出后(cfd-post格式),提取需要的表面温度场数据。温度场数据提取具体方法为:

i.分解流场、获取表面网格数据;

ii.获取表面网格点的连接关系;

iii.逐行读取表面网格点上所需要流场的数据;

将提取的数据转化为tecplot格式存储,数据的前半段存储表面网格点的坐标(x,y,z)和对应的温度值,数据的后半段存储表面网格点的连接关系。

为方便后续数据处理,将tecplot格式数据进行分割,存储为几何数据和温度场数据。几何数据包括表面网格点坐标及网格点连接关系,温度场数据为对应网格点的温度值。分割后的几何数据后续称其为稠密网格数据。

步骤二、基于flann(快速最近邻逼近搜索函数库)和单纯形重心插值算法进行温度场数据的异构插值,实现由稠密网格到稀疏网格的数据映射。

实际上,用于cfd计算的稠密网格数据点数目无论是相对于三维渲染还是进一步的受力分析、耦合迭代数据量都过大。因此,我们需要一种行之有效的异构插值算法,将稠密数据映射到最初创建的稀疏网格上,降低后续渲染的数据量。异构插值流程如图2所示,需要解决的三个关键问题为:网格对齐、参考点确定、异构插值。具体步骤如下:

步骤201、网格校准:首先经过读取器将网格数据和流场数据读入,包括稠密网格、稀疏网格和温度场数据。通过比较器将稠密网格和目标稀疏网格对齐。对于x43a算例而言,采用的标准化稀疏网格与用于cfd计算的稠密网格采用了相同的基本几何结构,通过调整大小、位置、角度,使得稀疏网格与稠密网格大致处于同一空间状态。

步骤202、参考点确定:绝大多数的数据都以逐个点的形式进行存储,在异构数据映射过程中,需要确定目标映射点对应的参考点,通过查找器使用flann查找最近邻点作为参考点。

本发明采用xyz坐标系下与目标插值点最近邻的稠密网格点作为参考点。考虑到查找算法的匹配问题,使用flann来实现这一过程,原理在于能够根据查找特征自动地在多种基本查找方案中选取最快速的查找方法,具体参考点查找流程如图3所示。首先根据读取的稀疏网格和稠密网格分别建立稀疏点和稠密点队列,按照稀疏点队列顺序,从前往后依次查找每一个点的参考点。对稀疏点队列中的每一个点,flann(快速最近邻逼近搜索函数库)会自动在三种搜索算法(k-dtree、k-means、hierarchicaltree)中选择最佳算法在稠密点列中查找最近邻点并获取索引,这些参考点的索引即为查找结果。

步骤203、异构插值:得到参考点之后,采用异构插值算法得到稀疏温度场数据。

本发明采用单纯形重心插值方法实现结构、密度、空间关系不同的网格之间的数据映射。不同维度的单纯形重心插值示意图如图4所示。单纯形是三角形和四面体的一种泛化,一个n维单纯形是指包含n+1个节点的凸多面体(一维单纯形是线段,二维单纯形是三角形,三维单纯形是四面体)。以求解p点数据为例,在一维中取线段长度、二维中选取面积、三维中选取体积作为权重,依据参考点的数据即可获取p点的数据。原理可以概述为如下公式:

kx=ω1k1+ω2k2+...+ωnkn

式中,kx为目标插值点的数据,k1,k2,…,kn为第1,2,…,n个参考点的数据,ω1,ω2,…,ωn为第1,2,…,n个参考点的权重(权重之和为1)。kx和kn应当根据实际需求来选取,这里指的是飞行器表面对应顶点的温度数据。参考点的个数由插值维度决定,插值的权重是单纯形的体积比。

顶点为(v0,…,vn)的n阶单纯形的体积计算公式如下:

本发明中采用图4(c)所示的三维形式,参考点有4个,插值权重为体积比。

步骤三、根据插值得到的稀疏网格温度场数据进行红外物理场解算,计算飞行器表面的红外辐射亮度。

在红外辐射在大气中传播时,由于大气中气体,蒸汽,固体颗粒和灰尘的吸收和散射,某些波长的辐射在传输过程中逐渐衰减。在本发明中只考虑零视距单工况条件下红外辐射特性的仿真。相对而言,三个波段的红外辐射处于主导地位,即:1~3μm波段、3~5μm波段和8~14μm波段。红外辐射探测通常关注于这三个被称为“大气窗口”的波段。超音速、高超声速状态下,8~14μm波段下的红外辐射最为显著,适合作为重点仿真波段。该波段情况下,飞行器表面红外辐射特性的计算公式如下:

式中,iself(ε,tw)为红外辐射亮度,tw为辐射源温度;λ为红外辐射波的波长,λ1、λ2为所选红外波段的上下限波长;ε为面元的材料发射率;c1为第一辐射常数,其值为c1=3.7419×10-16w·m2;c2为第二辐射常数,其值为c2=1.4388×10-2m·k。

步骤四、基于unity3d对高超声速飞行器红外辐射特性进行渲染,渲染流程如图5所示。具体步骤如下:

步骤401、数据读取:在本发明采用的方案中,渲染的结果始终体现在同一套标准化稀疏网格上,而红外场数据需要经常更新,所以对于数据的提取分为两部分,即初始化阶段的网格数据读取以及渲染阶段的红外场数据读取。

(1)网格数据;

稀疏网格采用stl二进制格式,基于c#文件接口,实现对于stl二进制网格数据的读取、拆分、渲染,数据读取后存储于unity集成的数据结构unityengine::mesh。实现网格的生成与更新主要分为节点设置、连接设置、材质设置、法向量设置四步。

节点设置:提取稀疏网格中每个网格节点的xyz坐标信息,节点坐标信息在内存中以三阶向量的链表的形式存储。

连接设置:基于节点存储顺序,三点为一组确定一个三角面元,以整形数组的形式存储。

材质设置:开启材质中对于顶点颜色的渲染功能。

法向量设置:从stl中读取法向量信息。

(2)红外场数据;

采用二进制格式作为红外场数据的存储格式,使用c#工具快速地将二进制数据读取到内存并进行拆分,数据读取后存储于自定义的一维浮点数数组。

步骤402、红外场数据均匀化处理:首先采用线性归一化方法将数据映射到0到1的区间上,之后对其均匀化处理。

高超飞行器的物理场分布例如压力场、温度场、速度场等往往在关键几何节点处产生畸变,导致了流场数据分布不均匀,需要对红外场数据进行均匀化处理。实际上,流场数据归一化之后已经和灰度信息一一对应,而数据分布不均匀的情况也与灰度图像的对比度过低问题是一样的,所以采用图像锐化的算法进行处理。采用的算法为直方图均匀化,又称为直方图平坦化,通过该算法可以对图像灰度值进行非线性的拉伸,从而使一定范围内像素的分布均匀,均匀化过程如图6所示,图6中横坐标g表示像素灰度级,纵坐标p表示该像素灰度级出现的频率(即像素的个数)。

步骤403、红外渲染映射:由上述均匀化处理后,获取了飞行器表面均匀的以灰度信息形式存储的红外特性信息,接下来采用红外映射的片段着色器方法,模拟红外辐射发散过程中的特性。该部分的实现可分为三个主要技术:纹理映射、向外辐射与噪声叠加,渲染过程基于unityshader。

(1)纹理映射;

纹理映射指通过输入不同的纹理图片来整体控制渲染场景的调色、色调、明暗程度等。在本发明中,对于不同的应用场景,可采用不同的纹理映射方案,例如灰度、伪彩色等等。其中伪彩色方案具体步骤为:

1)在步骤401读取网格之后建立gameobject对象(简称为飞行器对象),将步骤402处理后的红外场数据作为顶点的颜色数据,更新飞行器对象的meshfilter.mesh.colors。

2)自定义shader1对飞行器网格数据进行面片渲染,rendertype设定为opaque,lod设置为200,采用基本的surface着色器模式,fallback设置为diffuse。之后将shader1绑定到飞行器对象的meshrenderer.material即可完成面片渲染。

3)自定义shader2对飞行器红外辐射亮度进行渲染。读入色标的纹理图片;实质上步骤402处理后的红外场数据取值在(0,1)之间,可以作为灰度数据与色标纹理进行对应;编写片段着色器函数frag1,利用tex2d函数根据灰度数据对色标纹理进行采样,得到对应的像素颜色值;将shader2绑定到maincamera上,实现飞行器红外辐射亮度的渲染。

(2)向外辐射;

光线本身具有折射、反射、衍射等特性,通常直观感受到的光线具有发散的效果,是不同于单纯的颜色边界的。本发明采用模糊化的方法模拟光线的发散效果,可以明显感受到高辐射区域向低辐射区域的辐射。具体实现方法为:

1)设定_maintex为白色图片,利用tex2d函数进行纹理采样得到像素颜色c。unity中颜色描述类color被用在整个unity中传递颜色,形式为(r,g,b,a),每个颜色组件是一个0到1之间的浮点数,组件(r,g,b)在rgb(红绿蓝)颜色空间内定义一个颜色,alpha组件(a)表示透明性。

2)设定四维纹理坐标偏移量offsets[4]=(-0.3,0.4;-0.3,-0.4;0.3,-0.4;0.3,0.4),计算得到变量glow:

glow=0.0113*(2.0-max(c.r,c.g))

之后对像素颜色c按照四维偏移量offsets[4]进行四次偏移纹理采样,通过调整_bluramount参数对模糊程度进行控制:

c’=c+tex2d(_maintex,i.uv+_bluramount*glow*offsets[j])

其中c’为处理后的像素颜色,c为上述步骤1)采样得到的像素颜色,tex2d为unity的纹理采样函数,i.uv为纹理坐标,_bluramount为模糊程度,glow为计算用中间变量,offsets[j]为给定的纹理坐标偏移量(j=1,2,3,4)。

3)将shader2绑定到maincamera上,实现向外辐射的渲染效果。

(3)噪声叠加;

对噪声进行仿真,模拟红外接收器在不同信噪比情况下接收到红外图像的效果。具体步骤为:

1)生成柏林噪声纹理图片。

2)读入噪声纹理图片,设定uv坐标偏移量(_rnd.x,_rnd.y)。

3)在shader2中编写片段着色器函数frag3,利用tex2d函数根据偏移后的uv坐标对噪声纹理进行采样。

4)将shader2绑定到maincamera上,可以直接对噪声效果进行渲染。

实施例

为了进一步证明本发明对工程实际的适用性,本发明以高超声速飞行器x43a为例,对其红外辐射特性进行快速渲染。本实施例以x43a高超声速飞行器为原型,建立图7所示飞行器三维几何模型,基于红外辐射强度理论,利用本发明中公开的方法,实现了该飞行器红外辐射特性的快速渲染。图8给出了用于物理场求解的计算域多面体网格;图9给出了提取后的飞行器表面温度场分布;图10给出了异构插值后的局部结果对比图,图10中(a)为稠密网格,(b)为稠密的温度场数据,(c)为稀疏网格,(d)为插值后的稀疏温度场数据;图11给出了异构插值后的完整结果对比图;图12给出了最终的红外特性渲染效果图。可以看出,x43a高超飞行器在与空气的摩擦中产生大量热量,主要分布于飞行器前缘部分,渲染过程很好地再现了这一现象。

综上所述,本发明提出了一种高超声速飞行器红外辐射特性快速渲染方法,渲染效果很好地再现了高超声速飞行器的红外辐射特性,可以进一步支撑高超声速飞行器的多物理场仿真,为多物理场仿真数据的实时可视化展示打下坚实的基础。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1