首页 文章

将NetLogo世界划分为几个随机部分

提问于
浏览
1

我试图在NetLogo世界上创建许多代理组 . 我希望每个小组都位于一个没有重叠的特定区域 . 我可以想到,实现这一目标的简单方法可能是将世界分为几个部分 . 每个部分都包含许多补丁(比如100个随机10,我可以设置),并用独特的颜色着色 . 然后让新创建的海龟移动到不同颜色的补丁 . 请问有人告诉我如何实现这一目标或给出任何建议吗?提前致谢 .

1 回答

  • 1

    一种策略是发展不同的地区 . 例如:

    to grow-regions [ num-regions ]
      let region-num 0
      ask n-of num-regions patches [
        set pcolor item region-num base-colors
        set region-num region-num + 1
      ]
      while [ any? patches with [ pcolor = black ] ] [
        ask patches with [ pcolor != black ] [
          ask neighbors with [ pcolor = black ] [ set pcolor [ pcolor ] of myself ]
        ]
      ]
    end
    

    请注意,这最多可以绘制14个不同的区域(因为这是基色的数量) .

    这导致像这样的区域:

    Regions

    编辑:误读您的评论 . 显然,这不会让你控制区域的大小,但平均大小将是 count patches / num-regions .

相关问题