【发布时间】:2020-03-11 16:02:49
【问题描述】:
我正在做一个较小的项目,但遇到了一个问题,我不确定是否可以在 NetLogo 中解决它,但我想试试 StackOverflow!
我有一个模型,它将世界划分为不同的部分,并随机添加物理特征(例如河流)。如果一个特征穿过整个区域,我希望它把区域分开并分成两个区域。例如,在下图中,我想根据物理特征(黑色)将紫色区域分成两个独特的区域。
我用来生成上面图片的代码,可以在下面找到。
to setup
ca
;Setting world.
resize-world 0 19 0 19
;Creating regions.
let x 5
let y 5
let col 45
while [y <= max-pycor + 1][
while [x <= max-pxcor + 1 ][
ask patches with [pxcor < x and pxcor >= x - 5 and pycor < y and pycor >= y - 5][
set pcolor col
]
set x x + 5
set col col + 10
]
set x 5
set y y + 5
]
;Generating physical features.
ask n-of 5 patches[ sprout 1[
set pcolor black]
]
let i 0
while [ i < (max-pycor * 2 )][
ask turtles [
fd 1
set pcolor black
ifelse (random 20 <= 1)
[
rt one-of [-90 0 90]
forward 1
]
[
fd 1
set pcolor black
fd 1
set pcolor black
]
set pcolor black
set i i + 1]
]
ask turtles [die]
end
【问题讨论】:
标签: netlogo divide agent-based-modeling