—269—基于数字地球的虚拟海战场环境仿真曾 鹏1,陈长征1,李苏军2(1. 北京市947信箱10分箱,北京 100083;2. 国防科技大学多媒体研发中心,长沙 410073)摘 要:分析传统海战场仿真方法的不足,提出以数字地球平台为基础来实现大规模虚拟海战场环境仿真的思路,从基于数字地球的大规模海洋表面生成、三维战场实体嵌入以及利用想定驱动虚拟海战场环境仿真3个方面展开虚拟海战场环境仿真技术的研究,通过实验给出实际的仿真效果。
关键词:仿真;数字海图;数字地球;虚拟海战场;想定驱动Simulation of Virtual Sea Battlefield EnvironmentBased on Digital EarthZENG Peng 1, CHEN Chang-zheng 1, LI Su-jun 2(1. The 10th Sub-box of 947 Letter Box in Beijing City, Beijing 100083;2. Multimedia R&D Center, National University of Defense Technology, Changsha 410073)【Abstract 】This paper analyzes the deficiency of traditional simulation methods in virtual sea battlefield, and proposes the idea of realizing the simulation of large-scale virtual sea battlefield based on the digital earth. It extends the research on simulation technology of the virtual sea battlefield from three facets of large-scale ocean surface rendering based on digital earth, embedment of the three-dimensional combat entity and scenario-driven simulation of the virtual sea battlefield environment. The effect of simulation is given. 【Key words 】simulation; digital chart; digital earth; virtual sea battlefield; scenario-driven计 算 机 工 程Computer Engineering 第35卷 第8期 Vol.35 No.8 2009年4月April 2009·开发研究与设计技术·文章编号:1000—3428(2009)08—0269—02文献标识码:A中图分类号:TP391.411 概述随着海洋战略思想的深入人心,世界各国军事研究人员一直对虚拟海战场环境的建设极为关注。
从早期的SIMNET 计划到面向21世纪建立的下一代战争演练系统WARSIM ,美军已初步建成数字陆战场;并计划到2030年实现陆战场的全面数字化,同时建立虚拟海战场和空战场;拟在2050年前后建成陆海空天一体化的虚拟战场。
目前,美军已经具备满足陆、海、空、特种部队等多军兵种军事训练的能力,并能实现虚拟与实际武备的对接,部分成果已用于一定规模的联合军事演习中。
从目前国内发展情况来看,虚拟海战场的建设还停留在训练模拟器材等面向小区域的海上场景,而在面向大规模海战场态势的分析和理解时,指挥员仍普遍采用传统的基于数字海图的态势标绘和二维作业推演。
造成这种现状的主要原因有:(1)海平面广阔,时空粒度与尺度跨度较大。
(2)海浪受力复杂,其波动受到重力、摩擦力、科氏力等各种力的综合影响。
(3)时空互动。
海浪是一个流体,海洋现象不但空间和时间上是动态的,更多的是时空互动,因此,很难用一个通用的方程来表示。
(4)战场实体的嵌入以及实体与海战场环境间的交互较为复杂。
然而,随着海战场感知手段的不断增强,海战场环境保障方式开始向数字化、可视化、多比例尺三维海图方向发展,以纸质海图、二维电子海图和沙盘为主的海战场环境保障手段已无法满足信息战的迫切需求。
随着数字地球和数字海洋的提出以及虚拟现实技术、计算机技术和数据仓库技术的快速发展,展开基于数字地球的虚拟海战场环境仿真技术的研究能够为我军海上作战、训练和海上抢险救灾以及多军兵种联合作战提供良好的信息保障和技术支持。
2 基于数字地球的海洋表面生成数字地球与数字海洋的提出为虚拟海战场与数字地球的结合提供了契机,也为虚拟海战场环境建设提供了良好的基础平台[1]。
在该平台实现了三维虚拟海战场环境的生成,主要体现在海洋球面生成、LOD 球面高度网格生成和海面光照效果模拟等方面[2]。
2.1 海洋球面生成由于地球的球体特性,要构建基于数字地球的海洋表面模型必须在三维球面上进行。
这需要求解海洋表面各点(x , y ,z )的值,同时考虑时间因素t ,生成动态海洋表面 h (x , y , z , t ),转换为经纬度坐标即h (a , β, t ),该点的实际高度值为surface surface (,)(,)(cos ,)h h f αβαβαββ=+⋅⋅N 其中,cos β为修正值;surface N 为(a ,β)切平面的法向量。
得到某时刻t 海洋表面各点的高度值就可以实现某时间点t i 海洋表面的生成,如图1所示。
图1 海洋表面点的高度值与对应的效果图作者简介:曾 鹏(1978-),男,博士,主研方向:虚拟现实,计算机仿真;陈长征,高级工程师;李苏军,博士研究生 收稿日期:2008-09-20 E-mail :zengpeng_chsh@2.2 海洋场景的球面高度网格生成数字地球的一个重要特点是支持多视点、多视角的场景无级缩放和无缝漫游,数字地球球面上的海洋水体同样必须满足以上特点[1]。
海洋表面的水体是无限连续的,在使用计算机图形技术时需要用多边形表现,因此,必须把表面离散化。
网格采样是一种常用的表面离散化方法,决定对高度场中的哪些点采样。
LOD是数字地球地形渲染普遍采用的高度场绘制方法,其思想可以用于海洋球面高度网格的生成,但用于动态的海洋表面绘制时,必须考虑以下问题:(1)LOD海洋表面高度网格的生成对静态地形数据进行预处理时,其每一小块可以是任意的多边形,从而满足边缘的紧密衔接。
但水体在渲染时需要动态生成,因此,不能依赖预处理。
为此,需要对传统地形LOD的方法进行改进:在静止状态时,球面海洋的每一个网格都覆盖同样大小的屏幕区域,然后将屏幕上显示的海面区域均匀细分成四边形网格,将每格后向透视投影到静止海面,就可获得海面上对应的非均匀分布的球面瓦片位置,如图2所示。
图2 不同视点和视距的LOD球面高度网格(2)海洋边界的判断与绘制对海洋表面进行绘制时,一个很重要的问题是对海洋与陆地边界的交汇判断,这对于港口、岛屿毗邻地区目标的分析和判断具有重要意义。
一种方法是利用卫星影像数据实现海洋边界的判断,其基本思想与利用矢量数据类似,区别在于:它根据计算得到的球面点坐标,依据卫星影像确定该点处于海洋区域或陆地区域。
该方法的局限主要在于卫星影像数据的精度制约,这在面向战术级别的高分辨率场景绘制中尤为重要。
另一种方法是利用海洋边界矢量数据确定屏幕上所需绘制的海洋区域,将绘制区域细分为网格,计算各网格点对应的可视球面点的世界坐标;利用该坐标确定该网格点的可见性,对于一个面片,只要4个网格点中有一个可见,则面片可见。
利用矢量数据的缺点在于其可视地球边界处海洋表面会存在明显的“锯齿”现象,如图3所示,面向视点的某个面片组成点中可能存在部分点背向视点,这将导致生成的场景中出现“锯齿”,因此,必须设计“点剔除算法”予以解决。
图3 利用矢量数据绘制海洋场景的“锯齿”现象(3)海洋场景的动态背面剔除背面剔除用来剔除背向视点的多边形。
通常采用几何测试方法决定一个三角形是否背离视点。
先计算三角形的法向量N p和视线向量N,然后计算两者夹角。
当N p·N <0时,根据需要,将背离视点的面片剔除,只绘制符合需要的三角形面片。
2.3 海面光照效果模拟由于海战本身涉及作战海域的广度和范围交大,因此基于数字地球的海洋表面场景绘制通常考虑一定数量级以上的较大范围海区,由此避免使用基于物理模型的方法计算高度真实感的海水表面颜色,从而在绘制真实感海洋表面的颜色和明暗度时,仅考虑来自于天空和周围自然环境的光线反射和折射[1]。
根据以上思想,可以考虑用立方体纹理图的方法计算海面光线的反射。
这种方法只考虑一次光线追踪,能在计算量较小的情况下生成具有一定真实感的画面。
折射效果的表现主要考虑水体颜色和海底地形地物的合成。
通常在实际的绘制过程中,为减小场景绘制的复杂度,水体颜色主要考虑某几种典型情况下的颜色,而海底地形地物只在特定的情况下加以考虑。
3 虚拟海战场中的三维实体嵌入基于数字地球的虚拟海战场环境以多视点多视距的无缝集成方式实现了传统二维数字海图向三维虚拟海战场环境的转化。
三维作战实体的嵌入同样将取代传统的二维军标,从而实现完整的二维作战视图向三维视场的转变。
(1)实体的三维建模与导入实体的三维建模与导入过程为:1)根据实际的战场实体尺寸建立相应的三维模型,将该模型文件转换为系统所需要的文件格式。
2)加载实体三维模型,并进行纹理与材质的设定。
3)建立实体的局部坐标系,通常以实体重心为原点、正(反)向为x轴、向上(下)方向为z轴,如图4所示。
y图4 三维实体模型的导入与局部坐标系(2)作战实体的运动建模与绘制作战实体的运动建模与绘制过程主要包含动力学模型和运动轨迹表现模型,如图5所示。
图5 作战实体的运动建模与绘制(下转第273页)—270——273—果,并提取机器码传输给客户端。
客户端通过Socket 接口接收机器码并置入RTL 模型和SystemC 模型,2个模型分别产生各自的结果,并实现第1次比对。
比对正确后将一致的结果传输到服务端的软件测试接口与软件模型生成的结果实现第2次比对,该次比对验证的结果被记录入Log 文件用于核查。
图4给出验证平台的软硬件模型生成结果的例子。
图4 软硬件验证过程的具体实现4 运行与测试为对验证平台的性能做一个评估,采用2台主频为 1.8 GHz 的计算机分别做客户端与服务端,客户端模型在VCS 环境下运行,服务端的仿真模型用高级编程语言C++编写并在Linux 环境下运行。