Processing 特训(Autonomous agents) - 6

明确概念

Autonomous agent: 感知有限环境,做出反应,无领导

PVector2D.heading():2D矢量和X轴的夹角

PVector.random2D():随机生成一个二维向量

angleBetween(v1,v2):return float, 返回两个矢量间的夹角    

PVector.dist(v1, v2): return float, 返回两个矢量间的距离

明确功能

1.小车像指定目标前进

功能设计

类:Vehicle

属性:Velocity, Acceleration

方法:move(),display(), run()

伪代码

setup(){

}

draw(){

    vehicle.run();

}

class Vehicle{

    定义属性

    Vehicle(){}

    定义方法

}

正式代码

见:

Processing/Autonomous_agent at master · JoeyQiang/Processing · GitHub

代码优化

1.距离目的地较远时,全速加速,快接近目的地时,跟距离成反比减速

2.生成方向场,自动导航

3.代码优化

3.1遍历优化,把指定对象分区放到数组中去,生成时就确定

3.2减少数学功能频繁使用,把值存在变量里复用

3.3减少在循环里定义变量

你可能感兴趣的:(Processing 特训(Autonomous agents) - 6)