【问题标题】:Limiting the number of turtles spawned in a circle限制在一个圆圈中生成的海龟数量
【发布时间】:2020-05-12 18:19:24
【问题描述】:

这里是 NetLogo 新手。我试图限制在一个圆圈中生成的海龟数量,以便海龟不会相互重叠。到目前为止,我已经尝试了this question 的方法,其中列出了所有补丁,并且每个补丁都会生成海龟,但对于我的圈子来说仍然太多海龟。出于好奇,我试图只在turtle number mod PRIME NUMBER0 时生成,但生成的不仅仅是两只海龟,还有更多!就我而言,补丁本身并不重要,因为我的模型并不是真正的空间模型。 resize-worldset-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

这是它产生的结果:

如何让乌龟分开而不是挤在一起?

【问题讨论】:

    标签: visualization netlogo


    【解决方案1】:

    您的基本问题是每个补丁都会创建一个人(sprout),然后将其放入圈子中。创建海龟代理有三种不同的命令,sprout 是补丁创建海龟的位置,通常用于控制新海龟的位置。由于空间对您没有意义,更好的方法是使用create 命令并简单地指定您想要的数量,增加或减少数字,直到间距满足您的需要。试试这个,然后改变 50 直到你得到你想要的。

    to make-people
      create-people 50
      [ set shape "circle"
      ]
      layout-circle people 15
    end
    

    对于世界的大小——你可以进入界面,使用设置下拉框来设置你想要的尺寸。

    【讨论】:

      猜你喜欢
      • 2021-05-29
      • 2019-05-25
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-04
      • 1970-01-01
      相关资源
      最近更新 更多