在Netlogo中大小的海龟

时间:2015-11-06 12:56:14

标签: gis netlogo

我需要创建具有一定尺寸并检查重叠的海龟。 由于每个定义的海龟没有扩展,我想也许gis扩展可能有用。

有一种方法可以将信封与像

这样的乌龟相关联
let gis:envelope-of self (list (xcor - 2 ) (xcor + 2) (ycor - 2) (ycor + 2)) 

但我不知道如何使用它来绘制信封并检查重叠。

另一种方法可能是放弃一只乌龟有尺寸的想法,并使用

从海龟创建一个gis数据集
gis:turtle-dataset turtle-set

但我不知道如何用这个创建一个多边形: - (

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

更新了,以便Seth发表评论,明确圈子和其他人的不同方法。

如果海龟是圆形,那么如果两只海龟的大小总和<1,则存在重叠。它们之间的距离/ 2,使用distance primitive,如Seth的评论。

但是,如果你有正方形或其他形状,那么你将不得不用heading和各种三角函数做一些奇特的东西,并且需要在x和y方向上的位置差异(差异在分别是xcorycor。这样的事情会让你开始:

to-report xdiff [ turt1 turt2 ]
  report [xcor] of turt1 - [xcor] of turt2
end

答案 1 :(得分:0)

最后我采取了一个简单的方法: 由于我的物体不必移动,我使用相邻的补丁来形成所需大小的块。在我占用新的补丁之前,我会检查它是否已被使用,如果是,我会删除所有新占用的补丁。 不太通俗,但它到目前为止我的工作。