当前位置:   article > 正文

类鸟群Boids——仿真鸟群 (python实现添加个体、驱散、避障等)_boids 算法 python

boids 算法 python

工作原理 :
       模拟类鸟群的三大核心规则如下:
       1)分离:保持类鸟个体之间的最小距离;
       2)列队:让每个类鸟个体指向其局部同伴的平均移动方向;
       3)内聚:让每个类鸟个体朝其局部同伴的质量中心移动。
类鸟群模拟也可以添加其他规则,如避开障碍物,或受到打扰时驱散鸟群等...

分析:
    对于群体中的所有类鸟个体,做以下几件事:
    • 应用三大核心规则;
    • 应用所有附加规则;
    • 应用所有边界条件。
    • 更新类鸟个体的位置和速度。
    • 绘制新的位置和速度。

设置功能:

  1)鼠标点击左键:添加个体鸟

  2)鼠标点击右键:驱散鸟群

  3)避障

代码如下:

  1. import sys, argparse
  2. import math
  3. import numpy as np
  4. import matplotlib.pyplot as plt
  5. import matplotlib.animation as animation
  6. from scipy.spatial.distance import squareform, pdist, cdist #计算点之间的距离
  7. from numpy.linalg import norm
  8. from matplotlib.colors import ListedColormap
  9. import matplotlib.patches as patches
  10. width, height = 640, 480 #设置屏幕上模拟窗口的宽度和高度
  11. class Boids:
  12. def __init__(self, N):
  13. """ initialize the Boid simulation"""
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/875368
推荐阅读
相关标签
  

闽ICP备14008679号