一种基于生物学规则的飞虫群模拟方法

文档序号:8528723阅读:150来源:国知局
一种基于生物学规则的飞虫群模拟方法
【技术领域】
[0001] 本发明涉及群组动画技术领域,尤其涉及一种基于生物学规则的飞虫群模拟方 法。
【背景技术】
[0002] 随着三维软件技术的发展及硬件运算能力的提高,群组动画作为一个新兴的技术 领域,越来越受人们关注。在娱乐产业中,群组动画技术可以模拟成千上万的角色,在降低 拍摄成本的同时真实地再现了壮观的场面。
[0003] 群组动画技术在数字娱乐需求的推动下得到了不断发展和完善。群体的运动模拟 能够表现出群组运动的同步性和异质性,但为了表现出群体中的不同个体又需要处理相当 多的参数。为了营造视觉上的逼真效果,运动控制是群组动画模拟中最关键的部分,即如何 定义个体的行为,使得个体保有独立的运动特性和碰撞避免,同时又组成自然的群体运动。
[0004][0005] 昆虫是自然界中种类最多的生物群,在计算机图形学、动画及虚拟现实领域。
[0006] 申请公布号为CN103236072A的专利文献公开了一种基于噪声感知的飞虫群模拟 方法,包括:(1)用户指定噪声控制参数,生成目标噪声场及其旋度场;(2)用户给定空间信 息和网格参数,生成最小耗费场C; (3)用户给定飞虫个数、飞虫群的出生区域以及飞虫的 基础飞行速率s0,使用和C持续获得飞虫个体在每一时刻的速度值,利用这些速度值按帧 更新所有飞虫的最新空间位置,模拟飞虫群。该发明通过利用Perlin噪声生成无散噪声场 来控制飞虫群的噪声行为,和利用最优路径算法生成空间最小耗费场来导航飞虫群的飞行 路径。
[0007] 然而目前利用飞虫模拟的方法种类并不丰富,因此,如何高效并逼真地模拟三维 空间中的飞虫群体是一个重要的研宄课题。

【发明内容】

[0008] 本发明提供了一种基于生物学规则的飞虫群模拟方法,针对每只飞虫个体持续算 出其在群体里受到的作用力,利用该作用力算出个体在每一时刻的期望速度值以及碰撞避 免算法对期望速度值进行校正后得到目标速度值,再利用目标速度值按帧更新所有飞虫的 最新空间位置,实现飞虫群模拟,与真实飞虫的运动轨迹相似度高,具有说服力和真实感。
[0009] 一种基于生物学规则的飞虫群模拟方法,包括如下步骤:
[0010] (1)持续获取每个飞虫个体在飞虫群内受到的相互作用力、摩擦力和固有噪声 力;
[0011] ⑵根据步骤⑴中得到的相互作用力、摩擦力和固有噪声力,计算每个飞虫个体 在每一时刻的期望速度值;
[0012] (3)利用的碰撞避免算法对步骤(2)中计算得到的期望速度值进行校正,得到每 个飞虫个体在每一时刻的目标速度值;
[0013] (4)根据步骤⑷中得到的目标速度值,按帧更新所有飞虫的最新空间位置,模拟 飞虫群。
[0014] 本发明通过将相互作用力、摩擦力和固有噪声力结合,设计可以模拟飞虫群大部 分常见行为的群组算法,从而能够高效并逼真地模拟自然界中飞虫群体的常见行为。
[0015] 飞虫的复眼结构使得它们能够迅速地感知周围环境中障碍物或者其他飞虫个体 对自身的影响,从而在短时间内调整自己的飞行速度方向和速度大小,避免与障碍物或其 他个体产生碰撞,参见参考文献1 ;
[0016] 参考文献 1:STUMM-TEGETHOFFB. ,DICKEA.:Surfacestructureofthe compoundeyeofvariousdrosophilaspeciesandeyemutantsofdrosophila melanogaster.TheoreticalandAppliedGenetics44,6 (1974),262-265.
[0017] 优选的,步骤(1)中,每个飞虫个体在飞虫群内受到的相互作用力的计算公式为:
【主权项】
1. 一种基于生物学规则的飞虫群模拟方法,其特征在于,包括如下步骤: (1) 持续获取每个飞虫个体在飞虫群内受到的相互作用力、摩擦力和固有噪声力; (2) 根据步骤(1)中得到的相互作用力、摩擦力和固有噪声力,计算每个飞虫个体在每 一时刻的期望速度值; (3) 利用的碰撞避免算法对步骤(2)中计算得到的期望速度值进行校正,得到每个飞 虫个体在每一时刻的目标速度值; (4) 根据步骤(4)中得到的目标速度值,按帖更新所有飞虫的最新空间位置,模拟飞虫 群。
2. 如权利要求1所述的基于生物学规则的飞虫群模拟方法,其特征在于,步骤(1)中, 每个飞虫个体在飞虫群内受到的相互作用力的计算公式为:
i,j表示任一不同的飞虫个体; k= {rep,ali,att},下标rep表示排斥作用力,下标dli表示跟随作用力,下标att表 示吸引作用力; Fwm表示飞虫个体i受到的总的相互作用力; Fi,k表示下标k所代表的相互作用力,即k=r巧时表示排斥作用力Fi,rep,k=ali时 表示跟随作用力Fi,aii,k=att时表示吸引作用力Fi,a"; Xk> 0,表示各作用力的权重系数; Nk表示在飞虫个体i影响半径划分的区域内其他临近个体的数目;
其中, rji表示飞虫个体i和飞虫个体j之间的距离;ri、rj表示飞虫个体i、j的位置; 表示飞虫个体i所在位置指向飞虫个体j所在位置的单位向量; Vi、Vj表示飞虫个体i、j的速度; Cyi表示飞虫个体j和飞虫个体i速度向量之差的单位向量; gCr")表示分段函数,当0《rrep时,g(rji) =-1, 当rrep《rrall时,g(rJi) = 0 ; 当拥,g(rw) = 1,其中,rrep表示排斥作用力的作用半径,r,i康示跟 随作用力的作用半径,r。,,表示吸引作用力的作用半径。
3. 如权利要求1或2所述的基于生物学规则的飞虫群模拟方法,其特征在于,步骤(1) 中,获取飞虫个体在飞虫群内受到的摩擦力的计算公式为: Fi,fric=-y|Vi|Vi; 其中, i表示任一飞虫个体; 表示飞虫个体受到的摩擦力; 丫表示摩擦系数; kl表示飞虫个体的速度的大小; Vi表示飞虫个体的速度。
4. 如权利要求3所述的基于生物学规则的飞虫群模拟方法,其特征在于,步骤(1)中, 所述的固有噪声力为白噪声、高斯白噪声、=维化rlin噪声或化rl噪声,获取飞虫个体在 飞虫群内受到的固有噪声力的计算公式为: 白噪声W为S维随机噪声,由S个一维随机噪声Wi,W2,W3组成,计算公式如下: W= ("1,"2,讯3); Wk=Random(- 5k,5k),k= 1, 2, 3 ; 其中,5巧任意实数,Random(-5,5 )函数返回一个取值范围在(-5,5 )之间的随 机数; 高斯白噪声G的计算公式如下:
其中, i表示任一飞虫个体; 入表示强度系数; 胖1、胖2表不两个不同的白噪声; S维化rlin噪声Ph)的计算公式为;
其中, Pi、P2和P3分别表示其中一个维度的化rlin噪声; scale和gain为两个噪声参数;scale用于间接控制噪声的平滑度,gain用于调整噪 声的大小; 化rl噪声CCti)的计算公式如下; 咐)二▽xP(r〇; 其中, V表示对向量的旋度操作。
5. 如权利要求4所述的基于生物学规则的飞虫群模拟方法,其特征在于,步骤(2)中, 期望速度Vi,puf的计算公式为: 古/,pre/' 二 3/ =Fj加t+Fj,pr。+ 其中, i表示任一飞虫个体; 表示期望速度Vi,puf的导数,表示速度的变化率,即加速度; a;表示飞虫个体的加速度; 表示固有噪声力; Fi,pr。表示自驱动力,计算公式为: Fi,pro=Fi,fric+Fi,res; 其中,表示当飞虫个体感知到环境中的危险或者感兴趣的东西时表现出来的反应 作用力。
6.如权利要求1所述的基于生物学规则的飞虫群模拟方法,其特征在于,步骤(3)中, 目标速度Vi,。。,的计算公式为: Vi,act = f E(Vi,町址); 其中, i表示任一飞虫个体; fc表示基于RW)s的碰撞避免算法; Vi,puf表示期望速度。
【专利摘要】本发明公开了一种基于生物学规则的飞虫群模拟方法,其特征在于,包括如下步骤:(1)持续获取每个飞虫个体在飞虫群内受到的相互作用力、摩擦力和固有噪声力;(2)根据相互作用力、摩擦力和固有噪声力,计算每个飞虫个体在每一时刻的期望速度;(3)利用对期望速度进行校正,得到每个飞虫个体在每一时刻的目标速度;(4)按帧更新所有飞虫的最新空间位置,模拟飞虫群。本发明通过采用基于生物学规则的方法来模拟飞虫群,与真实飞虫的运动轨迹十分相似,具有说服力和真实感,可以高效并逼真地模拟自然界中飞虫群体的常见行为。
【IPC分类】G06T13-40
【公开号】CN104851121
【申请号】CN201510221704
【发明人】王欣捷, 任佳萍, 金小刚
【申请人】浙江大学
【公开日】2015年8月19日
【申请日】2015年5月4日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1