(中国电子科技集团公司第三十八研究所,安徽合肥230088)
随着空间目标监视雷达技术的发展,雷达探测的威力范围越来越远,目标高度越来越高,传统的方位-距离二维显示模式已经难以准确地反映目标实际的空间位置,三维显示已成为反导预警领域雷达显示技术的必然发展趋势[1]。
由于空间目标的距离比较远,所以三维显示系统不仅需要能显示目标的点航迹信息,还需要能显示三维地球信息,包括地球纹理信息以及二维矢量地图信息,并支持三维地球的自由旋转。由于现代的空间目标监视雷达多采用相控阵体制,所以三维显示系统还需要能以三维立体的形式反映搜索屏的分布以及波位的实时位置。
本文基于OpenGL工具包[2],针对空间目标监视雷达显示需求,实现了雷达三维显示系统的设计。除了传统雷达具备的点航迹显示和二维电子地图显示之外,该系统还通过四叉树动态分形技术实现了三维立体的地球显示。该系统通过显示搜索屏的空间设置和实时波束信息准确地反映了雷达波束的扫描范围和调度信息。此外,该系统还支持三维地球的旋转,可以让用户自由地调整观察视角,对重点区域进行监视。
空间目标监视雷达三维显示系统主要由四大部分组成,如图1所示,分别为系统信息模块、动目标模块、地球管理模块和渲染窗口模块。其中:
1)系统信息模块主要负责从网络接收波束和搜索屏相关的系统信息,并对系统信息进行管理和绘制,包括用于管理和绘制实时波束信息的波束模块,以及用于管理和绘制搜索屏空间分布的搜索屏模块。
2)动目标模块主要负责从网络接收点航迹信息,并对点航迹这类运动目标信息进行管理和绘制,包括用于存储和绘制点迹的点迹管理模块,以及用于存储和绘制航迹的航迹管理模块。
3)地球管理模块主要用于实现三维地球的绘制,包括用于实现地球表面纹理贴图的地球纹理管理模块,以及用于实现二维电子地图加载和绘制的电子地图管理模块。
4)渲染窗口模块主要负责根据鼠标键盘输入控制三维地球的旋转,实现用户视角的调整,并根据用户当前视角调用系统信息模块、动目标模块、地球管理模块的绘制函数,构建显示画面并送光栅显示器显示。
由于点航迹管理和电子地图管理在传统雷达中已经有了比较成熟的解决方案[3-4],所以下面本文集中于系统信息、地球纹理管理和渲染窗口这三个模块的设计工作。
图1 空间目标监视雷达三维显示系统架构图
相控阵雷达的波束显示不仅要反映雷达波束中心的指向,还需要反映波束的实际宽度和威力范围。随着相控阵波束从天线法向侧射扫描到角度θ时,它的实际波束宽度也增加到原波束宽度的1/cosθ倍。三维显示系统通过使用底部开口的圆锥体绘制波束,圆锥体的顶点位于雷达站,圆锥体的中轴线和波束中心指向重合,圆锥体的半径反映波束的实际宽度,圆锥体的长度反映波束的威力范围。在圆锥底部开口使用圆环靶指示波束的中心位置。波束的显示效果如图2所示。
图2 波束显示效果示意图
由于相控阵雷达的波束可以快速地从一个方向扫到另一个方向,为了准确地反映波束预设出现的位置,三维显示系统使用搜索屏来显示波束编排的情况。搜索屏的顶端通过一个个半径不同的圆环反映每个实际波位,圆环的半径则反映了该波位的波束宽度。搜索屏的外侧使用三角扇面相连,包裹了搜索屏覆盖的空间范围。搜索屏的显示效果如图3所示。
图3 搜索屏显示效果示意图
为了更好地体现雷达威力和点航迹的相对空间位置,三维显示系统需要一个相对精细的三维地球作为参考坐标系,特别是当视角拉近时,更需要精细的纹理来反映目标的空间位置。但如果全部载入高品质的纹理图片来绘制地球表面,则会占用大量的内存用于存储地表纹理,并消耗大量的计算用于纹理绑定。所以,三维显示系统需要一种机制用于根据视角的距离动态调整地表分形的粒度和纹理图片的精度,在显示效果和系统资源消耗之间取得平衡[5]。
三维显示系统提出了一种四叉树动态分形技术,它可以根据用户当前关注的区域对地表进行动态分形,在用户关注的区域进行更细致的分形并显示高精度的纹理图片,在用户不太关注的区域进行粗糙的分形并使用低精度的纹理图片,而在用户看不见的区域不使用纹理贴图。
四叉树动态分形技术的基本思想如下:
首先,准备好不同级别精度的地表纹理图片,每张图片的像素尺寸为256×256。每一级别的纹理图片的显示范围都被4张更高一级别的纹理图片所覆盖。第0级只有两张图片,一张覆盖整个西半球,一张覆盖整个东半球。第1级细分为8张图片,和第0级之间的对应关系如图4所示。类似地,第2级进一步细分为32张图片,依此类推。每张纹理图片都用3个序号唯一确定,分别为纹理级别、经度序号和纬度序号。
图4 地表纹理图片间的层级关系
其次,根据视角和显示范围递归的对地表进行四叉树动态分形,并绑定对应级别精度的地表纹理图片。算法如下:
1)将整个地球分形为两块纹理,分别记为T0-0-0,T0-1-0,作为四叉树的根节点。
2)对于每块纹理,根据当前的视角计算该纹理四角坐标对应的屏幕坐标。
3)判断该纹理是否位于屏幕显示范围内:如果不是,则不加载纹理图片,不再对该纹理进行分形;如果是,则继续。
4)判断纹理对应的屏幕像素范围是否大于256×256×1.5:如果是,则根据纹理序号加载对应级别的纹理图片;如果不是,则继续。
5)将该纹理进一步细分为4块更高级别的纹理,作为该纹理的子节点,并对应计算每块子纹理的序号,并对每块子纹理,重复步骤2)至步骤5),直至不需要进一步细分。
最后,当用户视角发生改变之后,从根节点开始动态更新四叉树:
1)当前纹理对应的屏幕范围不可视:如果当前纹理有子节点,则销毁所有的子节点;如果已经加载纹理图片,则释放纹理图片;
2)当前纹理可视,且对应的屏幕像素范围大于256×256×1.5:如果当前纹理没有子节点,则对该纹理节点进行四叉树分形,创建4个子节点;
3)当前纹理可视,且对应的屏幕像素范围小于256×256×1.5:如果该纹理没有加载纹理图片,则加载对应的纹理图片;如果该纹理有子节点,则销毁所有的子节点。
渲染窗口模块主要用于实现三维场景的旋转,从而为用户提供灵活的视角控制。本文引入了屏幕轨迹球的概念,通过将整个显示屏幕构建成一个虚拟轨迹球,将地球置于这个虚拟轨迹球的中心,通过鼠标拖动虚拟轨迹球旋转,从而实现三维地球的自由旋转。
该虚拟轨迹球位于屏幕的中心,球的一半突出到屏幕之外,另一半延伸到屏幕内侧。鼠标点可以映射到虚拟轨迹球上一点,鼠标的拖动可以映射到虚拟轨迹球面上的移动,鼠标按下和抬起的两点构成了虚拟轨迹球面上的一个夹角。通过确定旋转轴和夹角可以确定一次旋转。由于Open GL中所有的几何变化都是应用变换矩阵实现的,所以上述旋转问题可以转化为基于鼠标两点构建变换矩阵的问题。
首先,需要将鼠标点映射到虚拟轨迹球面上,将鼠标的二维屏幕点(x,y)变为三维空间点m(x,y,z)。假设虚拟轨迹球的半径为R,则
其次,需要根据两个虚拟轨迹球面上的三维空间点m1和m2确定虚拟轨迹球面的旋转轴A和夹角θ。旋转轴A(x,y,z)是m1、m2两个向量构成平面的法向量,可以通过两个向量叉乘得到,而旋转角度θ则可以由m1、m2的夹角获得。因此:
由此,可以求出旋转轴和旋转夹角,构建成旋转向量ThisQuat(x,y,z,θ)。
最后,需要根据旋转轴和夹角对当前的变换矩阵进行旋转变换。为了实现变换矩阵的运算,首先定义3个矩阵:最终变换矩阵Transform[4][4],历史旋转矩阵LastRot[3][3],本次旋转矩阵ThisRot[3][3]。这三个矩阵都初始化为单位矩阵。每次鼠标拖动后的处理流程如下:
1)根据鼠标点击的起始点和释放点的屏幕坐标,根据式(1)计算这两点的三维空间点坐标,分别记为m1和m2;
2)根据m1和m2和式(2)计算旋转向量ThisQuat(x,y,z,θ);
3)根据旋转向量ThisQuat构建本次旋转矩阵ThisRot;
4)将本次旋转矩阵ThisRot和历史旋转矩阵LastRot相乘,结果存储在本次旋转矩阵ThisRot中;
5)根据本次旋转矩阵ThisRot生成最终变换矩阵Transform;
6)使用本次旋转矩阵ThisRot更新历史旋转矩阵LastRot。
通过上述计算,可以将鼠标在屏幕上拖动的起始点和终止点转化为一个4×4的最终变换矩阵。在每次绘制地球之前,使用gl Mult Matrix f()函数加载最终变换矩阵Transform,从而实现对三维地球的自由旋转控制。
上述框架设计和具体功能实现已在某空间目标监视雷达中得到应用和验证。程序运行于Pentium Dual-Core CPU上,主频3.2 GHz,显卡为NVIDIA GeForce GT210。应用实例显示,该系统设计可以实现极具立体感的动态准确的波束和搜索屏显示,显示效果如图5所示;可以实现高精度的地球表面纹理显示,显示效果如图6所示;可以实现灵活的地球旋转控制,图5和图6就是从两个不同的角度进行观察的显示效果。
图5 波束和搜索屏显示效果图
图6 地球纹理显示效果图
本文针对空间目标监视雷达的应用背景,提出了雷达三维显示系统的设计框架,并针对其中的系统信息模块、地球纹理管理模块和渲染窗口模块这三个难点模块,提出了波束和搜索屏的显示设计、基于四叉树动态分形技术的地球纹理显示设计、基于虚拟轨迹球的三维地球旋转设计。该系统已在某空间目标监视雷达中得到应用,显示画面清晰流畅、立体感强,支持灵活的视角调整和控制。
[1]陈弓,戴晨光,刘航冶.雷达阵地场景三维可视化系统的实现[J].空军雷达学院学报,2007,21(4):248-251.
[2]WRIGHT R S,LIPCHAK Jr B.OpenGL超级宝典[M].3版.徐波,译.北京:人民邮电出版社,2005:89-99.
[3]刘扬.软件化多功能雷达光栅显示设备设计[J].雷达科学与技术,2008,6(3):206-209.LIU Yang.Design of Softwarized Multi-Function Raster Display Equipment in Radar[J].Radar Science and Technology,2008,6(3):206-209.(in Chinese)
[4]安良,莫红飞.GIS在雷达显示控制系统中的应用[J].雷达科学与技术,2011,9(3):264-267,285.AN Liang,MO Hong-fei.Application of GIS in Display and Control System of Radar[J].Radar Science and Technology,2011,9(3):264-267,285.(in Chinese)
[5]邓宝松,于荣欢,秦方钰,等.大规模地形无缝漫游技术研究[J].计算机应用研究,2012,29(1):369-372,385.