NetLogo中in-radius计算不同尺寸智能体距离的规则及size变量咨询
NetLogo海豚-船只碰撞模型问题解答
模型背景设置
- 每个Patch对应现实世界2米
- 海豚(现实约2米):
size = 1(对应1个Patch) - 船只尺寸(仅视觉表现):
- 小型:
size = 2.5 - 中型:
size = 6 - 大型:
size = 14
- 小型:
计划用in-radius实现相遇判定,触发条件:
- 小型船只与海豚:距离≤1个Patch(约2米)
- 中型船只与海豚:距离≤2个Patch(约4米)
- 大型船只与海豚:距离≤4个Patch(约8米)
问题解答
a. in-radius的距离检测逻辑
in-radius完全基于海龟中心之间的直线距离进行检测,和船只视觉上覆盖的Patch数量无关。不管船只size设置多大,NetLogo在计算距离时都只把海龟当作一个无尺寸的点,你设置的相遇判定半径,直接对应船只中心到海豚中心的Patch数距离。
b. size变量对计算的影响
你看到的说法是正确的:NetLogo的size变量仅控制海龟在界面上的视觉显示大小,所有涉及距离计算的命令(比如distance、in-radius)都会把海龟视为零尺寸的点,完全忽略size参数。
内容的提问来源于stack exchange,提问作者Ramya Roopa
相关产品推荐
相关产品推荐

