System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请的实施例涉及显示,特别涉及一种头盔显示器的三维显示实现方法。
技术介绍
1、头盔显示器(head mounted display,简称:hmd)能够给飞行员提供瞄准信息和飞机姿态信息,是一种大视场、能够快速捕获目标的高性能瞄准显示设备,目前已经成为飞行器座舱显示系统的重要组成部分。头盔显示器的三维显示能够给飞行员提供更加真实、立体的显示效果,增强飞行员的综合态势感知能力。
2、然而,本申请的专利技术人发现,目前的头盔显示器上显示的内容均为二维字符,只能显示一些基本的飞行信息、任务信息和提示信息,存在字符显示单一、不具备立体感、距离感知差的问题。
技术实现思路
1、有鉴于此,本申请的实施例提出了一种头盔显示器的三维显示实现方法,能够给飞行员提供更加真实、立体的显示效果,从而显著提升飞行员的综合态势感知能力。
2、第一方面,本申请的实施例提出了一种头盔显示器的三维显示实现方法,包括:
3、加载顶点着色器和片段着色器,顶点着色器用于进行3d坐标的转换,以及对顶点属性进行基本处理,片段着色器用于计算像素点的最终颜色;
4、生成待绘制的三维符号的顶点数据,并基于顶点数据生成相对应的索引数据;其中,顶点数据包括经度、维度和高度;
5、将待绘制的三维符号的顶点数据转换为以当前飞行器位置为坐标原点所建立的坐标系下的三维顶点坐标;
6、基于待绘制的三维符号的三维顶点坐标设置模型矩阵、观察矩阵、裁剪矩阵;
7、基
8、在一些可选的实施例中,待绘制的三维符号包括待绘制的三维地形网格和待绘制的三维威胁包络;
9、对于待绘制的三维地形网格,生成待绘制的三维符号的顶点数据,包括:
10、根据当前飞行器的经度、纬度、高度以及当前经度、纬度、高度的预设范围内的高程数据,生成待绘制的三维地形网格的顶点数据;
11、对于待绘制的三维威胁包络,生成待绘制的三维符号的顶点数据,包括:
12、根据当前威胁区域的经度、纬度、高度,以及当前威胁区域半径大小,生成待绘制的三维威胁包络的顶点数据。
13、在一些可选的实施例中,将待绘制的三维符号的顶点数据转换为以当前飞行器位置为坐标原点所建立的坐标系下的三维顶点坐标,包括:
14、将待绘制的三维符号的顶点数据转换为以地心为原点建立的地球坐标系下的三维顶点坐标;
15、将地球坐标系下的三维顶点坐标转换为以当前飞行器位置为坐标原点所建立的坐标系下的三维顶点坐标。
16、在一些可选的实施例中,设待绘制的三维符号的经度、纬度、高度分别为lon1、lat1、height1,将待绘制的三维符号的顶点数据转换为以地心为原点建立的地球坐标系下的三维顶点坐标,包括:
17、将待绘制的三维符号的经度和纬度转化为弧度,通过公式表示为:
18、θ=(lat1*π)/180,
19、其中,θ和分别表示待绘制的三维符号的纬度和经度转化出的弧度;
20、基于转化出的弧度和待绘制的三维符号的高度,得出待绘制的三维符号在以地心为原点建立的地球坐标系下的三维顶点坐标,通过公式表示为:
21、
22、
23、z=(r+height1)*sinθ;
24、其中,r表示地球的半径,(x,y,z)表示待绘制的三维符号在以地心为原点建立的地球坐标系下的三维顶点坐标。
25、在一些可选的实施例中,设当前飞行器的经度、纬度、高度分别为lon2、lat2、height2,当前飞行器在地心为原点建立的地球坐标系下的坐标为(x,y,z),将地球坐标系下的三维顶点坐标转换为以当前飞行器位置为坐标原点所建立的坐标系下的三维顶点坐标,包括:
26、将当前飞行器的经度和纬度转化为弧度,通过公式表示为:
27、ρ=(lat2*π)/180,σ=(lon2*π)/180;
28、其中,ρ和σ分别表示当前飞行器的纬度和经度转化出的弧度;
29、基于转化出的弧度计算旋转矩阵r,通过公式表示为:
30、
31、基于旋转矩阵、当前飞行器在地心为原点建立的地球坐标系下的坐标、以及示待绘制的三维符号在以地心为原点建立的地球坐标系下的三维顶点坐标进行旋转变换,得出待绘制的三维符号在以当前飞行器位置为坐标原点所建立的坐标系下的三维顶点坐标,通过公式表示为:
32、resultx=r11*(x-x)+r12*(y-y)+r13*(z-z);
33、resulty=r21*(x-x)+r22*(y-y)+r23*(z-z);
34、resultz=r31*(x-x)+r32*(y-y)+r33*(z-z);
35、其中,(resultx,resulty,resultz)表示待绘制的三维符号在以当前飞行器位置为坐标原点所建立的坐标系下的三维顶点坐标。
36、在一些可选的实施例中,模型矩阵负责三维符号的平移、旋转、缩放;观察矩阵负责确定观察三维符号的角度,不同观察角度看到的三维符号的内容不同;裁剪矩阵负责在预设的空间范围内进行裁剪,将在预设的空间范围内的三维符号进行显示,将不在预设的空间范围内的三维符号裁剪掉,裁剪矩阵分为正交投影和透视投影。
37、在一些可选的实施例中,基于索引数据和设置的模型矩阵、观察矩阵、裁剪矩阵,绘制待绘制的三维符号并显示到头盔显示器上,包括:
38、顶点数据和索引数据分别通过opengl es2.0的顶点缓冲对象和索引缓冲对象存储到gpu显存内,通过调用opengl es2.0的标准api函数,根据索引数据将顶点数据按照一定的顺序绘制出待绘制的三维符号,并显示到头盔显示器上。
39、本申请的实施例提出的一种头盔显示器的三维显示实现方法,有效解决了传统的头盔显示器存在的二维字符显示单一、不具备立体感、距离感知差的问题,首先加载用于进行3d坐标的转换,以及对顶点属性进行基本处理顶点着色器和用于计算像素点的最终颜色片段着色器,随后生成待绘制的三维符号的顶点数据,并基于顶点数据生成相对应的索引数据,再将待绘制的三维符号的顶点数据转换为以当前飞行器位置为坐标原点所建立的坐标系下的三维顶点坐标,之后基于待绘制的三维符号的三维顶点坐标设置模型矩阵、观察矩阵、裁剪矩阵,最后基于索引数据和设置的模型矩阵、观察矩阵、裁剪矩阵,绘制待绘制的三维符号并显示到头盔显示器上,能够给飞行员提供更加真实、立体的显示效果,从而显著提升飞行员的综合态势感知能力,同时不限定头盔显示器的型号,具有很高的普遍适用性。
40、第二方面,本申请的实施例提出了一种头盔显示器的三维显示实现系统,包括:
41、着色器加载模块,用于加载顶点着色器和片段着本文档来自技高网...
【技术保护点】
1.一种头盔显示器的三维显示实现方法,其特征在于,包括:
2.根据权利要求1所述的一种头盔显示器的三维显示实现方法,其特征在于,待绘制的三维符号包括待绘制的三维地形网格和待绘制的三维威胁包络;
3.根据权利要求1所述的一种头盔显示器的三维显示实现方法,其特征在于,将待绘制的三维符号的顶点数据转换为以当前飞行器位置为坐标原点所建立的坐标系下的三维顶点坐标,包括:
4.根据权利要求3所述的一种头盔显示器的三维显示实现方法,其特征在于,设待绘制的三维符号的经度、纬度、高度分别为lon1、lat1、height1,将待绘制的三维符号的顶点数据转换为以地心为原点建立的地球坐标系下的三维顶点坐标,包括:
5.根据权利要求4所述的一种头盔显示器的三维显示实现方法,其特征在于,设当前飞行器的经度、纬度、高度分别为lon2、lat2、height2,当前飞行器在地心为原点建立的地球坐标系下的坐标为(x,y,z),将地球坐标系下的三维顶点坐标转换为以当前飞行器位置为坐标原点所建立的坐标系下的三维顶点坐标,包括:
6.根据权利要求1所述的一种
7.根据权利要求1至6中任一项所述的一种头盔显示器的三维显示实现方法,其特征在于,基于索引数据和设置的模型矩阵、观察矩阵、裁剪矩阵,绘制待绘制的三维符号并显示到头盔显示器上,包括:
8.一种头盔显示器的三维显示实现系统,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,能够实现如权利要求1至7中任一项所述的一种头盔显示器的三维显示实现方法。
...【技术特征摘要】
1.一种头盔显示器的三维显示实现方法,其特征在于,包括:
2.根据权利要求1所述的一种头盔显示器的三维显示实现方法,其特征在于,待绘制的三维符号包括待绘制的三维地形网格和待绘制的三维威胁包络;
3.根据权利要求1所述的一种头盔显示器的三维显示实现方法,其特征在于,将待绘制的三维符号的顶点数据转换为以当前飞行器位置为坐标原点所建立的坐标系下的三维顶点坐标,包括:
4.根据权利要求3所述的一种头盔显示器的三维显示实现方法,其特征在于,设待绘制的三维符号的经度、纬度、高度分别为lon1、lat1、height1,将待绘制的三维符号的顶点数据转换为以地心为原点建立的地球坐标系下的三维顶点坐标,包括:
5.根据权利要求4所述的一种头盔显示器的三维显示实现方法,其特征在于,设当前飞行器的经度、纬度、高度分别为lon2、lat2、height2,当前飞行器在地心为原点建立的地球坐标系下的坐标为(x,y,z),将地球坐标系下的三维顶点坐标转换为以当前飞...
【专利技术属性】
技术研发人员:张涵华,李旭,米俊杰,张海军,李文强,沈晶晶,
申请(专利权)人:中国航空工业集团公司洛阳电光设备研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。