[发明专利]一种高超声速飞行器红外辐射特性快速渲染方法有效
申请号: | 201910128824.X | 申请日: | 2019-02-21 |
公开(公告)号: | CN109934924B | 公开(公告)日: | 2020-11-24 |
发明(设计)人: | 李妮;鲍晨莹;李韧;龚光红 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06T17/20 | 分类号: | G06T17/20;G06F30/28;G06F30/15 |
代理公司: | 北京永创新实专利事务所 11121 | 代理人: | 姜荣丽 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 高超 声速 飞行器 红外 辐射 特性 快速 渲染 方法 | ||
1.一种高超声速飞行器红外辐射特性快速渲染方法,具体包括如下步骤,
步骤一、建立高超声速飞行器三维几何模型,进行典型工况下的物理场解算,获取飞行器表面的温度场数据;
步骤101、几何创建:给定高超声速飞行器关键外形参数,使用NURBS技术生成高超声速飞行器几何模型,转化为标准STL格式,称为稀疏网格;
步骤102、几何修复:将几何模型导入Fluent_mesh中划分面元并对面元几何质量进行检查和修复;
步骤103、生成高超飞行器CFD计算网格;
步骤104、进行典型工况下的物理场求解:选取Fluent作为CFD计算软件,定义边界和来流条件,给定基本求解参数,进行CFD计算,计算收敛后,得到全部的流场解算结果;
步骤105、温度场数据提取,得到稠密网格数据和温度场数据;
步骤二、对温度场数据进行异构插值,得到适用于渲染的稀疏化网格及温度数据映射;
步骤201、网格校准:将CFD计算用的稠密网格和目标稀疏网格对齐;
步骤202、参考点确定:使用FLANN算法查找最近邻点作为参考点;
步骤203、异构插值:采用单纯形重心插值方法实现结构、密度、空间关系不同的网格之间的数据映射,得到稀疏温度场数据;
步骤三、红外辐射特性计算:根据插值得到的稀疏网格温度场数据进行红外物理场解算,计算飞行器表面的红外辐射亮度;
步骤四、基于Unity3D对高超声速飞行器红外辐射特性进行渲染;
其特征在于:
步骤四具体步骤如下:
步骤401、数据读取:对于数据的提取分为两部分,即初始化阶段的网格数据读取以及渲染阶段的红外场数据读取;
步骤(1),网格数据;
稀疏网格采用STL二进制格式,基于C#文件接口,实现对于STL二进制网格数据的读取、拆分、渲染,数据读取后存储于Unity集成的数据结构UnityEngine::Mesh;实现网格的生成与更新分为节点设置、连接设置、材质设置、法向量设置四步;
步骤(2),红外场数据;
采用二进制格式作为红外场数据的存储格式,使用C#工具快速地将二进制数据读取到内存并进行拆分,数据读取后存储于自定义的一维浮点数数组;
步骤402、红外场数据均匀化处理:首先采用线性归一化方法将数据映射到0到1的区间上,之后对其均匀化处理;
步骤403、红外渲染映射:由上述均匀化处理后,获取了飞行器表面均匀的以灰度信息形式存储的红外特性信息,接下来采用红外映射的片段着色器方法,模拟红外辐射发散过程中的特性;
所述的红外渲染映射分为纹理映射、向外辐射与噪声叠加;
步骤(1),纹理映射;
采用伪彩色方案,具体步骤为:
步骤1.1),在步骤401读取网格之后建立GameObject对象,所述GameObject对象为飞行器,将步骤402处理后的红外场数据作为顶点的颜色数据,更新飞行器的meshFilter.mesh.colors;
步骤1.2),自定义着色器Shader1对飞行器网格数据进行面片渲染,RenderType设定为Opaque,LOD设置为200,采用基本的surface着色器模式,FallBack设置为Diffuse;之后将Shader1绑定到飞行器对象的meshRenderer.material完成面片渲染;
步骤1.3),自定义着色器Shader2对飞行器红外辐射亮度进行渲染;编写片段着色器函数frag1,利用tex2D函数根据灰度数据对色标纹理进行采样,得到对应的像素颜色值;将着色器Shader2绑定到摄像机Main camera上,实现飞行器红外辐射亮度的渲染;
步骤(2),向外辐射;
具体实现方法为:
步骤2.1),设定_MainTex为白色图片,利用tex2D函数进行纹理采样得到像素颜色c;unity中颜色描述类color被用在整个Unity中传递颜色,形式为(r,g,b,a),每个颜色组件是一个0到1之间的浮点数,组件(r,g,b)在RGB颜色空间内定义一个颜色,r表示RGB颜色空间中的红色,g表示RGB颜色空间中的绿色,b表示RGB颜色空间中的蓝色,a表示透明性;
步骤2.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为像素颜色,tex2D为unity的纹理采样函数,i.uv为纹理坐标,_BlurAmount为模糊程度,glow为计算用变量,offsets[j]为给定的纹理坐标偏移量,j=1,2,3,4;
步骤2.3),将Shader2绑定到摄像机Main camera上,实现向外辐射的渲染效果;
步骤(3),噪声叠加;
具体步骤为:
步骤3.1),生成柏林噪声纹理图片;
步骤3.2),读入噪声纹理图片,设定UV坐标偏移量(_Rnd.x,_Rnd.y);
步骤3.3),在Shader2中编写片段着色器函数frag3,利用tex2D函数根据偏移后的UV坐标对噪声纹理进行采样;
步骤3.4),将Shader2绑定到摄像机Main camera上,直接对噪声效果进行渲染。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910128824.X/1.html,转载请声明来源钻瓜专利网。