基于三维粒子系统的雪灾模拟与实时绘制方法

2017-10-16 10:14杜志强刘雅玉
地理信息世界 2017年3期
关键词:粒子系统雪灾降雪

杜志强,刘雅玉

(1.武汉大学 测绘遥感信息工程国家重点实验室,湖北 武汉 430079;2.地球空间信息技术协同创新中心,湖北 武汉 430079;3.香港中文大学 太空与地球信息科学研究所,香港 999077)

0 引 言

雪灾亦称“白灾”,是指因长时间大量降雪造成大范围积雪成灾的自然现象。它是中国牧区常发生的一种畜牧气象灾害,是影响我国北方草原牧区畜牧业发展的重要因子。过量而长期的降雪会掩埋草场,或是雪面覆冰形成冰壳,造成畜牧草料供应不足,使牲畜面临冻死、饿死的威胁,对我国草原地区农牧业生产的持续、稳定发展造成极其严重的危害。除此之外,在城市冬季发生降雪天气时,会造成交通瘫痪、电讯中断、塌方、树木受损,以及市民摔伤等事故。连续降雪还会引发物资缺乏,城市瘫痪,严重影响人们的正常工作和生活甚至威胁人们的生命安全以及城市的正常发展。2008年1月10日我国南方爆发的特大雪灾,造成21个省(区、市、兵团)不同程度受灾,直接经济损失1000多亿元人民币。及时准确地了解积雪区域和积雪深度的分布情况,是雪灾监测和雪灾危害程度评价的关键,对于抗灾救灾工作意义重大。

目前,研究积雪深度分布和影响,主要是利用遥感资料来进行雪深反演。在光学遥感方面,应用较广的主要是改进型甚高分辨率扫描辐射仪(AVHRR)资料和中分辨率成像光谱仪(MODIS)资料,利用积雪在可见光波段的高反射率和近红外波段的低反射率提取积雪信息,并通过建立回归模型反演积雪面积和深度;在微波遥感方面,微波遥感仪可以穿透云层进行全天候的积雪监测,有效克服了光学遥感区分积雪和云层的难题,并通过提取地表的亮温差,建立雪深反演模型得到积雪深度。但是,这些方法有一些明显不足之处,如:①遥感影像反演的方法难以动态表示积雪信息,难以提供具有真实感的可视化效果并给人身临其境的感觉;②很多提取积雪信息的方法大多采用的经验模型,只适用于特定的区域,通用性弱;③对遥感资料质量的依赖程度高,当遥感资料的空间分辨率较低时,精确度会降低;④微波遥感存在分辨率不高,无法监测浅雪区信息等问题,同时影响地表微波亮温的因素很多,如雪的密度、粒径、雪水含量、植被、冻土等,这些都在一定程度上影响了反演结果的精确度,见表1。

针对上述问题,本文提出了一种基于三维粒子系统计算积雪信息的方法,利用物理引擎中的粒子系统模拟雪灾发生整个过程,通过建立基于三维粒子系统的积雪模型、融雪模型,实现雪灾的模拟仿真与实时绘制,与传统遥感影像反演方法相比具有如下优点:①能动态地表达三维雪灾场景,给人很强的真实感与沉浸感;②采用统计的方式,通用性好,能做到较高的分辨率,并且精度不比传统方法差;③能实时与周围气象条件与地理环境进行交互,更见真实可信。

表1 两种模拟方法的比较Tab.1 Comparison of the two simulation methods

1 粒子系统概述

1983年Reeves提出粒子系统理论并提出用该理论模拟不规则物体,它的基本思想是:用粒子群来描述不规则模糊物体的属性及其变化,每个粒子均具有形状、大小、颜色、透明度、运动速度、运动方向、生命周期等属性,随着时间的推移,系统中不断有新粒子的加入,旧粒子的死亡,系统中“存活”的粒子不断运动并根据所模拟的景物的动力学属性来改变自身的状态。粒子系统建模是一种过程模型,即利用各种计算过程生成模型各个体素的建模技术,它将几何建模和行为建模统一了起来。粒子系统的基本工作步骤如下:

1)粒子的产生并赋予粒子属性。粒子产生包括粒子产生的空间、粒子产生的时间以及数量;粒子的属性决定了粒子的状态,根据模拟对象的不同,粒子的属性可能不完全相同。

2)粒子的运动。根据粒子的动态属性对粒子进行移动和变换,同时更新粒子属性。

3)粒子的消亡。粒子产生后,经过一定的时间间隔,由于其生命周期结束,删除那些已经超过其生命周期的粒子。

4)粒子的渲染。当某一帧的粒子状态全部确定以后,绘制并显示由有生命的粒子组成的图形。

2 基于三维粒子系统的雪灾模拟与实时绘制

粒子系统是迄今为止被认为模拟不规则模糊物体最为成功的一种图形生成算法。利用物理引擎中的粒子系统模拟雪灾发生整个过程,通过将雪灾灾害体的物理属性及几何属性转化为粒子属性,将雪灾灾害环境转化为物理引擎中模拟环境,在物理引擎中真实再现雪灾场景,模拟雪灾发展趋势。通过统计粒子系统反馈回的雪灾粒子的几何位置,建立基于三维粒子系统的积雪模型和融雪模型,计算得到积雪范围和积雪深度。基于三维粒子系统计算的雪灾模拟系统流程图如1所示。

2.1 雪灾灾害建模的设计方法

图1 雪灾模拟系统流程图Fig.1 Process of snowstorm simulation

雪灾灾害的建模主要研究地理认知世界中雪灾的时间和空间概念、时空结合的含义以及所表达的雪灾实体及其时空变化的特征与属性。雪灾灾害体的三维建模内容包括雪灾数据类型及其数据结构的实现、雪灾对象数据操作。雪灾灾害的三维建模是雪灾模拟、评估与仿真的数据基础。

根据雪灾对象的时空特性,雪灾对象的结构分为:几何属性、时间属性、物理属性、行为属性以及一般属性。几何属性用于定义和存储雪灾对象的三维几何信息,包括发生的范围、雪灾范围表面模型;时间属性以双时间机制包括数据库有效时间与降雪放生时刻、降雪结束时刻、积雪持续时间;物理属性记录雪灾非空间几何的属性信息,如雪灾积雪厚度、雪花颗粒等;行为属性是对雪灾发展过程的记录与表达,雪灾行为模型的模拟主要包含对积雪过程与降雪过程的模拟,因此,定义动画格式的解穴与降雪结构记录与存储雪灾模拟过程中降雪与积雪过程;一般属性定义的是人为定义与附属的性质,包括温度场、风场、湿度场、降水量等与雪灾模拟相关的天气信息等。

2.2 基于三维粒子系统的积雪模型

用积雪模型模拟雪灾的主要思路是利用PhysX物理引擎中的粒子系统中的粒子来代表一定的雪量,通过粒子在模拟的灾害环境中的运动,来模拟雪在真实环境中的分布,然后将粒子转换为雪,从而得到积雪深度。具体分为以下7个步骤:

1)在物理引擎中根据真实的灾害环境来初始化降雪环境,包括风、温度、地形、重力等;

2)初始化降雪范围,通过物理引擎中的粒子系统在降雪范围内发射雪粒子,雪粒子受到环境影响而运动;

3)根据环境温度设置雪粒子的生存周期,每一时刻,循环所有在生存周期内中的粒子,判断雪粒子是否触地,若不是,说明雪粒子还未落地,则该粒子暂时不处理;若是,则根据粒子位置判断该粒子所在的格网,将对应格网处数组加一,由此可得雪粒子数量数组;

4)得到雪粒子数量数组后,根据雪粒子所在格网即可得到积雪范围;

5)根据降雪量和降雪面积,计算出总雪量=降雪量×降雪面积,并根据用来模拟的粒子总数,得到平均每个粒子代表的雪量=总雪量/粒子总数;

6)计算出雪粒子数量数组中代表的每个格网中的雪量=每个粒子代表的雪量×一个格网中的粒子数,则每个格网的降雪量=每个格网的雪量/网格面积;

7)计算每个格网中无融化时的积雪深度=每个格网的降雪量×相应的比例系数(6~10,雪量越多,比例系数越小)。查资料可知,一般而言,降雪落地后无融化时,北方地区1 mm降雪可形成的积雪深度有8~10 mm,在南方地区积雪深度有6~8 mm。

2.3 基于三维粒子系统的融雪模型

为了模拟冰川与积雪消融已经发展了多种融雪模型,从简单的单一气温指标的度日模型到基于多个气候因子的统计方法和完全能量平衡模型,从模型建立的基础来看,这些模型大体上可以分为两大类:概念性模型和物理学模型。虽然冰川与积雪消融过程取决于其表面的能量收支状况,但能量平衡模型涉及的模型参数较多,计算过程较为复杂,受观测基础限制,应用受到一定的限制。对于度日模型来说,其优点在于:①气温是模型的主要输入数据要素,相对于其他观测要素,气温的获取较为容易;②气温的空间插值相对较为容易;③模型计算相对简单。基于以上特点,度日模型已广泛应用于冰雪融水径流模拟及冰川动力模型等的研究中。度日模型虽然不能描述冰川与积雪消融的物理过程,但可以获取类似于能量平衡模型的输出结果。因此,本研究选择基于单一气候因子的度日模型作为融雪模型。

度日模型是基于冰雪消融与气温,尤其是冰雪表面的正积温之间的线性关系而建立的,这一概念是由Finsterwalder在阿尔卑斯冰川变化研究中首次引入的。随后,度日模型广泛应用于北欧,阿尔卑斯山,格陵兰冰盖,青藏高原等地区的冰雪消融研究中。综合众多研究,度日模型一般形式为:

式中,M为某时段内冰川或积雪的消融量(mm/d);DDF为冰川或雪的度日因子(mm/℃×d);PDD为某一时段内的正积温,其一般由下式获取:

式中,Tt为某天(t)的日平均气温(℃);Ht为逻辑变量,当Tt≥0℃时,Ht=1.0;当Tt≤0℃时,Ht=0.0。

2.4 雪灾的动态绘制

OpenSceneGraph图形系统是一个基于工业标准OpenGL的软件接口,它提供了强大的场景管理和图形渲染优化的功能。本文基于粒子系统的原理和OSG图形库,模拟真实的动态雪场景,同时实现飘雪与积雪效果。

采用自定义粒子系统模块模拟雪效,创建的对象在设置属性的参数值后与相应的类关联并添加到场景中,在主函数中将自定义粒子系统添加到场景节点中。自定义雪花粒子基本属性见表2。

表2 自定义粒子参数Tab.2 Customized particle parameters

风速和风向是影响飘雪的重要因素,场景中的风速、风向以气象站台的日值数据为标准。对于地面积雪效果,为了减少计算量和绘制量,通过计算得到的每个地面格网的积雪深度对积雪等级进行划分。由于积雪为白色,通过设置不同等级的透明度,对积雪深度进行实时渲染。参考降雪量与雪灾等级、降雪量与积雪深度的关系,对积雪深度与积雪等级进行如下划分见表3。

表3 积雪深度划分Tab.3 Snow depth grading

3 实验与分析

本文以2015年2月23日至25日,青海海西蒙古族藏族自治州雪灾灾害为例进行模拟仿真实验。

青海我国的四大牧区之一,也是受雪灾灾害较严重的地区,其受灾面积广、危害程度大,严重影响着青海省草地畜牧业和国民经济的发展。2015年2月23日至25日,青海海西蒙古族藏族自治州东部地区出现强降雪过程,造成都兰县、乌兰县局部地区发生严重雪灾。都兰地区海拔较高的牧区草场积雪深度最高达30 cm,最低温度零下15℃。降雪导致109国道部分路段积雪冰冻,车辆无法通行,该区域8千余名牧民受灾,2万余头牲畜死亡。根据青海省气象科研所卫星遥感监测显示,此次积雪总面积为18314 km2。雪灾已造成2129户牧民受灾,初步估算,灾害造成牧业直接经济损失956.6万元人民币。

3.1 数据资料

数字高程模型(Digital Elevation Model,DEM),数据来自ASTER GDEM全球数字高程数据产品,空间分辨率为30 m。

气象资料,来自中国气象数据网(http://data.cma.cn/),数据包括青海省都兰站台2015年2月23日至25日气象数据(日平均气温、平均风速、风向、降雪量),以及中国区域逐日降水量的网格产品,空间分辨率为0.25°×0.25°,研究对象为青海省海西蒙古族藏族自治州雪灾灾害。

3.2 实验结果与分析

接入气象数据初始化粒子系统降雪环境,根据中国区域逐日降水量网格产品设置初始降雪范围,设置雪灾模拟时长为10 h,利用粒子系统进行雪灾模拟仿真。同时根据粒子运动状态对空中飘雪和地面积雪进行实时绘制,绘制效果如图2所示。对模拟结果进行输出,得到积雪范围和积雪深度图,分别如图3、图4所示。

图2 雪灾绘制效果图Fig.2 The visual eあect of snow

图3 雪灾模拟范围图Fig.3 The range map of snowstorm simulation

图4 雪灾模拟深度图Fig.4 The depth map of snowstorm simulation

从模拟结果可以看出,该方法能动态表达雪花在空中飞舞及堆积过程,能再现雪灾场景,在实时性与逼真度方面都收到了比较好的效果。同时,根据灾情上报信息,受此次灾情影响的重点地区为青海省海西蒙古族藏族自治州东部地区的都兰县、乌兰县两个县,积雪总面积约为18 314 km2。从模拟结果可以看出,此次雪灾范围主要集中在都兰县与乌兰县的局部地区,与灾情信息保持一致。由于模拟积雪范围由降水范围矢量化得到,分布较规则集中,且模拟积雪面积约21 537km2,略高于实际灾情。

4 结束语

本文提出了一种基于三维粒子系统计算积雪信息并实时动态可视化的方法,通过建立基于三维粒子系统的积雪模型、融雪模型,利用PhysX物理引擎中的粒子系统模拟雪灾发生整个过程,实现雪灾的模拟仿真并对其进行实时绘制。模拟结果表明,该方法能动态表达雪花在空中飞舞及堆积过程,再现三维雪灾场景,在实时性与逼真度方面都收到了比较好的效果。其模拟结果与实际灾情也具有较强的一致性,算法具有可靠性。不过,该算法仍存在一些需要改进的地方,如算法融雪模型中只考虑了单一的气温因素,粒子降雪环境参数以日平均值表示,而实际中这些参数(温度、风速等)是变化的,在后续研究中可以进一步接入更高尺度的气象数据,动态调整参数。同时,如何获取可靠的积雪深度信息用来进行算法验证也是今后的研究需要考虑的问题。

猜你喜欢
粒子系统雪灾降雪
青海海西地区近41年雪灾时空分布特征
利用GPU加速的粒子系统全球流场可视化系统设计与实现
UE 4粒子系统与外部数据通信研究
川西高原东部两次连续强降雪过程对比分析
2016年1月19~21日山南地区南部一次降雪过程分析
历史时期以来山西省雪灾特征与气候变化
近51 a青藏高原雪灾时空分布特征
2000-2010年新疆雪灾时空自相关分析
基于粒子系统的建模与仿真综述
GPU支持下基于粒子系统编辑器的特效技术研究