车辆和转向

书名:代码本色:用编程模拟自然系统
作者:Daniel Shiffman
译者:周晗彬
ISBN:978-7-115-36947-5
第6章目录

6.2 车辆和转向

1、代码实现自治智能体

  • 我们可以从各种方向开始,比如蚂蚁和蚁群的模拟,这是自治智能体最好的演示。然而,我们打算在前5章的知识基础上学习自治智能体的模拟,前面探讨了用向量模拟运动和用力驱动运动的方法。我们曾经把Mover类改造成Particle类,现在要把它重命名为Vehicle类。
class Vehicle {
    PVector location;
    PVector velocity;
    PVector acceleration;
    //我们还需添加什么呢
  • 我们打算使用这个术语 “小车”(vehicle)描述自治智能体,
  • 小车模型表现出了各种行为,这些行为包括恐惧、侵略、喜爱、远见和乐观

2、小车模型的运动方式

  • Reynolds从动作选择、转向、驱动机构3个层面描述了理想小车模型的运动方式(由于我们不考虑小车模型的内部实现,只设想它的行为规则,因此称为理想模型)。

1)动作选择

  • 小车模型拥有一个(或多个)目的,它根据这些目的选择一个(或一系
    列)动作。
  • 自治智能体模型能够很好地进行这个层面模拟。
    比如,小车在观察周围的环境,然后发现:“我看见一大波僵尸正在靠近,我不想让它们吃掉我的脑袋,必须想办法躲开它们。”
  • 本例的目标就是“保住自己的脑袋”,动作就是“躲开僵尸”。
  • Reynolds的论文描述了各种目的和相关行为,包括:寻找目标、避开障碍和跟随路径。
  • 后面我们将用Processing实现这些行为。

2)转向

  • 一旦动作被确定,小车就开始计算下一步动作。
  • 在我们的程序中,下一步动作就是施加一个力,准确地说,这是一个转向力。
  • Reynolds提出了转向力计算公式:
    转向力 = 所需速度 - 当前速度。
  • 在下一节中,我们将会深入探讨这个公式,分析它为何适用于此类场景。

3)驱动机构

  • 在大部分情况下,我们可以忽略第三个层面。
  • 在躲避僵尸的例子中,驱动力可以描述为“以最大的速度向左,向右,再向左,再向右”。
  • 在Processing世界中,矩形、圆圈或三角形并没有驱动机构,因为它们都是假想出来的。但你并不能完全忽略这个层面。
  • 为小车设计驱动效果和动画也是有实践意义的。
  • 本章示例程序的视觉效果非常简陋,你可以在练习中加入动画效果——为小车加上滚动的轮子、摆动的船桨或行走的双腿。

3、总结

  • 我们最应该关心的是第一个层面,也就是动作选择。
  • 你需要知道系统是由什么元素组成的,这些元素有什么目的。
  • 本章涉及一系列转向行为:寻觅、逃跑、跟随路径、跟随流场、群集等。
  • 学习这些行为的主要目的并不是在项目中使用它们,而是为了掌握建模方法。我们完全可以实现更多有创意的新行为。
  • 尽管本章从像素的角度思考问题,但我们的思维不能局限在像素上,我们应该像Braitenberg一样抽象地思考问题。
  • 示例程序可能只涉及一种行为,比如第一个例子讲解的只是“目标寻找”行为,但我们可以尝试着在同一个模型中添加各种行为。因此,你不能孤立地对待这些示例程序,而应该尝试着把它们装配在一起。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,039评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,426评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,417评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,868评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,892评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,692评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,416评论 3 419
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,326评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,782评论 1 316
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,957评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,102评论 1 350
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,790评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,442评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,996评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,113评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,332评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,044评论 2 355

推荐阅读更多精彩内容