赞
踩
工作原理 :
模拟类鸟群的三大核心规则如下:
1)分离:保持类鸟个体之间的最小距离;
2)列队:让每个类鸟个体指向其局部同伴的平均移动方向;
3)内聚:让每个类鸟个体朝其局部同伴的质量中心移动。
类鸟群模拟也可以添加其他规则,如避开障碍物,或受到打扰时驱散鸟群等...
分析:
对于群体中的所有类鸟个体,做以下几件事:
• 应用三大核心规则;
• 应用所有附加规则;
• 应用所有边界条件。
• 更新类鸟个体的位置和速度。
• 绘制新的位置和速度。
设置功能:
1)鼠标点击左键:添加个体鸟
2)鼠标点击右键:驱散鸟群
3)避障
代码如下:
- import sys, argparse
- import math
- import numpy as np
- import matplotlib.pyplot as plt
- import matplotlib.animation as animation
- from scipy.spatial.distance import squareform, pdist, cdist #计算点之间的距离
- from numpy.linalg import norm
- from matplotlib.colors import ListedColormap
- import matplotlib.patches as patches
-
- width, height = 640, 480 #设置屏幕上模拟窗口的宽度和高度
-
- class Boids:
- def __init__(self, N):
- """ initialize the Boid simulation"""
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreBlack.png)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。