我有2到10只海龟想起回家路线。每个刻度线将海龟的坐标保存到列表路径中。
to path-tracker
let x xcor ;; gets the current coordinates
let y ycor
facexy x y
setxy x y
set path lput (list x y) path ;; adds the coordinate pair (x,y) to the end of the path
end
当海龟全部到达目标时,程序停止并返回到它们开始的地方。现在另一个程序开始了,它们不应该遵循自己的路径,而应该遵循所有路径的平均路径。
那么如何计算所有海龟自己的清单的平均清单呢?
答案 0 :(得分:2)
这是一个非常简单的解决方案,它创建一个大小路径长度列表,其中第th个元素是第th个元素的所有乌龟第0个项目(xcordinate)的平均值的列表(坐标) (坐标)和第?元素(坐标)的所有海龟的第1项(ycoordinate)的平均值:
let path-length (length [path] of one-of turtles)
let average n-values path-length [
(list (mean [(item 0 (item ? path)) ] of turtles)
(mean [(item 1 (item ? path)) ] of turtles))]
如果您不喜欢它如此浓缩,您可以使用以下内容来完成相同的结果。
let average-path (list)
foreach (n-values path-length [?])
[
let meanx (mean [(item 0 (item ? path)]] of turtles)
let meany (mean [(item 1 (item ? path)]] of turtles)
set average-path lput (list meanx meany) average-path
]