我希望在顶部的乌龟上画一个箭头,表示由
表示的矢量[x1,y1] 。矢量具有单位幅度,箭头的大小不应超过乌龟的大小。 矢量存储在具有两个元素的列表中。
我不希望使用netlogo中的形状编辑器来形成箭头,然后将乌龟指向矢量所表示的标题。原因是我可以为每只乌龟画一个而不是1个箭头。
修改
期望:
布莱恩的答案给出了以下内容:
编辑2:
视频链接:https://www.youtube.com/watch?v=9SVcLg4Oyoc&t=23以获得更好的解释。
答案 0 :(得分:4)
我是这样做的:
确保你的海龟都是一个品种,比如particles
,或者它们所代表的任何品种。创建另一个名为vectors
或其他东西的海龟品种。这些海龟将成为你的向量的尖端,但你将使用链接实际可视化向量。现在,您可以像这样创建向量:
ask particles [
hatch-vectors 1 [
create-link-from myself
hide-turtle
]
]
要更新向量的位置(假设向量本身存储在海龟变量vec
中),您可以这样做:
ask particles [
let abs-x xcor + first vec
let abs-y ycor + last vec
;; Since the particle is linked to the vector by a directed link, it's an out-link-neighbor
ask out-link-neighbors [ setxy abs-x abs-y ]
]
编辑以响应更新:
这更难,因为链接形状编辑比龟形编辑更有限。一种可能性是将矢量龟的形状设置为箭头(您可以创建一个新的这样的形状,或者默认的龟形状就足够了)。而不是隐藏vectors
,而是将它们指向正确的方向。这可以通过让他们面对他们的链接伙伴然后转身来轻松完成。
您可能还希望从定向链接切换到无向链接以摆脱链接本身中的箭头。这应该只涉及较小的代码更改。