基于中点约束算法的态势标绘研究
2013-12-06姜芸,闫利,王军
姜 芸,闫 利,王 军
(1.武汉大学 测绘学院,湖北 武汉 430079;2.国家测绘局黑龙江基础地理信息中心,黑龙江 哈尔滨 150025)
随着计算机技术的飞跃发展,态势二维可视化技术日趋成熟并逐步实用化,伴随着数字化的发展,各国都越来越重视对态势三维可视化的研究。从整体而言,三维技术的发展已经相对比较完善,有些技术已经发展了较长一段时间,现在的三维技术已经可以应用在实际中而且表现效果也很好。一般态势标绘有二维态势和三维态势2种方式[1],态势标绘可以广泛应用于灾难防范,应急事件处理、防火、反恐等诸多领域。
目前,针对态势标绘的问题,已经有很多研究者提出了解决方案,态势标绘可分为常规标绘和函数标绘,而对于态势标绘来说,常规标绘较为简单,可通过建立标准模型库,以满足态势标绘需求;而箭头标绘、各种区域标绘作为函数标绘中最基本、最常用的态势符号,是典型的非规则标绘,其三维绘制研究对于整个非规则三维标绘的实现具有重要意义[2],本文重点研究单箭头标绘和双箭头标绘,针对态势标绘中实时态势标绘要求,研究实现二维态势与三维态势联动表现的一体化操作和显示模型,提出了一种中点约束算法模型的通用标绘方法,可有效实现二三维环境下箭标的实时标绘。
1 基于中点的曲线拟合算法介绍
贝塞尔曲线是在计算机图形和相关领域中经常使用的一个参数化的曲线,可在矢量图形中用来模拟流畅的曲线,可无限期地进行调整。有许多方法来构造一条Bezier曲线,为有效控制曲线的趋进程度,增加曲线的拟合效果,本文提出基于中点的曲线拟合算法,采用分割获取的方法,构建拟合曲线,提高曲线拟合效率。中点算法曲线点如图1所示。
图1 中点算法曲线点示意图
其中:T为递归次数,为常数,0≤n<T,midpoint为中点算法递归函数。
当n=0,可计算获得C1,C2,C3值,如式(2)所示。
其中,a为首次计算的趋进权重,默认为1/2,可控制到P2的趋进程度。
当a=1/2时,式(2)可合并到式(1),为增加拟合曲线到P2的趋进度可减小a的取值。
2 基于中轴线约束的单箭头模型
2.1 基本思想
1)为实现二三维一体化显示,以二维环境为基础,构建中轴线约束模型,有效提高效率和可操作性,实现一体化联动显示。
2)基于二维环境,根据用户给出的约束源(可以是模型上的点、线或者面)、约束的有效半径R来确定各点处的变形权值进行变形[3],构建箭标图形。
3)将二维环境下构建的箭标图形,在三维环境下进行地形匹配拟合。
2.2 算法原理
1)初始约束点(P):用户初始输入点,P1为箭头出发点,P3为目标点,P2为中间约束点,本算法采用3点约束控制,数据模型仅保存初始约束点的坐标值即可,大大降低了数据模型存储的复杂度,如图2所示。
图2 二维箭头模型
2)中轴线(P1-P3):用于控制箭头模型关键部位,标准化情况下中轴线为直线,P2位于中轴线上。
3)中轴线控制点(C):由P1,P2,P3采用中点算法拟合获得的控制点,用于约束控制中轴线的关键部位,随出发点、目标点、中间控制点的改变而改变。
4)关键点(A):由中轴线控制点与约束的有效半径R(常数)确定的箭头轮廓外形关键点(A1-An)。
首先根据用户输入的初始约束点(P1,P2,P3),采用中点算法拟合中轴线控制点(C),并记录初始约束点;然后根据中轴线控制点计算并拟合箭头轮廓外形关键点(A1-An),形成二维态势箭头模型,采用动态栅格化方法与三维地形进行无缝拟合显示。标绘流程如图3所示。
图3 箭头标绘流程
2.3 模型实现
1)约束点初始化。用户输入初始约束点,P1为箭头出发点,P3为目标点,P2为中间约束点,及约束距离S。
2)中轴线控制点拟合。根据初始的约束点,采用中点约束算法,计算中轴线控制点(C1-C5),为便于描述将二维箭头模型的中轴线简化迭代次数(T=2),如图4所示。其中C1=P1,C5=P3。
图4 二维箭头网格模型
3)箭尾关键点生成。箭尾关键点由A5,C2,A6构成,以C2为顶点,以C2,P1(C1)为高,构建等腰△C2A5A6,其中A5,P1(C1)的距离为DIS,其中;n为中轴线控制点总数,n=2T+1。由此计算A5,A6的值,依次类推计算箭身关键点A2,A3,A4,A7,A8,A9。
4)箭头关键点生成。箭头关键点构成包括箭头点(P3),2个箭耳点(A1,A10)和2个箭颈点(A2,A9),共计5个点。由以上的推算可知,仅有箭耳点为未知点,采用步骤3)同样的方法计算。
2.4 三维地形匹配
在三维环境中进行态势标绘,因箭头标绘为面状符号,跨越的地形起伏变化也较大,需重点解决态势标绘与地形高程的匹配问题。同时现阶段,三维平台众多且技术比较成熟,为提高态势标绘技术的通用性及在三维环境中显示效率,本文采用将标绘图形进行动态栅格化,并将栅格化图像于地形进行拟合,大大提高了执行效率和显示效果。
2.5 细节层次模型简化
因采用中轴线控制点构建箭头模型,为提高在三维环境下显示速度,本文采用控制中轴线控制点的数目,简化模型,即控制迭代参数T;通过逐次简化减少几何复杂性,从而提高绘制算法的效率。细节层次模型简化如图5及表1所示。
图5 细节层次模型简化示意图
表1 细节层次模型简化参数
3 双箭头模型
双箭标绘与单箭标绘在绘制时基本思想一致,不同之处在于双箭标绘需要绘制两箭头的连接。本文双箭头模型采用6个初始约束点,两箭头的连接采用中点算法进行拟合,拟合模型如图6所示,可通过调整初始约束点分别控制2个箭头的走向。
图6 双箭头模型效果
4 试验效果
以SuperMap Object.Net6R(2012)作为二维显示平台,GeoGlobe作为三维显示平台,采用PC机(T7400 2.16GHz,NVIDIA Quadro NVS120M,1GB内存),利用Visual Studio2008,运用本文算法模型,构建二三维一体化态势标绘系统。试验效果如图7所示。
图7 态势标绘试验效果图
5 结束语
本文介绍了态势标绘的基本情况,提出并实现了基于中点的曲线拟合算法,详细介绍了基于中轴线约束的单箭头模型的基本思想、算法实现,通过试验取得了较好的效果,本方法和算法模型大大简化了态势标绘中初始输入点的数据,简化了存储模型,有利于二三维一体化操作和显示,更可通用于不同的二、三维GIS平台。虽然现阶段已经积累了丰富的经验,但仍有大量问题待解决和完善。下一步需要重点研究高效的三维模型标绘符号及三维表现形式,随着技术的发展和态势标绘的深层次应用,将促使我们提出更好的解决方案。
[1]陈建祥,魏迎梅,吴玲达.虚拟战场环境中的态势标绘与表现[J].计算机应用,2005,25(7):1701-1703.
[2]马洪文,熊军,杨晓松,等.基于OpenGL中Bezier曲面的三维箭标绘制研究[J].军事交通学院学报,2009,11(5):86-90.
[3]周艳,刘圣军,金小刚,等.基于测地距离的多边形网格模型约束变形[J].JournalofSoftware,2007,18(6):1543-1552.
[4]刘会刚,秦国亮.一种基于Bezier曲线的军事箭标实现[J].四川兵工学报,2009,30(2):67-68.
[5]刘会刚,秦国亮.一种渐进式平滑轨迹线标绘方法[J].系统仿真学报,2012,24(2):357-360.
[6]王燕.二三维一体化的WebGIS系统的研究与实现[J].测绘学报,2011,34(5):46-47.
[7]徐敬海,徐徐,聂高众,等.基于GIS的地震应急态势标绘技术研究[J].武汉大学学报:信息科学版,2011,36(1):66-70.