I'm currently modeling some simple boids using Netlogo3d and i'm having an issue with the in-cone and in-radius functions.
(I'm re-implementing the article 'Collective Memory and Spatial Sorting in Animal Groups' from Couzin, Krause, James, Ruxton and Franks)
i use three different area around my boids to define its behaviour : One for repulsion, one for attraction and one for orientation. Thoses three are sphere around the boid Thoses areas look like this I'm detecting turtles in thoses area 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
But those three areas are overlapping and i don't want them to overlap.
Is there a way to reduce the selection of the in-cone and in-radius function like :
set flockmatesAttraction other turtles [ (in-cone ((visionAttraction + visionOrientation + visionRepulsion) * scale) fov) and not (in-cone ((visionOrientation + visionRepulsion) * scale) fov) ]
And if possible not with a loop on 2 lists, I'm trying to make my boids efficient Thank you!
(PS : Sorry for the broken english)