【发布时间】:2019-11-02 16:38:57
【问题描述】:
我目前正在使用 Netlogo3d 对一些简单的 boid 进行建模,但我遇到了锥内和半径内函数的问题。
(我正在重新实现 Couzin、Krause、James、Ruxton 和 Franks 的文章“动物群中的集体记忆和空间排序”)
我在我的 boids 周围使用三个不同的区域来定义它的行为: 一种用于排斥,一种用于吸引,一种用于定向。 那三个是围绕身体的球体 Thoses areas look like this 我正在像这样检测那些地区的海龟:
to find-flockmates-repulsion ;; turtle procedure
set flockmatesRepulsion other turtles in-cone (visionRepulsion * scale) fov
end
to find-flockmates-orientation ;; turtle procedure
set flockmatesOrientation other turtles in-cone ((visionOrientation + visionRepulsion) * scale) fov
end
to find-flockmates-attraction ;; turtle procedure a modifier pour enlever les turtles dans le radius visionOrientation
set flockmatesAttraction other turtles in-cone ((visionAttraction + visionOrientation + visionRepulsion) * scale) fov
end
但这三个区域是重叠的,我不希望它们重叠。
有没有办法减少圆锥内和半径内函数的选择,例如:
set flockmatesAttraction other turtles [ (in-cone ((visionAttraction + visionOrientation + visionRepulsion) * scale) fov) and not (in-cone ((visionOrientation + visionRepulsion) * scale) fov) ]
如果可能的话,不要在 2 个列表上使用循环,我正在努力提高我的 boids 效率 谢谢!
(PS : 对不起英文不好)
【问题讨论】: