APP下载

群集运动行为的模型构建与计算机仿真

2013-09-30

关键词:群集作用力方向

邱 磊

(武汉船舶职业技术学院计算机教研室,湖北武汉430050)

自然界中很多种类的动物中都存在着复杂的群集运动行为,典型的例子有鸟群、鱼群、蚁群和蜂群等,以群集运动行为作为研究对象的模型系统是一个由大量自治个体组成的集合,一般通过个体的局部感知作用和相应的反应行为使其整体呈现出复杂的行为.在计算机虚拟世界中对群集运动行为进行模拟,具有较强的理论意义和使用价值[1],群集运动行为的模拟广泛应用于公共安全、游戏动画和影视特效等领域.本文在对群集运动机理分析的基础上,对群集运动行为进行了建模与仿真模拟.

1 群集运动行为研究

如果有一群能够自行其事、自由移动的个体,只需要使每个个体服从于3 个附加的规则[2-3],就可以使由个体组成的集合并像自然界的鱼群和鸟群那样具有群体行为的能力,这3条规则是:1)分离规则:个体应当避免和自己的邻居距离太近、造成碰撞;2)对齐规则:个体应当和自己附近的大多数邻居保持相同的方向和速度;3)聚合规则:个体不能离自己附近的邻居太远(见图1).只要用此3条行为规则,就能让计算机中的虚拟个体模拟现实世界中的群集运动行为.在群集运动过程中,每个个体都要遵守以上3条规则运动,3条规则对改变个体下一时刻运动的方向起作用[4].

图1 群集运动行为3规则示意图

现以某群体为研究对象,将其建模为一个连续的三维空间且含有N个个体,每个个体的速度大小恒为v,设个体i在空间中的位置向量用ci=(x,y,z)来表示.迭代至第t步,个体i的位置向量为ci(t),速度向量为vi(t),速度方向为di(t)(模为1,即di(t)为vi(t)同方向的单位向量).将每一个体的感知范围由里及外依次划分为3个行为区域(如图2所示):1)ZOR(Zone Of Repulsion)表示排斥区域:以个体i为球心,以rr为半径的球,为分离规则的作用区域,在这个区域之内的其他个体对个体i有排斥作用,即个体i希望远离排斥区域内的其他个体;2)ZOO(Zone Of Orientation)表示一致区域:以个体i为中心,处于rr和ro之间的球形区域,为对齐规则的作用区域,在这个区域内的其他个体对个体i总保持一致运动或保持一致运动的趋势;3)ZOA(Zone Of Attraction)表示吸引区域:以个体i为中心,处于ro和ra之间的球形区域,为聚合规则的作用区域,在此区域的其他个体对这个体i有吸引作用,即这个个体希望向它们靠近.ZOO和ZOA 2个球形区域要去除个体i背后的体积,该体积内的邻居是个体i无法感知的,因此称之为盲区[5],若个体的感知视角定义为α,则盲区定义为内角(360-α)°的圆锥体.α=360°的个体则可感知行为区域内任意方向的邻居.

图2 以个体i为球心的感知范围所划分的3个行为区域示意图

在每一步,各个体会评估3个不重叠的行为区域内其他邻居的位置和(或)方向,依据群集运动行为3个规则,该评估信息可用来确定第t步时个体i的速度方向di(t).具体描述如下:

1)每个个体都试图与ZOR区域中的各个邻居维持一个最小距离,假设第t步时,ZOR区域内有nr个邻居,则个体i为避让邻居将其速度方向调整为

式中,j为个体i的邻居且rij(t)=(cj-ci).ZOR可被理解为个体维持自身空间、避免碰撞所对应的行为区域.

2)ZOO区域的宽度Δro=ro-rr且满足rr≤|(cj-ci)|<ro,个体i不断调整自己的方向使之与ZOO区域内的邻居对齐,假设第t步时,ZOO区域中含有no个可感知的邻居,得出

这种方向一致性能使群集运动中个体之间发生碰撞的次数最少.

3)每个个体当与各个邻居距离太远时,都有向各邻居中心靠拢的特性.ZOA区域的宽度Δra=ra-ro且满足ro≤|(cj-ci)|≤ra,假设第t步时,ZOA区域中含有na个可感知的邻居,得出

这种引力表征了动物体具有集群性、避免边缘化的趋向.

将3个行为区域对个体的影响抽象为3种作用力:即排斥力、一致力和吸引力.个体i的速度方向由其受到的作用力决定,一共可以分为3个部分:即由排斥力产生的速度方向dr(t)、由一致力产生的速度方向do(t)和由吸引力产生的速度方向da(t).通过速度方向分量的改变,可以计算出迭代至第t步时个体i总的速度方向

3个行为区域对个体i的作用力因群体不同而有不同的权重,故可以加入作用力权重因子.设排斥区域、一致区域和吸引区域对个体i的作用力权重因子分别为λr,λo,λa,则式(4)可改写为

其中,λr,λo,λa⊆[0,1],且 λr+ λo+ λa=1. 有了速度方向公式之后,此个体的速度可以计算为

此个体的新位置可以由当前位置和速度共同确定

2 计算机仿真

利用Matlab仿真群集运动行为在三维空间内的运动情况,取个体数N=50,设作用力权重因子λr=0.4,λo=0.2,λa=0.4.初始状态个体的位置和速度是随机的、相对分散的,随着迭代步数的增加,个体在各自运动模型的基础上通过个体间的相互作用,逐渐朝着聚合的趋势运动,最终形成了方向一致的群集运动效果.笔者给出的轨迹图很好地反映了这一点,由此证明该模型在模拟动物的群集运动上是有效的.

图3 群集运动行为仿真结果

3 结束语

本文将动物群的信息传递机制体现在吸引力、排斥力和一致力3个方面,通过分析个体间的行为规则,确定了个体的总的速度方向,从而求解出个体位置的迭代方程,并最终构建了能表示动物群集行为的通用模型.该模型只考虑了个体间的相互影响,并未对个体周围的环境因素进行探讨,并且假定了每个个体的运动速率是恒定的,因此,本文所述群集运动行为的模型有待于进一步改进.

[1]李健.群体运动模拟中的控制与计算方法研究[D].北京:中国科学院计算技术研究所,2010.

[2]REYNOLDS C W.Flocks,herds and schools:a distributed behavioral model[J].Computer Graphics,1987,21(4):25 -34.

[3]REYNOLDS C W.Steering behaviors for autonomous characters:proceedings of Game Developers Conference 1999.San Jose,March 15 -19,1999[C].[S.l]:[s.n.].

[4]田宝美.基于Vicsek模型的自驱动集群动力学研究[D].合肥:中国科学技术大学,2009.

[5]COUZINW D I,KRAUSEW J,JAMESZ R,et al.Collective memory and spatial sorting in animal groups[J].Journal of Theoretical Biology,2002,218(1):1-11.

猜你喜欢

群集作用力方向
2022年组稿方向
2021年组稿方向
Cecilia Chiang, pioneer of Chinese cuisine
2021年组稿方向
在vSphere群集中配置EVC
高考中微粒间作用力大小与物质性质的考查
化学键与分子间作用力考点精析
用比较法探究作用力与反作用力的关系
基于自组织结对行为的群集机器人分群控制方法
浅谈ODX与动态群集