明确概念
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减少在循环里定义变量
网友评论