限制在一个圆圈内生成的海龟数量
Limiting the number of turtles spawned in a circle
这里是 NetLogo 新手。我试图限制在一个圆圈中生成的海龟数量,这样海龟就不会相互重叠。到目前为止,我已经尝试了 this question 中的方法,其中有一个所有补丁的列表,每个补丁都会生成海龟,但对于我的圈子来说,海龟仍然太多了。出于好奇,我尝试仅在 turtle number mod PRIME NUMBER
为 0
时生成,但生成的不仅仅是两只海龟,还有更多!在我的例子中,补丁本身并不重要,因为我的模型不是真正的空间模型。 resize-world
和 set-patch-size
是为了保持大小一致,因为没有它们,可视化结果非常小,我还没有想出如何重置它。
这是我的最小工作示例:
breed [people person]
to setup
clear-all
make-people
end
to make-people
resize-world 0 30 0 30
set-patch-size 20
ask patches
[
ask people
[
set shape "circle"
]
sprout-people (1)
layout-circle people 15
]
end
这是它产生的结果:
如何让海龟间隔开而不是挤在一起?
你的基本问题是每个补丁都创建一个人 (sprout
),然后将其放入圆圈中。创建海龟代理有3种不同的命令,sprout
是patch创建海龟的地方,通常用来控制新海龟的位置。由于 space 对你没有意义,更好的方法是使用 create
命令并简单地指定你想要的数量,增加或减少数量直到间距满足你的需要。试试这个,然后更改 50 直到你得到你想要的。
to make-people
create-people 50
[ set shape "circle"
]
layout-circle people 15
end
对于世界的大小-您可以进入界面并使用设置下拉框来设置您想要的尺寸。
这里是 NetLogo 新手。我试图限制在一个圆圈中生成的海龟数量,这样海龟就不会相互重叠。到目前为止,我已经尝试了 this question 中的方法,其中有一个所有补丁的列表,每个补丁都会生成海龟,但对于我的圈子来说,海龟仍然太多了。出于好奇,我尝试仅在 turtle number mod PRIME NUMBER
为 0
时生成,但生成的不仅仅是两只海龟,还有更多!在我的例子中,补丁本身并不重要,因为我的模型不是真正的空间模型。 resize-world
和 set-patch-size
是为了保持大小一致,因为没有它们,可视化结果非常小,我还没有想出如何重置它。
这是我的最小工作示例:
breed [people person]
to setup
clear-all
make-people
end
to make-people
resize-world 0 30 0 30
set-patch-size 20
ask patches
[
ask people
[
set shape "circle"
]
sprout-people (1)
layout-circle people 15
]
end
这是它产生的结果:
如何让海龟间隔开而不是挤在一起?
你的基本问题是每个补丁都创建一个人 (sprout
),然后将其放入圆圈中。创建海龟代理有3种不同的命令,sprout
是patch创建海龟的地方,通常用来控制新海龟的位置。由于 space 对你没有意义,更好的方法是使用 create
命令并简单地指定你想要的数量,增加或减少数量直到间距满足你的需要。试试这个,然后更改 50 直到你得到你想要的。
to make-people
create-people 50
[ set shape "circle"
]
layout-circle people 15
end
对于世界的大小-您可以进入界面并使用设置下拉框来设置您想要的尺寸。