基于粒子系统的三维气象符号系统设计与实现

2021-11-14 10:05柳青扬张开硕刘小情黄丽娜
地理空间信息 2021年10期
关键词:粒子系统锋面气象

刘 诚,柳青扬,张开硕,刘小情,黄丽娜

(1.武汉大学资源与环境科学学院,湖北 武汉 430072)

气象指某一区域大气在一定时间内的状态和现象。现阶段,气象主要采用二维形式以平面地图为背景进行符号化表达。随着空间数据分析与显示技术的不断发展,传统的二维地图已经在向三维地图进行转变,符号的载体也应由二维的图形符号扩展为三维甚至多维符号。

对于气象现象的三维表达,国内外已有许多学者开展了相关研究。研究成果主要集中在仿真模拟的理论和技术方面。陶建新[1]在Unity3D平台上利用粒子系统和Kinect设备实现了龙卷风的模拟和实时交互控制;刑峰等[2]基于WebGL技术实现了动态云景的模拟;龚琳等[3]基于粒子系统、变形球模型等实现了三维云模型的建模和绘制;刘伟[4]研究了基于立体图像对云的表面的三维重建技术;范晖[5]基于OpenGL实现了气象雷达降水回波三维图形的构建与处理。然而,他们的工作大都面向气象领域内的应用,强调模拟的逼真性。杨军等[6]利用ArcGIS Explorer二次开发工具和OGC KML建成了三维GIS气象综合业务服务系统;张学全等[7]开发了三维气象GIS平台,但他们的三维气象平台仍以二维气象符号为主,在三维气象符号方面还有很大的改进空间。纵观现有的气象可视化研究成果,一方面针对某一种天气现象,力求直观、形象地表现其动态特性,而天气现象的气象学属性及空间分布特征,则仅是通过仿真模拟的视觉效果间接表达,并没有形成三维符号;另一方面针对气象数据与GIS的结合,使用的三维符号较少且符号设计没有形成系统,多数是简单的三维气象模型,而参照地图符号的设计,三维气象符号不是三维气象模型,而应是视觉形象的抽象体,强调简洁性、逻辑性、抽象化与形象化均衡。因此,如何通过视觉元素显式表示天气的气象学特征并系统地实现其三维符号化,仍然有待探究。

实现顾及气象学特征的三维气象符号化,需要回答两个问题:一是表示哪些气象特征,二是如何通过视觉元素将这些气象特征表示出来。根据影响范围和形成机理的不同,气象特征可分为霜、冻、冰等微观表征,云、雨、雾等为中观表征,气候区、气压带等宏观表征。建立描述气象特征的语义逻辑系统是进行气象符号化表达的基础。另一方面,相比于地物、地质地貌现象等具体形状较为固定、变化较为规律的现象,气象现象具有外形不规则、边缘模糊等特点,因此,设计和实现不确定性现象的符号模型是气象符号化的关键。针对上述问题,本文首先通过对气象特征进行语义逻辑分解,设计气象的符号可视化元素,在此基础上,采用粒子系统技术对边界模糊的气象现象进行三维可视化,探究三维气象符号化表达的技术和方法。

1 三维气象符号设计的基本思路

1.1 气象现象的可视化元素解析

根据符号理论[8],地图符号的设计被分为语义模型设计、图形形式设计和符号生成规则设计三部分。 三者分别对应表达对象语义特征的提取收集、符号基本图形形式系统的设计搭建,以及基本图形形式和语义特征相互对应关系的确定。

本文根据具体制图需求,分别使用按尺度大小分类、按形成机理分类的方法对各种现象进行逻辑分类,如图1所示。气象现象可以按照尺度分为三个大类,而后可以根据有关概念进一步细分,最后形成一个 三级分级体系。

图1 气象现象概念体系

根据图1对气象现象进行语义分解和符素设计,得到基本符号素体系如表1所示。

表1 气象现象的基本符号元素及图形示例

1.2 气象的三维符号化设计

为了形象地表示上述气象现象,本文采用粒子系统对气象符号元素进行设计和制作。粒子系统的基本思想是使用计算机随机生成众多粒子来模拟边缘模糊的现象。因此,利用粒子系统技术可以有效表达三维立体、边界模糊的气象视觉特征。

1)形状设计。气象现象的形状设计方法由表达对象的特点来决定。对于气团、云系等具有大致轮廓的气象现象,常用粒子源的形状来控制粒子系统整体的形状,设置粒子在粒子源内部各处均可产生,并且限制粒子的移动,可模拟出大致形状;对于雨、雪等形状不定的气象现象,则要综合使用粒子的尺寸、最大数量等参数进行表达,比如,可以通过设置不同的尺寸和最大数量来表示雨雪天气的恶劣程度。

以逗点状云系为例,可先制作出逗点状的网格模型作为粒子源,然后使粒子在粒子源内部生成,得到整体轮廓确定,而细节边界模糊的效果。

2)颜色设计。气象符号的颜色设计有两种情况,一种是要模拟气象现象本身的颜色,另一种是为了强调气象现象的某些属性而设定的颜色,例如,为了区分锋面系统中气团的性质,把冷气团设定为蓝色,把暖气团设定为红色。

3)尺寸设计。对于简单建模形成的符号,如气压带,可以直接修改符号的尺寸属性。对于复合粒子系统,则要单独调整每个粒子系统中粒子源和粒子的尺寸。

4)变化速度设计。粒子系统的变化涉及到粒子的颜色、尺寸等多种属性,常用粒子在一个生命周期内的变化表示,在Unity3D中,这种连续性的变化用Gradient变量或Curve变量储存起来,可以通过调整关键点的位置、数量和属性,来控制变化的整体 效果。

Gradient变量通过在生命周期内的不同时间点设置不同色值和透明度,可以实现粒子的颜色渐变,通过控制关键点的个数和位置,可以调整变化的速率。

Curve变量将粒子的属性值看作一条光滑的曲线,用户可以在粒子的生命周期内插入多个控制点,通过调整每个点处的法线方向和位置来调整粒子系统变化的各种细节。

5)运动轨迹设计。在Unity3D中,粒子的运动轨迹可以用多种方式表示。简单的运动,可以直接设置粒子的初始运动方向、速度等参数,还可使用多个Curve变量来表示粒子在一个生命周期内的运动轨迹变化。对于较复杂的运动轨迹,可以在粒子系统中加入风场,让粒子受风力作用发生运动。为实现粒子运动的随机性,还可以为粒子的运动设置噪声,使之能在整体趋势确定的情况下进行一定程度的随机 变化。

2 三维气象符号设计的具体实现

根据前述三维气象符号设计的基本原理和方法,笔者采用Unity3D软件平台制作了三维动态气象符号模型。以锋面系统为例,具体实现过程如图2所示。

图2 锋面系统符号设计流程

第一步,根据对锋面系统这一概念进行语义分析,剖解语义特征。

第二步,从符素库中提取对应的符素,联系符素和语义特征词汇,根据需要进行适当调整。

第三步,根据前面分析得到的语义关系,将符素组合在一起,得到符号原型。最后对符号原型进行整饰,直到符合要求。

下面以锋面系统的符号确定为例,具体阐述由内涵语义关系决定的符素组合的过程。

2.1 剖解语义特征

如表1所述,拆分锋面系统的概念,可以得到如下语义特征:

锋面系统-[气团]+[移动方向]+[锋面]+[锋线]

其中,冷暖气团和整个锋面系统的移动方向是该天气现象的主体,锋面和锋线是依托气团的相互运动而存在的假想概念。锋面位于气团的交界面处,锋线为锋面与地面的交线。

2.2 符素的制作与调整

对符素库中涉及到的符素进行重制和调整,使之更适合要表达的对象。

在Unity3D中用粒子系统创建出气团。将粒子发射器的形状设为半球形,合理调整粒子的大小、形状和生命周期等参数,用红色和蓝色来区分气团的冷暖,用三维箭头模型来表示强势气团的运动趋势,箭头的颜色与强势气团的颜色一致。

锋面和锋线则可以直接使用库中已有符素,在Unity3D中创建面,将已有的符素作为贴图赋给面对象。

2.3 符素组合

根据锋面系统语义特征之间的联系,将对应的符素组合到一起。适当调整符素间的相对位置和角度,得到锋面系统的三维符号,如图3所示。

图3 部分成果展示

这些三维动态气象符号均以粒子系统为主体,部分符号配以箭头等辅助要素。简单的气象现象如积云,本身就可以看作是一个符素;较为复杂的气象现象,如积雨云,可以看作是云层、气流运动、雷电和降雨等的组合。

以冷锋为例,构建三维地形场景,在场景中配置气象符号,如图4所示,该场景配置了冷锋的锋面、锋线、锋的移动方向符号、气流运动方向以及锋面雨符号。为表现冷锋云系纵向的发展,从锋前到锋后依次配置了积雨云和细胞状云系。

图4 场景实例展示

在锋面场景实验中,粒子系统对云、雨、雾等的表达达到了三维符号的基本要求,偏向仿真;锋面、锋线等在场景中可视化效果较好,偏向抽象。各符号的有效配置,能够简洁直观地表现锋面系统的天气现象。实验验证,这一套三维气象符号达到了设计的预期目标。

3 结 语

依据目前对三维气象符号的需求,对气象现象进行逻辑分类,设计一套三维气象符号体系,并通过粒子系统实现气象现象的三维动态符号化表达。该符号体系实现了简洁性、逻辑性、抽象化与形象化均衡的特征,为气象现象的三维表达以及与GIS的结合等问题提供了一种解决办法。需要注意到这一符号体系尚有欠缺,如小尺度集成效果欠佳、面向使用者的交互较少等。这些问题将随着本研究的深入得到逐步的解决。

猜你喜欢
粒子系统锋面气象
气象树
热声耦合燃烧振荡中火焰锋面识别分析
2019年夏季长江口及邻近海域锋面控制下叶绿素a的分布特征及其环境影响因素分析
《内蒙古气象》征稿简则
利用GPU加速的粒子系统全球流场可视化系统设计与实现
基于核心素养的高中地理“问题式教学”——以“锋面气旋”为例
大国气象
美丽的气象奇观
UE 4粒子系统与外部数据通信研究
基于粒子系统的建模与仿真综述