项伯乃夜驰之沛公军,私见张良。——《史记.项羽本纪》
之、往,表示到某处去的意思。
NetLogo里,"setxy x y" 的意思就是到某处去。这里某处不是一个地名,而是一对 x y 坐标。x是横轴坐标,y是纵轴坐标。
例如:
ask turtle 1 [setxy 0 0]
意思是:令一号玳瑁前往坐标 0 0 处。
当然,经常用到的是
crt 10 [setxy random-xcor random-ycor]
新建10个海龟,令海龟前往随机的x y 坐标位置。
random-xcor和random-ycor也是NetLogo里的两个原语(primitive),表示随机x坐标和随机y坐标。由于很常用,就不另作介绍了。
虽然,setxy看起来很容易,但也有几个问题需要注意。
首先,世界本身可以设置为回绕或者不回绕。如果没有勾选回绕,那么意味着世界是不能回绕的,那么所有的海龟就只能setxy到坐标的上下界之间。比如x坐标是[-16,16],那么setxy的x坐标值就不能超过这个范围,比如不能令海龟 setxy 17 random-ycor;同理,y坐标也必须在上下界之间。
其次,如果设置了允许回绕 ,那么当x坐标值超出上下界的时候,它回回绕,例如,x坐标范围是[-16,16],那么x=17=17-16=1;同理,y坐标也可以设置成回绕。
第三,坐标值可以是实数,而不一定是整数。所以让海龟到0.1 0.1这个位置,则意味着它会离开原点“一点点”。