【问题标题】:NetLogo: Recording distance a turtle has traveledNetLogo:记录乌龟走过的距离
【发布时间】:2014-03-18 18:41:50
【问题描述】:

我有一个 NetLogo 模型,它需要乌龟记录它从 A 点到 B 点的距离。

重要的是距离由海龟测量,而不是简单地计算两点之间的距离。

我认为像 turtles-own 这样的东西就足以存储它走过的距离?

【问题讨论】:

    标签: netlogo


    【解决方案1】:

    我假设您不想只使用原始点的distance,因为您的乌龟可能没有直线移动?

    无论如何,当然可以使用turtles-own 变量。这是一个完整的例子:

    turtles-own [
      distance-traveled
    ]
    
    to travel
      clear-all
      create-turtles 5
      repeat 100 [
        ask turtles [
          set heading random 360
          let d random 10
          forward d
          set distance-traveled distance-traveled + d
        ]
      ]
      ask turtles [ show distance-traveled ]
    end
    

    假设您使用forward 来移动海龟。如果您使用setxy 移动海龟,则需要将ask turtles 块替换为:

        ask turtles [
          let old-xcor xcor
          let old-ycor ycor
          setxy ... ...
          set distance-traveled distance-traveled + distancexy old-xcor old-ycor 
        ]
    

    【讨论】:

    • 是的,目前距离是一条直线,但我计划稍后添加障碍物,这需要考虑到这一点。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多