美文网首页
[ABM·006]NetLogo词典之turtles

[ABM·006]NetLogo词典之turtles

作者: GIT叙事者 | 来源:发表于2024-07-05 10:02 被阅读0次
    create-turtles 100
    

    这一句命令是频繁出现的,其中“turtles”这个词的直译是“海龟集”。

    NetLogo源自LOGO语言。Logo 是由麻省理工大学(MIT)的 Wally Feurzeig、Seymour Papert 和 Cynthia Solomon 于 1967 年设计的一种编程语言。"LOGO"不是首字母缩略词:该名称是 Feurzeig 在 Bolt、Beranek 和 Newman 工作时创造的,源自希腊语logo,意思是单词或思想。该语言是LISP语言的一个面向儿童编程的分支。

    所以,其核心词汇之一,叫做海龟(turtle)也就不足为奇了,毕竟面向儿童,生动有趣是必须的。

    LOGO语言的海龟标识 MIT的2024暑期活动的标识

    LOGO语言让孩子们可以通过在屏幕上移动一只海龟来绘制图形,如多边形、花朵、蜘蛛网或其它许多有趣的形状。这些图形又被称为海归图案(turtle graph)。比如,用下面的6行命令,让海龟连续6次向前走300步,然后右转60°,海龟走出的轨迹就形成一个正六边形。

    FORWARD 300 RIGHT 60 ##让海龟向前走300步,然后右转60°,下同
    FORWARD 300 RIGHT 60
    FORWARD 300 RIGHT 60
    FORWARD 300 RIGHT 60
    FORWARD 300 RIGHT 60
    FORWARD 300 RIGHT 60
    

    在NetLogo里,turtle是可以移动的个体,turtles是其复数形式,指代的是个体的集合,所以叫做海龟集。

    以下是turtle的一些关键特性:

    (1)用户创建:用户可以在模拟中创建turtles,定义它们的属性和行为。
    (2)可移动:turtles可以在模拟环境中改变位置,这是它们与"patches"(地块)的主要区别,后者是固定在特定坐标上的。
    (3)任意坐标定位:turtles可以在模拟视图的任何坐标上放置,这些坐标通常是二维的。
    (4)属性和行为**:海龟可以拥有各种属性,如颜色、形状、大小、方向以及速度等,并且可以通过编写代码来定义它们的行为,例如移动、加速、减速、与其他海龟或环境互动等。
    (5)按创建顺序标识:每个turtle在创建时会被分配一个唯一的标识符,通常是按照它们被创建的顺序编号的,例如"turtle 0"表示第一个创建的海龟。
    (6)在地块之上显示:在NetLogo的世界中,turtle默认显示在地块的上方,这使得它们在视觉上更容易被观察和区分。

    下面的代码,是将turtle的形状设定为轿车的外型,以表示是在模拟车辆。

    crt 100 [ set shape "car"   #将turtles的外形设置为轿车的形状,crt是create-turtles的简写
      setxy random-xcor random-ycor #将每辆车的位置设置为随机位置。
    ]
    
    crt了100辆随机位置和随机颜色的轿车

    相关文章

      网友评论

          本文标题:[ABM·006]NetLogo词典之turtles

          本文链接:https://www.haomeiwen.com/subject/vhmwcjtx.html