我需要创建具有特定尺寸的海龟并检查是否重叠。
由于每个定义的海龟都没有扩展名,因此我认为gis扩展名可能有用。

有一种将信封与乌龟关联的方法

let gis:envelope-of self (list (xcor - 2 ) (xcor + 2) (ycor - 2) (ycor + 2))

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

另一种方法可能是放弃一只乌龟具有尺寸的想法,并通过使用以下方法从乌龟创建gis数据集
gis:turtle-dataset turtle-set

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

有任何想法吗?

最佳答案

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

如果海龟是圆形的,那么如果两只海龟的大小之和distance primitive表示重叠。

但是,如果您具有正方形或其他形状,则必须使用heading和各种三角函数来做一些花哨的东西,并且需要x和y方向上的位置不同(分别是xcorycor的差异。这将使您入门:

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

关于gis - Netlogo中大小的海龟,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33567311/

10-10 14:54