Gis 大小为Netlogo的海龟

Gis 大小为Netlogo的海龟,gis,netlogo,Gis,Netlogo,我需要创建具有特定尺寸的海龟,并检查重叠。 因为每个定义的海龟都没有扩展,我想也许gis扩展会有用 有一种方法可以把信封和海龟一样的东西联系起来 let gis:envelope-of self (list (xcor - 2 ) (xcor + 2) (ycor - 2) (ycor + 2)) 但我不知道如何用它来画信封和检查重叠 另一种方法是放弃一只海龟有维度的想法,使用 gis:turtle-dataset turtle-set 但我不知道如何用这个来创建多边形:-( 有什么想法吗

我需要创建具有特定尺寸的海龟,并检查重叠。 因为每个定义的海龟都没有扩展,我想也许gis扩展会有用

有一种方法可以把信封和海龟一样的东西联系起来

let gis:envelope-of self (list (xcor - 2 ) (xcor + 2) (ycor - 2) (ycor + 2)) 
但我不知道如何用它来画信封和检查重叠

另一种方法是放弃一只海龟有维度的想法,使用

gis:turtle-dataset turtle-set
但我不知道如何用这个来创建多边形:-(


有什么想法吗?

更新了赛斯的评论,明确了圆圈和其他人的不同方法

如果海龟是圆的,那么如果两只海龟的大小之和<它们之间的距离/2,使用
距离原语
,如赛斯的评论中所述,则存在重叠

但是,如果你有正方形或其他形状,那么你必须用
标题和各种三角函数做一些奇特的事情,并且需要在x和y方向上的位置差异(分别是
xcor
ycor
的差异)。类似这样的事情可以让你开始:

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

最后,我找到了一条简单的出路: 由于我的对象不必移动,我使用相邻的面片来形成所需大小的块。在占用新面片之前,我会检查它是否已被使用,如果已被使用,我会删除所有新占用的面片。
不太通用,但到目前为止它确实适合我。

我从未使用过扩展,但海龟有大小。这是你的意思吗?海龟的形状重要吗?例如,如果它们是圆,检查重叠并不太难。我一直认为大小只是为了显示,但我会检查一下。是的,我知道的形状和大小重要提示:这是一项关于房屋分布的工作的开始,因此我必须将其映射到实际数据。但你是对的,如果形状是圆形,我可以使用半径内原语。不过,我可以创建一个报告器并使用它检查重叠。如果你有一个好的解决方案,请让我参与其中。这是一个有趣的问题
查找距离
与内置的
距离
原语相同-无需自己计算,您只需编写
[distance turt1]turt2的距离实际上更好,因为它了解包装和非包装世界;你的代码只在非包装世界中工作。无论如何,感谢你的记者。现在我不想为此构建记者。我要问编写扩展的人,他们是否能想出s.th.I“我会随时通知你:-)嗯,其中一个贡献者是赛斯组织:-)你认为这可以通过GIS扩展解决吗?