海军C3I系统军图标绘工具的设计与实现1前言军图(如兵力部署图、情况图、决策图、战斗经过图等)在现代条件下的作战中应用非常广泛。这不仅是因为军图标绘简单迅速,可简化文字叙述,节省时间,而且形象直观,一目了然,能够全面反映战场的整体情况。用计算机代替人工标图是现代战争的需求。一个实用的军图标绘工具应能提高各级指挥员和参谋人员的工作效率,使之更好地完成作战指挥工作。2军图标绘工具的需求分析(1)准确性军图代表了作战首长的决策意图及战场上的实际情况,因此,要求标图准确,体现在标绘的位置准确、计算和使用图标准确、标记时间、数量和运动要素准确等。(2)迅速性时间已成为现代战争成败的关键因素。所以标绘工具应在准确的基础上作到标绘图元快,并能方便的对其移动、修改、删除,最大限度缩短军图制作时间,从而保障作战指挥的及时性。(3)清晰和通用性在C3I系统中,信息主要通过网络以报文形式传送到其它部门,要确保制作的军图能够在不同部门显示。3军图标绘工具的设计系统的设计可参照通用绘图程序,但特殊的应用环境决定了简化军图标绘的每一个步骤,所以在界面设计上可简化甚至省去菜单,只使用工具条。通过选择工具条上的按钮来实现所有功能。这样整个工具既简单易学,又标图快。程序要具有如下几个功能:(1)标绘功能在实现标绘功能时,要使每个图元的标绘方法尽可能简单灵活。如直线、矩形、圆、椭圆的画图过程设计为:在起点处按下鼠标左键,拖动,到终点处释放鼠标左键,由按键和放键两点确定以上的图元;比较复杂的图元,如扇形、弧弦和弓形,先单击鼠标,确定圆心,再在起始角度和确定半径处按下并拖动鼠标,到终止角处释放鼠标;军用特殊图元,如箭头和文字/军标注记框,更应简化其画法。如箭头可用画直线的方法画出,只不过释放鼠标左键后画出的是一确定形状的由起点指向终点的箭头,然后通过修改特征点的位置,使之成为任意形状的箭头。当然,在标绘时要能确定图元的颜色,线宽,线型,填充类型等属性。因此在工具条上应置这些选择图元属性的按钮。(2)修改功能修改功能包括移动某一图元,修改某一图元属性(颜色,线宽等),修改某一图元特征值。标绘功能与修改功能是系统的两大功能。为实现这两大功能,可设计系统为两种状态:标绘图元状态和选择图元状态(在工具条上设置一开关按钮—选择图元按钮,此按钮按下时为选择图元状态,否则为标绘状态)。在标绘状态时,选择工具条上的图元按钮,进行标绘操作;在选择图元状态下,用鼠标选中要修改的图元,进行修改操作。(3)保存及绘图仪输出功能标绘的军图最后应是以文件方式保存到磁盘中,待需要时重新显示或通过计算机网络传送到其它部门。当然,还应有打印功能。对矢量军图,最好使用绘图仪输出。4关键技术的实现方法军用标图系统要求使用灵活、图元清晰,对标绘的图元能够随海图的放大而放大,并能够修改图元特征点,对图元进行移动等。这些要求在实现时会遇到一定的问题,尤其在装备还不够高档的工作站上。下面的几种策略可解决实际应用中的问题。4.1使用快捷、方便的工具条按钮为提高标图速度,有一个易于使用的标绘工具非常重要。标工具可采用与通用绘图软件相似的界面,这样既容易学,使用又极其方便。军用标图系统的所有功能(标绘,修改,删除,层操作,存盘操作)都体现在如下工具条上,要进行某一功能,只需按下相应的按钮,避免了使用菜单的麻烦。图14.2橡皮筋策略标绘图元或修改图元时,在鼠标移动过程中,用虚线标出由鼠标当前位置确定的图元的运动轨迹,能够使画图直观,使用者更精确的对图元定位,实现流程为:图24.3修改系统颜色表,使海图颜色与标绘颜色分层设定标绘颜色与海图颜色在不同的颜色位平面上,可解决关键问题。在编程过程中,考虑到标绘在海图上的图元要修改或移动,常用异或方式画图,清除此图元时很容易(用异或方式重画一次)。但此方法带来两个问题,一是不同图元迭加要变色,二是图元迭加后,移动某一图元,另外图元与之相互覆盖的地方被“吃掉”。因此只能用COPY方式标绘图元。那么如何快速清除标绘图元而不影响海图呢?使海图颜色与标绘颜色分层,然后设置屏蔽位是解决此问题的有效方法。在海军某指挥系统中,在8位的颜色位平面上,低四位为海图颜色(共16种),高三位为标绘颜色(共8种),最高位与其它位配合使用,作为图象显示颜色(共128种),设置屏蔽值为OxOF,示意如下:图3海图与图元都画在pixmap上,每次在修改、移动、删除图元时,先按层清除所有标绘图元,再重新画出标绘图元,因为不用重新画海图,节省了时间,又不致于因为修改某一图元而影响了其它图元,解决了速度与效果之间的矛盾。4.4特殊图元采用特殊标绘方法在军用标图中,常用的两种图元军标注记框和文本注记框,如图4所示图4为使这两种图元画法简单,首先要简化注记框的画法。注记框是一个多边形组成的,如果各点都由用户来确定,是不符合实际使用要求的。实际上,只要X1,X2,Xt这三个就可确定一个注记框。例如在海军某指挥系统中注记框的标绘只需先画一矩形,然后在矩形外点一点,确定注记框尖角位置及方向。其它各点及尖角开口位置是按下列算法解出的:①开口宽度|×3×4|为定值(10个象素);②当ab时,尖角在右面开口;③当a=b时,尖角在上面开口。=b时,尖角在上面开口。为实现不同的修改方式,需设定不同的修改方式热点。如鼠标按在点xt上,为修改尖角xt位置;鼠标按在线段x3xt或x4xt上,平移注记框;鼠标按在矩形框的边缘,修改框的位置,按在x2上,修改框的右下角(即修改框的宽度及高度)对于注记框里的内容,在框内双击鼠标后,弹出对话框,修改文字或军标。4.5充分利用鼠标与键盘功能,确定几个特殊功能键军用标图要求准确,主要体现在标绘图元能够精确定位。鼠标标图由于视角等因素使图元定位有时达不到使用要求。这就要提供能够精确定位图元的标绘方法。在具体使用过程中,规定按鼠标左键拖动鼠标绘图,按鼠标右键则弹出对话框,由输入的经纬度坐标确定某一图元。另外,军标经常旋转某一特殊角度(正负90),可指定特殊功能键(←↑→↓)进行特殊角度的旋转或位置微调。4.6实现不同的修改方式图元有修改属性、修改特征值和移动三种修改方式。在一图元被选中时,如何确定是何种方式修改?最简单的判别方法为:如果图元被标记时,按下图元属性按钮,定为修改此图元属性;如果鼠标按在图元的特点范围内,定为修改图元特征值;如果按在图元边缘上,则为移动操作。针对不同的图元,可用不同的标记方法,如椭圆和弓形标记方法和修改方式判别如图5、图6所示:弓形:a.在pl点按键并移动鼠标,修改内圆半径;b.在p2点按键并移动鼠标,修改外圆半径;c.在直线段12上按键并移动鼠标,修改起始角度;d.在直线段11上按键并移动鼠标,修改终止角度;e.在弓形的边缘线上按键并移动鼠标,移动弓形。椭圆:a.在pl点按键并移动鼠标,修改椭圆长半轴;b.在p2点按键并移动鼠标,修改短半轴;c.在直线11上按键并移动鼠标,旋转椭圆。d.椭圆边缘上按键并移动鼠标,平移椭圆。5结论上面介绍的设计思想与实现方法已经在海军指挥系统标绘工具中应用。通过实际使用,确实感到计算机绘图迅速、直观、准确,以文件方式存储的军图更加便于修改和信息的传递。它的优越性是人工标图无法比拟的。随着高新技术在现代战争中的广泛应用,人的指挥离实际战场越来越远,及时把战场的敌我情况和首长的决心意图传送给执行部门是至关重要的。