APP下载

基于GIS的三维虚拟校园人群应急疏散系统研究

2015-03-15吴辉煌

太原城市职业技术学院学报 2015年12期
关键词:控件障碍物动画

吴辉煌

(厦门软件职业技术学院,福建 厦门 361024)

最近几年来校园的突发事件时不时发生,对校园内的师生安全和学校财产都造成了严重的损失。各省市一直在推进校园突发公共事件的应急预案的建立健全。随着计算机科学、虚拟现实、GIS和人工智能等技术的不断发展,重要公共场所的人员疏散可以采用虚拟模拟系统来检验应急预案的可行性,校园虚拟模拟系统可以解决传统实战演练当中无法实景验证人群疏散预案的有效性的问题。

校园的突发事件安全包含有社会安全类、事故灾难类、公共卫生类、自然灾害类、网络信息安全类等公共事件。本文主要是针对一些社会安全类、事故灾难类和自然灾害类中碰到的需要师生紧急疏散的情况进行的虚拟演练。通过多次模拟演练,为学校熟练掌握应急疏散预案内容、提高处理应急响应以及各部门相互协助的能力提供帮助。

一、系统技术框架

本文主要研究的是三维虚拟校园人群紧急疏散,是利用虚拟校园环境中的空间数据进行最短距离分析,模拟发生突发事件之后人群可以快速安全地进行疏散的动画效果。该虚拟人群疏散系统的技术框架如图1。

图1系统的技术框架

二、三维虚拟校园模型创建

三维虚拟校园模型创建的方法有很多,可以使用3DSMAX、MAYA、SKETUP或者VRML虚拟现实等进行创建。我们在创建三维虚拟校园模型的时候,主要是使用3DSMAX软件来创建的。

我们首先使用CAD软件绘制三维虚拟校园的平面图,然后在3DSMAX软件当中导入CAD的平面图,紧接着在3DSMAX当中把二维的平面图转换生成三维的建筑模型。简单的楼房创建,我们主要以长方体和圆柱体来表现,通过长方体或者圆柱体的分段数来控制楼层的数量。楼房的贴图通过拍摄的实物照片我们在PHOTOSHOP里面进行处理,每层楼的单面墙壁处理成单张图片,再把贴图贴在我们模型的单个平面上面。需要模拟室内的楼房,比如教学楼、实训室等,我们则需要对模型进行详细的创建,可利用可编辑多边形对模型的点、边、多边形等进行详细编辑,把教室门、走廊、楼梯等调整出来。

室外的场景我们首先需要在平面图上把道路创建出来,然后制作足球场和篮球场等空旷地域,贴图则直接选用材质贴图进行UVW贴图平铺设置。室外模型还有包括花草树木和石头等。在创建这些模型的时候,我们主要直接使用多个平面来创建,尽量减少模型的面数,贴图使用双面透明贴图表现即可。

在创建虚拟校园模型的时候,我们还需要添加一些特效,比如水、火、烟雾等效果。我们可以在3DSMAX当中创建一些大气装置,大气装置可以用来设置火效果或者烟雾效果,水的效果则主要使用粒子系统来表现。当然,如果需要设置爆炸物效果的时候,我们还可以使用粒子阵列来表现爆炸碎片。

三、虚拟场景的展示与分析

本系统通过3DSMAX三维建模软件创建出虚拟三维校园场景,利用MAPGISK9三维平台的组建来进行二次开发。利用MAPGISK9二次开发之后能实现对虚拟校园进行三维分析,比如进行三维地形的分析与计算,实现三维虚拟校园的漫游动画,并且可以对虚拟校园当中的数据进行综合的可视化以及融合分析查询等等。

在MAPGISK9二次开发之中,我们要用到三维场景控件(MapGISmx_TDEViewCtrlControl)和三维目录树控件(MapGISmx_TDETreeCtrlControl)。把这两个控件添加到我们的窗体当中,进行数据的配置并且保存好目录树,我们在窗体构造函数中添加代码之后就可以运行看到虚拟校园场景了。代码如下:

public Form1()

{

InitializeComponent();

axmx_TDEViewCtrl1.initEnvionment();//初始化三维场景控件

axmx_TDETreeCtrl1.initEnvionment();//初始化三维目录树控件

}

四、最佳疏散路径选择

在虚拟校园模型当中,我们可以模拟创建出突发事件的发生点,比如爆炸点或者着火点。通过最短分析功能原理,我们可以为老师和同学们提供出最佳疏散到篮球场、足球场等空旷场地的线路。最短路径的分析在处理事故抢修、GPS导航、人群疏散等方面的应用非常广泛,现在大多数的GIS平台上面都已经把这个分析功能添加上去了,我们的MAPGIS当中在数据的分析下同样也可以完成最短路径分析了。

在我们的MAPGIS当中,每个节点都有ID、横坐标、纵坐标等属性,比如我们在篮球场、足球场、教学楼等都有定义了节点;边上面都有起点节点、终点节点、长度等等。最短路径进行选择分析就是利用边的长度来进行分析的。最短的路径结果类的定义如下:

public classRoutePlanResult

{

public RoutePlanResult(string[]passedNodes,double value)

{

m_resultNodes=passedNodes;

m_value=value;

}

private string[]m_resultNodes;///最短路径经过的节点

public string[]ResultNodes

{

get{returnm_resultNodes;}

}

privatedoublem_value;///最短路径的值

private double Value

{

get{returnm_value;}为x=,这时候的网格单元到障碍物的最大距离可以表示为:

d的值为2,当个体网格的中心点在障碍物模型中时或者中心点在障碍物模型外面,但是最大距离小于网格边长时,都为重叠。

此外,群体动画当中的个体之间也很容易存在碰撞重叠的情况。为了避免重叠,我们首先计算个体影响因子σi,计算公式为:

r为半径,l为边长;然后我们找寻各个个体最近的单元网格[i,j]并要求中心点的坐标值要小于当前的坐标;最后我们可以求得每个网格单元的个体密度值ρ。

密度映射函数满足连续的个体对所在网格单元贡献值不小于ρ,与邻近网格贡献值不大于ρ。这样我们所创建的群体动画就能减少个体之间、个体与建筑物之间的重叠穿透效果了。

本文是针对校园突发事件而进行的模拟人群紧急疏散研究。文章首先介绍了系统技术框架,紧接着介绍了三维虚拟校园模型的创建方法,然后利用MAPGISK9三维平台进行虚拟校园的展示和分析,最近寻求最短距离路径分析和设计人群疏散动画。本文设置的动画效果还没有涉及到人群中个性化动画行为的产生,毕竟现实当中有些人可能因为个性原因产生不同的行为现象,这也是今后需要进一步加强的。

}}

五、群体防穿透动画

在虚拟校园人群疏散系统中,有包括连续群体和个体化疏散。个体疏散需要计算邻近个体和周围环境的影响,而连续群体需要考虑到各种影响。由于本文是针对突发事件而产生的大规模的人群紧急疏散,关注的重点是群体的流向,因而主要采用的群体动画是连续群体疏散,判断连续群体与障碍物之间是否穿透以及连续群体中的个体之间是否有存在互相穿透事件。

连续群体的疏散需要计算出每个网格单位是否可以通行,要能快速查询出场景当中的各个障碍物,判断障碍物与人群个体是否重叠。具体方法如下:假设障碍物模型在场景中的投影为Γ,个体网格单元的中心点设

[1]金益.基于UDK引擎的校园楼宇虚拟平台的设计与实现[J].价值工程,2014( 31).

[2]肖潇,朱大明,夏蓉.基于三维GIS的校园火灾应急救援决策支持系统研究[J].河南科学,2011(1).

[3]王兆其,毛天露等.人群疏散虚拟现实模拟系统——Guarder[J].计算机研究与发展,2010( 6).

猜你喜欢

控件障碍物动画
Clifford hits the big screen
做个动画给你看
基于.net的用户定义验证控件的应用分析
动画发展史
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
我的动画梦
赶飞机
关于.net控件数组的探讨
基于嵌入式MINIGUI控件子类化技术的深入研究与应用