自治智能体转向行为之流场跟随行为算法

这篇博客是学习《代码本色》的笔记,主要探讨自治智能体的流场跟随行为。通过建立流场模型,利用Processing窗口创建一个网格,并用向量表示特定方向。文中使用noise函数生成平滑的3D随机流场,向量随时间演变。用户可按下鼠标改变流场变化,提供了完整的练习代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此篇为学习《代码本色》笔记
自治智能体简介
建立流场模型:
将Processing窗口当作一个网格,每个单元格都有一个向量指向特定方向,这样的模型就是流场。
在这里插入图片描述
使用noise模拟一个较平滑3D随机流场,其中,流场内向量随着时间发生变化。

  void update() {
    float xoff = 0;
    for (int i = 0; i < cols; i++) {
      float yoff = 0;
      for (int j = 0; j < rows; j++) {
        float theta = map(noise(xoff,yoff,zoff),0,1,0,TWO_PI);
        field[i][j] = PVector.fromAngle(theta);
        yoff += 0.1;
      }
      xoff += 0.1;
    }
    // 每帧改变随机
    zoff += 0.01;
  }

按下鼠标,流场变化(通过改变伪随机的种子参数)。

void mousePressed() {
   noiseSeed((int)random(10000));
}

练习完整代码:

// Using this variable to decide whether to draw all the stuff
boolean debug = true;

// Flowfield object
FlowField flowfield;
// An ArrayList of vehicles
ArrayList<Vehicle> vehicles;

void setup() {
  size(640, 360);
  // Make a new flow field wi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值