Boids 鸟群算法
分离 (Separation) - “避免与同伴碰撞” 目标:防止Boids挤成一团,保持个体间的安全距离。 行为:Boid会检查离它太近的同伴。对于每一个过近的同伴,它都会产生一个远离该同伴的排斥力。所有排斥力相加,就是最终的分离力。 通俗理解:你在地铁里,虽然要跟着人群走,但你肯定不希望和别人脸贴脸,所以你会主动挪动,保持一点“个人空间”。
对齐 (Alignment) - “与同伴的飞行方向保持一致” 目标:让整个群体的行动方向趋于统一,形成平滑的流动。 行为:Boid会计算它视野范围内所有同伴的平均飞行方向(平均速度矢量),然后调整自己的方向来匹配这个平均方向。 通俗理解:阅兵方队里,你会观察旁边战友的步伐和朝向,并调整自己,以确保整个队伍整齐划一。
聚合 (Cohesion) - “向群体的中心靠拢” 目标:保持群体的聚集,避免个体掉队。 行为:Boid 会计算它视野范围内的所有同伴的平均位置(也就是质心),然后产生一个朝向这个平均位置的驱动力。 通俗理解:就像你在一个热闹的集市里和朋友们一起走,为了不走散,你会下意识地朝着朋友们的中心位置移动。