我需要创建具有特定尺寸的海龟并检查是否重叠。
由于每个定义的海龟都没有扩展名,因此我认为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方向上的位置不同(分别是xcor
和ycor
的差异。这将使您入门:
to-report xdiff [ turt1 turt2 ]
report [xcor] of turt1 - [xcor] of turt2
end
关于gis - Netlogo中大小的海龟,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33567311/