Netlogo 如何创建它们之间不重叠的群集修补程序

Netlogo 如何创建它们之间不重叠的群集修补程序,netlogo,Netlogo,我想通过控制集群的大小和集群的数量来创建栖息地集群(例如,海洋主题中的森林斑块)?例如,我使用了“工厂迁移”代码: 创建林 森林斑块数量的ask n [ 将颜色设置为绿色 ] 使用[pcolor=绿色]询问修补程序 [ 让自己 让b max列出1轮(随机正常平均森林面积(平均森林面积*系数森林面积)) 使用[distance a询问补丁,以下是一些示例代码: to make-cluster loop [ let cluster [patches in-radius (2 + rand

我想通过控制集群的大小和集群的数量来创建栖息地集群(例如,海洋主题中的森林斑块)?例如,我使用了“工厂迁移”代码:

创建林
森林斑块数量的ask n
[
将颜色设置为绿色
]
使用[pcolor=绿色]询问修补程序
[
让自己
让b max列出1轮(随机正常平均森林面积(平均森林面积*系数森林面积))

使用[distance a询问补丁,以下是一些示例代码:

to make-cluster
  loop [
    let cluster [patches in-radius (2 + random-float 2)] of one-of patches
    if all? (patch-set [neighbors] of cluster) [pcolor = black] [
       ask cluster [ set pcolor green ]
       stop
    ]
  ]
end
如果我这样运行它:

clear-all repeat 15 [ make-cluster ]
我明白了:


请注意,所有簇都不会接触或重叠。

在较大的空间范围内使用此代码(例如1000 x 1000个面片),为什么所有的绿色面片都是圆形的?谢谢你的帮助。不知道你的意思。世界大小有什么不同?我使用的面片大小=1像素。可能这个大小太小,无法很好地感知面片形状的变化。即使我修改参数“2+随机浮动2”在代码中,绿色补丁看起来像圆形。是否可以增加“剪切”值为了获得在大空间尺度上可见的不同面片形状,面片?非常感谢您的帮助嗯…仍然不理解。圆不正是您所期望的半径
产生的吗?也许可以问一个新问题,用图像显示您得到的以及您希望它看起来像什么?是p吗可能有如图所示的绿色补丁群集,具有相同的区域(即群集中的相同补丁编号)?非常感谢您的帮助。
clear-all repeat 15 [ make-cluster ]