我试图模拟NetLogo中某个区域内的烟雾扩散但我遇到了一些困难。最初,我创造了具有“云”形状的海龟来模拟烟雾。我希望每个随机间隔“孵化”一个“云”形龟。为了模拟烟雾的扩散,海龟必须在另一只“云”龟旁边孵化。此外,我必须使“云”有点透明,以便能够看到代理是否进入烟雾。非常感谢你!
to create-danger
;; based on a slider, create the number of cloud turtles
create-smoke number-of-dangers
[
;;create smoke only inside a specific area
while[ [pcolor] of patch-here != FLOOR-COLOUR]
[
;;creates random coordinates
rand-xy-co
]
]
end
根据“旁边”的空间大小,有两种不同的方法来扩大烟雾。假设您希望它距离为0.2个空间单位,那么您可以简单地让父云龟做像hatch 1 [set heading random 360 forward 0.2]
这样的事情。紧接在hatch
之后的[]是孩子龟一旦创建就会运行的指令。它将以与其父级相同的标题生成阴影,因此您需要将其随机化,然后将其移动适当的距离。