首页| 行业资讯| 企业名录| 周边产品| 数字城市| 增强现实| 工业仿真| 解决方案| 虚拟医疗| 行业仿真| 图形处理| 军事战场
用户登录/注册 ×
资讯首页
行业资讯 >> 专业文献
空海一体虚拟战场环境构建技术
时间:2019-11-29    评论:0
    来源:第三维度
    作者:侯学隆,张海峰,罗木生
    单位:海军航空工程学院指挥系

    摘要:针对海军空海一体虚拟战场环境仿真平台演练需求,构建了 3 种仿真计算模型,即天空场景仿真模型、海浪场景仿真模型和海面光照模型。利用通用天空标准亮度分布模型,进行亮度计算、颜色空间转换、颜色校正和顶点颜色映射,实现不同经纬度地域、不同时间、不同天气状况下天空动态场景的实时仿真;通过对方向谱进行离散采样,提取单元波振幅、频率、传播方向等参数,构造 FFT 计算模式快速合成大量单元波实时生成海浪;建立海面光照模型,应用 GPU 着色技术,将动态天空的变化在海浪场景中得以体现,表达了环境之间的依存性与随动性。仿真效果表明:该技术途径可逼真模拟空海一体战场环境,在工程上具有较强的实用价值。

    0 引言

    基于虚拟现实技术的虚拟环境生成技术应用于军事仿真演练和军事决策以后,引起了军事演练观念和方式的变革,推动了军事仿真演练的发展,为构建虚拟演练环境,建立作战实验室提供了一种相对传统方法更为有效的高解析仿真方法,从而为解决军事训练、演练和军事决策提供了新的途径[1]。

    西方军事大国历来重视虚拟战场环境的研发。例如,在美国空军 2005 年度的“红旗”军演中,E-8 飞机装有“Nellis Air Combat Training System”系统,该系统采用真实数据逼真模拟了演习区域的大面积地形地貌,6 个国家 128 架战机在真实的空间进行机动,飞行数据被传感器实时采集并在这个虚拟空间中实时再现,同时进行着武器的虚拟攻击。该系统
构建的虚拟环境,为飞机间的逼真对抗提供了良好的环境支撑,成功保障了“红旗”对抗演练。

    基于信息系统的体系作战已成为现代海上作战的基本模式,其涉及多兵种、多兵力、多武器平台在多维空间交战,开展海上作战仿真对抗演练必然要求构建一个能够满足多种武器平台“寄存”的虚拟环境,必须将空间与海面场景无缝集成。因此,笔者在解决空间、海面场景构建技术的基础上,在开源图形引擎 OSG 上初步实现了空海一体大规模虚拟环境的综合集成。

    1 天空场景仿真模型

    天空光照计算一方面直接用于天空颜色生成,另一方面为岸、海面仿真提供光源数据参与光照计算。文献[1-8]采用大气物理模型建立了大气散射和天空亮度模型,仿真效果逼真,但计算量大;文献[9-11]采用物理模型和测量数据实现了天空亮度仿真,由于需要实测大量测量数据,对实验条件要求高;文献[12-14]采用纹理贴图的方式模拟了较为逼真的天空景象,但难以反映不同地域和时辰下的动态效果。笔者利用 CIE2003 通用标准天空亮度分布模型,基于 Preeham[15]的特征参数值,实现了天空彩色背景图像的动态实时仿真,并能较好反映不同经纬度地域、不同时间、不同天气状况对背景图像产生的影响。

    1.1 天空几何模型

    在航空器视景仿真中,通常只考虑离地球海拔高度为 35 km 以下的大气层。因此,天空几何模型通过以地球球面向外拓展 35 km 构建,在可视范围用半球表示。对于一个半球,p 是球面上一点,R为球半径, γ 是指球面上的纬度,α 是 p 点按弧线在水平面的投影与正北的夹角。则 p 点可表示为:

空海一体虚拟战场环境构建技术

    对于一个半球,γ ∈[0, π / 2],α ∈[0, 2π]。因此,可用以下参数表征的顶点网格来生成所需的球面:

空海一体虚拟战场环境构建技术

    可以根据不同精度要求选择 Δγ 和 Δα 对半球进行网格化以便构建三角形条带进行绘制。

    1.2 天顶亮度及色度计算

    太阳位置用( Zs ,αs )表示,如图 1 所示。

空海一体虚拟战场环境构建技术
图 1 太阳位置及天空元素

    其中s z (rad)定义为太阳与天顶的夹角, [0, π / 2] s z ∈ ;α s (rad)定义为太阳按弧线在水平面的投影与正北的夹角, [0,2π] α s ∈ 。太阳的位置与观察点的经纬度、日辰有关,可通过航海相关知识解算不同位置及时间下的太阳位置。

    在给定太阳天顶角 s z 和浑浊度 T 时,天顶的亮度Yzenith (K cd/m2)可用下式计算,与太阳天顶角、浑浊度的关系见图 1。

空海一体虚拟战场环境构建技术

    天顶位置色度( zenith x , zenith y )与太阳位置及浑浊度有关,计算方式如下:

空海一体虚拟战场环境构建技术


    1.3 天空任意点亮度及色度计算

    在给定太阳位置的情况下,天空元素(即天空任意一个采样点)位置可用( z , χ )表征。其中 z (rad)定义为天空元素与天顶的夹角,z ∈[0, π / 2];χ (rad)定义为天空元素与太阳间的角距离,χ ∈[0, π],可通过下式计算:

空海一体虚拟战场环境构建技术

    式中:α (rad)、α s (rad)分别为天空元素、太阳与正北之间的夹角。对于天空元素的亮度及色度坐标的计算,可从亮度分布特性入手。CIE2003 标准[16]给出了任意天空元素的亮度 La 与天顶亮度 Lz 的比值,即亮度分布函数 (, , )s dz z χ :

空海一体虚拟战场环境构建技术

    式中:φ 定义了亮度分级过渡函数,与天空元素的天顶角 z 大小有关; f 定义了散射指标特征函数,与天空元素与太阳间的角距离 χ 大小有关。φ 、 f的表达式为:

空海一体虚拟战场环境构建技术

    CIE2003 标准给出了 15 种不同天气下的特征参数 A、B、C、D、E 的具体值。为简化计算并与浑浊度 T 关联起来,可采用 Preetham 给出了亮度、色度对应的具体值[15]。

    综上所述:在固定 s z 的情况下,任意天空元素的色度亮度(Ysky )、色度( sky x , sky y )和可用下式计算:

空海一体虚拟战场环境构建技术

    由于 s z 、α s 随时间变化,根据上式便可获得任意天空元素随时间变化的亮度和色度。

    1.4 亮度压缩及 RGB 颜色生成

    由于得出的亮度 Ysky 值较大,需要将其缩小至[0.0, 1.0]区间,一个简单的方法是采用式 10 的指数法来实现。

空海一体虚拟战场环境构建技术

    式中 K 为调节因子,参考值范围[20, 30],典型值 25。

    一旦计算出色度和亮度,就得到了 Yxy 空间中的颜色。但计算机采用 RGB 颜色,因此必须实现颜色转换。具体来讲,分两步实施:首先将 Yxy 转换到 CIE 中的 XYZ 三色值,然后由 CIE 中的 XYZ 三色值转换成 RGB 值。

    最后对 RGB 颜色进行一次 gamma 校正,如下式所示:

空海一体虚拟战场环境构建技术

    式中:gamma 因子取值范围[2.3,3.8],典型值为 2.5。

    2 海浪场景仿真模型

    海浪场景是空海一体战场环境的主场景,其仿真效果直接关系到总体效果。目前,海浪仿真方法主要有:基于 Bump/Normal Mapping 的海浪仿真[17]、基于物理模型的海浪仿真[18-22]、基于构造波形函数的海浪仿真[23-24]和基于波谱理论的海浪仿真[25-31]。在空海一体虚拟战场中,对海浪仿真具有适应海况等级、逼真性、交互性、实时性、多分辨率和超大面积六大需求。基于海浪谱和快速傅里叶变换(fast fourier transform,FFT)方法可有效解决海浪仿真逼真度与实时性之间的矛盾。

    2.1 海浪几何模型

    将多个次摆线波叠加,并将其扩展到二维表面,可得海浪的波数表达式:

空海一体虚拟战场环境构建技术

    其中:μ 为波形控制因子;x=(x, z)是以 x0=(x0, z0)为基准点随时间变化的水平坐标;y0 为平均水面;k=(kx, kz)为波数矢量,其幅值为 k=||k||,单位矢量?k =k/k,Φ( ) k 为初始相位。

    2.2 海浪的 FFT 表达式

    假设在面积 Lx×Lz 的水平面建立 N×M(N=2i,M=2j; i, j 为正整数)规则采样网格,共计 N×M 个采样点,对于深水浪,将上式变换如式 (15) 所示,推导过程参见文献[32]。

空海一体虚拟战场环境构建技术

    式中: R 表示取复数的实部,空海一体虚拟战场环境构建技术对于上式,便可分别使用 FFT 算法一次性将各采样点的高度值 y 和修正后的水平坐标 x、z 求出。

    2.3 方向谱离散采样

    由式 (15) 可知, H ( k,t)  由振幅 A(k)  、初相位exp()  及相位 exp(iω(k)t) 3 个部分构成。对于振幅A(k) ,一种简单的方法是在一个区间内随机产生。但随机产生会使仿真海浪的能量分布与真实海区的观测统计有较大差距,并且仿真效果不能调节。获取 A(k) 最好的方法是从海浪波数谱中提取,文献[25]提出一种方法:对 Phillips 波谱采样,将波谱值的平方根直接作为振幅值。当采样数或风速值变化时,该方法容易产生波高突变,仿真效果难以控制。本文根据波谱理论采用积分法求取振幅,进而推广到对任意波谱的采样。

    给定波数谱 Ek(K)  ,对于每一个采样区间有(当Δkx、Δkz 足够小时,可近似计算):

空海一体虚拟战场环境构建技术

    波数谱通常可由方向谱转化而来,给定方向谱, E ( , ω θ ω θ ) ,为保证转化过程能量保持一致可按下式[28]进行:

空海一体虚拟战场环境构建技术

    方向谱的表达式通常由频谱和方向扩展函数组合而成,即

空海一体虚拟战场环境构建技术

    其中: Eω (ω)为频谱; D (ω,θ)  为方向扩展函数;θ 为单元波的传播方向。不失一般性,选择 P-M 频谱[33]及 ITTC 方向扩展函数[34]构造方向谱,将上述方向谱转化成波数谱可得

空海一体虚拟战场环境构建技术

    其中:k=|| k ||;U10=|| U10 ||,为海平面 10 m 处风速。

    3 空海一体环境下的海面光照模型

    要渲染高度真实的海浪,除构造合适的波面几何造型外,还要充分考虑海水的光学效应。海水是良好的反射体与折射体,海水的最终颜色是反射与折射的 Fresnel 合成结果。

    3.1 反射

    海水的反射主要考虑全局反射、局部反射和太阳镜面高亮反射。全局反射由半球形天空背景颜色构成,根据第一节模型生成天空 RGB 图像,通过帧缓存对象(frame buffer object,FBO)离屏渲染动态生成立方体纹理。在全局反射中,可采用反射矢量作为立方体纹理坐标查找纹素来实现。如图 2 所示。

空海一体虚拟战场环境构建技术
图2 反射与折射示意图

    反射矢量按下式计算:

空海一体虚拟战场环境构建技术

    则全局反射为

空海一体虚拟战场环境构建技术

    全局反射实现了远处物体的静态环境映射,并不能反射海面上的局部物体(如水面舰艇、小岛等),因此动态局部反射应该根据需要实时绘制。

    其主要步骤如下:

    1) 产生局部纹理对象 reflectMap,配置 FBO、视口大小与当前相机观察面长宽比一致,将反射纹理绑定到 FBO,将 FBO 绑定到颜色缓冲区。

    2) 设置“反射”相机,如图 2 所示,“反射”相机与主相机关于反射平面对称。在 OpenGL 坐标系下,设反射平面方程为 y–h=0,有 M1、M2:

空海一体虚拟战场环境构建技术

    如果主相机位置(eye position)为 C,注视点(Look-at point)为 Pref,观察向上矢量(up-vector)为 U,则“反射”相机位置为 M1·C,注视点为M1·Pref,观察向上矢量为 M2·U。

    3) 设置附加裁减面。由于反射纹理是反射面以上景物的镜像,在渲染场景时,存在 3 种情况:①物体完全位于反射面以下;② 物体完全位于反射面以上;③ 物体一部分在反射面以上,其他部分在反射面以下。第 1 种情况不会产生倒影,只涉及到折射问题,在生成折射纹理需要渲染该物体。对于第2 种情况,只需渲染该物体即可。在渲染第 3 种类型的物体时,如果反射面以下物体也加以渲染,将获得错误的反射纹理,因此在渲染该物体时要剔除反射面以下部分。附加裁剪面可用如下方程表示:

空海一体虚拟战场环境构建技术

    对于“反射”相机空间下的点( e e e we x , y ,z , ),满足如下条件将在 OpenGL 中绘制:

空海一体虚拟战场环境构建技术

    其中 M 为当前模型视图矩阵。根据上述原理和反射平面方程,采用 glClipPlane 设置附加裁剪面参数为(0, 1, 0, h),便可将反射面以下物体从场景中剔除。

    4) 绘制第 2 种和第 3 种类型的物体。由于纹理已和 FBO 绑定,此时反射纹理已生成,可直接使用。

    5) 在适当时候将反射纹理 reflectMap 作为参数传递给片元着色器(Fragment Shader)以便进行纹理查询。反射纹理坐标采用投影映射方式获得,如图2 所示。设“反射”相机的模型视图矩阵为 Mm,投影矩阵 Mp,对于波面一点 P(x,y,z,1)T,在“反射”相机观察平面的投影点为 P′(x,y,z,w)T(齐次坐标),有 P′=Mp·Mm·P,则 P′已经是规一化坐标,即 P′·x/P′·w、P′·y/P′·w、P′·z/P′·w 在[–1,1]。由于访问纹理矩形的坐标值用像素来表示,设纹理矩形宽度为 tw,高度为 th,可得反射纹理坐标 rtc(s, t)T。

空海一体虚拟战场环境构建技术

    根据 rtc 查找反射纹理,可得波面 P 点的反射图像。由于海浪上下起伏,实际反射平面往往偏离预设反射平面 y–h=0,因此要对 rtc 进行扭曲,以便获得“波光鳞鳞”的反射效果。具体方法是:在原有值基础上,加上与视点距离和波面法线相关的偏移量。 

空海一体虚拟战场环境构建技术

    其中:RDS 为反射扭曲控制因子;Nx、Ny 为法线 N的 x、y 分量;式中除以 z 坐标,可以使扭曲随着视点距离增大而减少。由于反射纹理查询是在主相机的着色器下进行的,所需的 Mm 与 Mp,可在“反射”相机激活状态下获得并采用 glUniform 将该值传递给着色器。综上所述,局部反射可由下式表达:

空海一体虚拟战场环境构建技术

    最后,对全局反射、局部反射与太阳光进行合成,可得反射光为

空海一体虚拟战场环境构建技术

    式中 Csunspecullight 为海面太阳光反射的镜面高光,可用 Phong 模型计算[35]: 

空海一体虚拟战场环境构建技术

    式中: Csun 为太阳颜色,可通过第一节模型计算得到;ns 为镜面反射系数;Depth 为海面某采样点的深度值。

    3.2 折射

    折射的实现思路与反射基本相似。折射是在主相机状态下渲染折射纹理 reflractMap,然后在着色器中对纹理进行扭曲与映射操作。渲染折射纹理要注意以下几点:1) 要设置合适的附加裁减面,确保水上物体不被绘制;2) 由于空气的折射率(1)小于水的折射率(1.33),导致水中物体看起来要比实际要短,因此要进行扭曲操作;3) 由于折射角会偏离入射角,使得主相机“拍摄”的折射场景可能比实际要小,这样会导致“纹理丢失”,因此在渲染折射纹理要适当增加主相机的视场角。

    折射纹理坐标的计算方法与反射类似,与之不同的是:一是使用的是修正后的主相机的模型视图矩阵和投影矩阵;二是式 (25) 应该使用折射纹理的宽度与高度;三是式 (26) 使用相应的折射扭曲控制因子。最后可用该坐标访问折射纹理产生折射效果:

空海一体虚拟战场环境构建技术

    对局部折射与水色进行混合,可得最终的折射效果:

空海一体虚拟战场环境构建技术

    式中: α 为海水的透明度, Cwater 为海水颜色。为了表达水下物体越深越不易看清效果,借鉴OpenGL 线性雾产生原理,设计α 随深度变小,如下式[36]所示:

空海一体虚拟战场环境构建技术

    式中:ρ 为衰减系数;d 为水下物体与海面采样点的距离。

    3.3 颜色合成

    最后,要对反射与折射进行合成。水的反射与折射对海水颜色的贡献比例遵循 Fresnel 定律,可由下式计算海水反射贡献因子:

空海一体虚拟战场环境构建技术

    由于上式复杂,GPU 计算比较费时,而 k∈[0,1],可将其分成 512 份进行采样,获取的值存放在一维纹理 fresnelMap 中,在片元着色器中可以对其快速访问:

空海一体虚拟战场环境构建技术

    考虑有泡沫情况下,海水的最终颜色为:

空海一体虚拟战场环境构建技术

    式中: hmax 为海浪最大瞬时波高; h0 为开始产生泡沫的海浪波高;h 为海浪当前瞬时波高。

    4 仿真实验

    由上述分析,FFT 产生的海浪高度场具有平铺特性,可由“瓦块”拼接产生无边境效果。在当前主流 PC 机(CPU 2.8G,内存 4GB,显存 2GB)上,基于开源场景图形引擎 OSG,结合上述模型,采用LOD 算法和 GPU 着色技术,实现了空海一体大规模动态逼真环境的实时仿真(30FPS),实验效果如图 3 所示。

空海一体虚拟战场环境构建技术
(a) 日出效果

空海一体虚拟战场环境构建技术
(b) 泡沫效果

空海一体虚拟战场环境构建技术
(c) 海水透明度效果 
图 3 仿真效果

    实验证明:

    1) 天空动态图像不必每帧更新,在仿真时间与墙钟时间 1:1 情况下,1 min 更新一次太阳位置可保证图像平滑过渡;

    2) FFT 采用点为64×64 时可实时(30FPS 以上)在线解算高度场,此时有 4 096 个单元波合成海浪,可同时兼顾海浪仿真的逼真度与实时性;3) 如果用 128×128 采样难以保证实时性,可离线生成系列高度场图,采用顶点纹理和法线图生成技术,基于时间系列进行插值,也可实现逼真的海浪动画,但经过一定周期后,波浪具有重复感。

    5 结束语

    笔者研究了一种空海一体化虚拟战场环境的仿真方法,初步实现空海一体战场环境的综合集成。以 CIE 光照模型为基础的天空背景图像生成技术可仿真不同地域、不同时间、不同能见度(通过修改浑浊度 T 实现)下的天空景象;以波谱理论和 FFT算法为基础的海浪仿真方法可实现对多种波谱的采样与海浪合成,能够体现海区的浪高、浪频规律及海浪传播方向,可细致调节风速不会造成波高突变,较为细腻地反映风浪间的对应关系;以 GPU着色技术为基础的海面光照模型将动态天空的变化在海浪场景中得以体现,表达了环境之间的依存性与随动性。下一步的研究工作是将岛岸、复杂气象效果(云、大气散射光照)及水下效果融入到空海环境中,满足海军空中、海面及水下作战平台及武器的仿真需求。

    参考文献(略)
标签:海洋空军战场
上一篇:任务驱动的面向对象战场环境仿真过程建模下一篇:没有了
网友评论:空海一体虚拟战场环境构建技术
留名: 验证码:
最新评论
查看全部评论0
暂无评论
您可能还需要关注一下内容:
·任务驱动的面向对象战场环境仿真过程建模
·我军海上医疗救护模拟仿真训练系统问世
·以色列自主研发空战虚拟仿真训练系统
·嵌入式训练—“真实-虚拟-构造”训练
·基于GIS的海洋观测数据虚拟仿真研究
·基于 OSG 的海洋环境三维可视化系统研究
·叩开“战争设计学”的大门
·【图集】中国解放军单兵外骨骼系统曝光
·空战虚拟训练系统鼻祖—美国立方体公司
·美军(SLATE)空战虚拟仿真训练系统分析
☏ 推荐产品

小宅 Z5 2018青春版
商家:小宅

杰瑞特运动平台
商家:杰瑞特智能

Dikalis眼动追踪
商家:赢富仪器

魔神 Hawk
商家:魔神运动分析

5DT Binoculars
商家:四维宇宙

Christie DS+750
商家:四维宇宙

Zalman M220W
商家:四维宇宙

全息360°
商家:四维宇宙

PD F10 AS3D
商家:四维宇宙

PHANTOM系列
商家:四维宇宙
☞ 外设导航
☏ 企业名录
【宁波】宁波维真显示科技股份有限公司
【潍坊】歌尔股份有限公司
【上海】霍尼韦尔(中国)有限公司
【北京】科视Christie-中国
【北京】北京华如科技股份有限公司
【北京】北京乐卡仕技术有限公司
【广州】广州弥德科技有限公司
【上海】刃之砺信息科技(上海)有限公司
【北京】北京度量科技有限公司
【北京】北京小鸟看看科技有限公司
关于本站联系我们融资计划免责声明网站建设广告服务咨询策划行业推广
北京第三维度科技有限公司 版权所有 京ICP备15051154号-3
2008-2020 Beijing The third dimension Inc. All Rights Reserved.
Email:d3dweb@163.com  QQ:496466882
Mob:13371637112(24小时)
关注虚拟现实
关注第三维度