算法请教,如何用boid 算法模拟生物群体的移动。

曹建峰-17年老猿 2005-12-02 02:58:18
boid
在这个模型中,每个个体的行为只和它周围邻近个体的行为有关,每个个体只需遵循以下3条规则:

避免碰撞(Collision Avoidance): 避免和邻近的个体相碰撞。

速度一致(Velocity Matching): 和邻近的个体的平均速度保持一致。

向中心聚集(Flock Centering): 向邻近个体的平均位置移动。

最好有代码,没有的话有公式和伪码也好。
还有如何避免遇到障碍物
...全文
314 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
本问题已经结贴了如果您有什么好的想法,欢迎到发表http://community.csdn.net/Expert/topic/4449/4449091.xml?temp=.4743006
这里仍然是100分
  • 打赏
  • 举报
回复
to alphapaopao(炮炮)
太崇拜你了,你的方法很棒
alphapaopao 2005-12-10
  • 打赏
  • 举报
回复
http://www.alphasun.org/alphasun/techarticle/cullpoints/cullpoints.htm 这个算法可以高效的帮你找出邻近的个体
  • 打赏
  • 举报
回复
有人做过吗,给指导一下吧,辛苦了!
lisypro 2005-12-05
  • 打赏
  • 举报
回复
不会,帮你顶一下
  • 打赏
  • 举报
回复
希望各位大侠指一条明路,我现在发愁的就是算法的效率,
这是我想的办法,很明显效率不高。
首先每个bird之间都要检测一距离。
然后从所有鸟中找出在自己视野中的几个。
A在这几只鸟中找出离自己最近的,然后避免和它相撞。
B计算这几只鸟的平均速度然后向这个方向移动。
C计算这几只鸟的平均位置然后向这个位置移动。
D检查视野中的障碍物然后避免与绕过障碍。
对ABCD的效果进行叠加
对群体里面的没只鸟都要做上述的检测。
如何避免这样庞大的计算???渴望高人的指教
菜牛 2005-12-02
  • 打赏
  • 举报
回复
代码应该不难,不过没接触过这种算法。
thisisll 2005-12-02
  • 打赏
  • 举报
回复
还是自己写有乐趣~~

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧