У меня есть агенты, перемещающиеся по ландшафту с различными ресурсами. Скажем, мой агент начинает в центре, а затем движется вокруг ландшафта по изогнутой линии. Я хотел бы каким-то образом сделать набор патчей или другую группу ВСЕХ патчей, которые охватывают область внутри патчей, через которую перемещался агент, имитируя расчет домашнего диапазона. Я не смог концептуально подумать о том, как это сделать, поэтому у меня нет кода для демонстрации, но любая помощь очень ценится.
1 ответ
Самый эффективный способ, вероятно, просто отслеживать минимальные/максимальные координаты участков, посещаемых черепахами. Вот упрощенный пример:
turtles-own [ min-x max-x min-y max-y ]
to setup
clear-all
create-turtles 1
reset-ticks
end
to go
ask patches [ set pcolor black ]
ask turtles [
rt random 30 lt random 30 fd 1 ; move randomly
update-min-max
ask home-range [ set pcolor [ color ] of myself - 2 ]
]
tick
end
to update-min-max ; turtle command
set min-x min (list min-x pxcor)
set min-y min (list min-y pycor)
set max-x max (list max-x pxcor)
set max-y max (list max-y pycor)
end
to-report home-range ; turtle reporter
report patches with [
pxcor >= [ min-x ] of myself and
pxcor <= [ max-x ] of myself and
pycor >= [ min-y ] of myself and
pycor <= [ max-y ] of myself
]
end
Это предполагает, что мир не обертывается.
Похожие вопросы
Новые вопросы
netlogo
NetLogo - это агентский язык программирования и интегрированная среда моделирования. NetLogo - это бесплатное программное обеспечение с открытым исходным кодом под лицензией GPL. Коммерческие лицензии также доступны. Он написан на Scala и Java и работает на виртуальной машине Java.