基于GDI与双缓冲技术的雷达PPI显示器的仿真

2016-05-25 08:36王强汤小慷谢存张学志李伟强
科技视界 2016年12期
关键词:仿真

王强 汤小慷 谢存 张学志 李伟强

【摘 要】雷达PPI显示器主要用于显示雷达探测到的空情信息,是雷达重要的子系统之一。本文介绍了GDI与双缓冲技术,并在此基础上,提出了一种新的雷达PPI显示器的仿真和实现方法。通过采用GDI的API实现了PPI显示器的图像和文字绘制,使显示效果更加清晰和逼真。同时采用双缓冲技术解决了在Win32环境下,PPI显示器实时更新所出现的画面闪烁问题。实践证明,此种实现方法简便,模块具有很强通用性和拓展性,为雷达显示器的仿真和设计提供了可以借鉴的思路。

【关键词】PPI显示器;双缓冲;GDI;仿真

0 引言

雷达PPI显示器是雷达的重要组成部分,它为操作人员提供雷达探测到空情信息。对雷达PPI显示器的通常采用Direct3D和OpenGL技术来进行仿真,其存在开发流程复杂,效率较低,成本高的缺点。本文介绍了GDI与双缓冲技术相结合的思路,提出了一种新的PPI显示器的仿真方法。

1 双缓冲绘图的实现

双缓冲在内存中创建一个与屏幕绘图区域一致的对象,先将图形绘制到内存中的这个对象上,再一次性将这个对象上的图形拷贝到屏幕上,这样能大大加快绘图的速度。Win32环境下双缓冲实现的首先,在内存中创建与画布一致的双缓冲区;然后,在双缓冲区画图;其次,双缓冲区图像复制到显示缓冲区;最后,释放内存缓冲区。其流程如图1所示。

2 雷达PPI显示器仿真模型的设计

在雷达PPI显示器仿真时,详细分析了PPI显示器所要显示信息内容,在利用GDI绘图进行了分层绘制,将信息内容清晰的显示了出来,避免了相互遮隐。将雷达PPI显示器界面显示划分为四层,如图2所示。第一层为雷达背景、方位角刻度、底图等的模拟显示;第二层为距离刻度制层,该层主要用来显示雷达距离环,显示目标概率距离。第三层为扫描线的绘制层,从数据区实时获取扫描线的动态数据,在雷达显示器上绘制扫描线方位;第四层为文字信息层,将雷达的状态、目标的标号等文字信息绘制出来。

3 PPI显示器的仿真实现

利用坐标变换后,将PPI显示器360度划分6000mil,长刻度每100mil绘制一次,短刻度每50mil绘制一次,其主要实现代码及算法如下:

/*绘制短刻度*/

for (double iAngle = 3.0 ; iAngle < 360.0 ; iAngle += 6.0)

{

double xPPI,yPPI;

int xPScreen,yPScreen;

xPPI= (1.03*mRadius* cos (6.283 * iAngle / 360) );

yPPI= (1.03*mRadius* sin (6.283 * iAngle / 360) ) ;

xPScreen=(int)(xPPI+xCenter);

yPScreen=(int)(-yPPI+yCenter);

MoveTo(xCenter,yCenter);

LineTo(xPScreen,yPScreen);

}

4 结论

本文在研究雷达PPI显示器的仿真的基础上,利用了GDI和双缓冲技术解决了PPI显示在仿真过程绘图复杂以及频繁更新画面过程的图像闪烁问题,使PPI显示器仿真画面清晰逼真,取得较好的效果,为雷达显示器的仿真提供一种新的方法。

【参考文献】

[1]周涛.ZHOU Tao 基于GDI+与双缓冲的飞机姿态指示仪(ADI)仿真实现[J].现代电子技术,2014(16).

[2]周鸣扬,赵景亮.精通GDI+编程[M].北京:清华大学出版社,2003.

[3][美]李普曼,[美]拉茹瓦,[美]穆.C++ Primer中文版[M].李师贤,译.4版.北京:人民邮电出版社,2006.

[4]邹焕新,陈振林,周石琳,郑键.ZOU Huan-xin.CHEN Zhen-lin.ZHOU Shi-lin.ZHENG Jian 基于OpenGL的雷达PPI显示器仿真方法[J].火力与指挥控制,2010(8).

[责任编辑:杨玉洁]

猜你喜欢
仿真
Proteus仿真软件在单片机原理及应用课程教学中的应用
一种帮助幼儿车内脱险应急装置的仿真分析
论虚拟仿真实训系统在口腔实验教学中的应用