用iain-couzin等人的模型模拟鱼群行为。

couzinswarm的Python项目详细描述


Iain Couzin et al.模型模拟鱼群行为 小心使用,因为我似乎无法复制某些行为(例如 环面蜂拥而至)。

示例

fromcouzinswarmimportSwarmswarm=Swarm()r,v=swarm.simulate(1000)

安装

pip install couzinswarm

详细示例

importnumpyasnpimportmatplotlib.pyplotasplfrommpl_toolkits.mplot3dimportAxes3DfromcouzinswarmimportSwarm# note: the dimension of space is measure in fish length,# such that r = 1 means a length of one fishswarm=Swarm(number_of_fish=20,repulsion_radius=1,orientation_width=10,attraction_width=10,# this angle is given in radians# up to np.pi (not 360 degrees as in# the paper)angle_of_perception=np.pi,# radians per unit of timeturning_rate=0.1,# fish lengths per unit of timespeed=0.1,# in units of fish lengthnoise_sigma=0.1,dt=0.1,# geometry of boxbox_lengths=[100,100,100],# boundary conditionsreflect_at_boundary=[True,True,True],verbose=False,)fig=pl.figure()ax=fig.add_subplot(111,projection='3d')N_t=1000t=np.arange(N_t+1)# Note that r.shape = v.shape = ( N_fish, N_t+1, 3 )positions,directions=swarm.simulate(N_t)r,v=positions,directionsforiinrange(swarm.number_of_fish):ax.plot(r[i,:,0],r[i,:,1],r[i,:,2])pl.show()

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java中的安卓字节[]操作   java如何使用SeleniumWebDriver自动弹出对话框窗口   运行单黄瓜JVM的java。来自Gradle的功能文件   在Java中使用JTA连接到SSH   eclipse为什么在从SVN签出Ant版本1.3时,Ant java项目本身有很多错误?   java如何获取撇号之间的字符串   java锁在单个线程上作为布尔信号量工作吗?   bluej我可以使用什么代码清除屏幕(java)?   java在单击JButton时更改JPanel图标   java将逗号分隔的字符串转换为不带中间容器的列表   java Flink:以集群模式加载资源文件   java删除多对多条目,同时将两个对象都保留在数据库中   将数组值向左移动