我需要创建具有一定尺寸并检查重叠的海龟。 由于每个定义的海龟没有扩展,我想也许gis扩展可能有用。
有一种方法可以将信封与像
这样的乌龟相关联let gis:envelope-of self (list (xcor - 2 ) (xcor + 2) (ycor - 2) (ycor + 2))
但我不知道如何使用它来绘制信封并检查重叠。
另一种方法可能是放弃一只乌龟有尺寸的想法,并使用
从海龟创建一个gis数据集gis:turtle-dataset turtle-set
但我不知道如何用这个创建一个多边形: - (
有什么想法吗?
答案 0 :(得分:0)
更新了,以便Seth发表评论,明确圈子和其他人的不同方法。
如果海龟是圆形,那么如果两只海龟的大小总和<1,则存在重叠。它们之间的距离/ 2,使用distance primitive
,如Seth的评论。
但是,如果你有正方形或其他形状,那么你将不得不用heading
和各种三角函数做一些奇特的东西,并且需要在x和y方向上的位置差异(差异在分别是xcor
和ycor
。这样的事情会让你开始:
to-report xdiff [ turt1 turt2 ]
report [xcor] of turt1 - [xcor] of turt2
end
答案 1 :(得分:0)
最后我采取了一个简单的方法: 由于我的物体不必移动,我使用相邻的补丁来形成所需大小的块。在我占用新的补丁之前,我会检查它是否已被使用,如果是,我会删除所有新占用的补丁。 不太通俗,但它到目前为止我的工作。