📜  处理中的创意编程|设置 1(随机游走器)(1)

📅  最后修改于: 2023-12-03 14:51:38.792000             🧑  作者: Mango

处理中的创意编程|设置 1(随机游走器)

在这个设置中,我们将创建一个随机游走器,使其在屏幕上随机移动。我们将使用 Processing 编写程序。

整体思路
  1. 创建一个屏幕。
  2. 在屏幕上创建一个点作为游走器的起始位置。
  3. 让游走器以随机的方向行走,不断更新位置。
  4. 当游走器接近屏幕边缘时,将其反弹回来。
具体实现

首先,在 setup() 函数中创建一个黑色背景的屏幕:

void setup() {
  size(500, 500);
  background(0);
}

然后,在 draw() 函数中设置游走器的行走规则:

  1. 在当前位置绘制一个白色的点。
  2. 随机生成一个方向,根据该方向更新游走器的位置。
  3. 如果游走器接近屏幕边缘,则反弹回来。

完整代码如下:

float x = 250;  // 游走器的初始 x 坐标
float y = 250;  // 游走器的初始 y 坐标
float radius = 5;  // 游走器的半径
float stepSize = 10;  // 每一步的移动距离,即游走器的步长

void setup() {
  size(500, 500);
  background(0);
}

void draw() {
  stroke(255);  // 设置绘制的颜色为白色
  strokeWeight(radius * 2);  // 设置绘制的点的直径
  point(x, y);  // 在当前位置绘制一个点

  // 随机更新游走器的位置
  float angle = random(TWO_PI);  // 随机生成一个方向
  x += cos(angle) * stepSize;  // 按照随机方向更新 x 坐标
  y += sin(angle) * stepSize;  // 按照随机方向更新 y 坐标

  // 如果游走器接近屏幕边缘,则反弹回来
  if (x > width - radius || x < radius) {
    x = constrain(x, radius, width - radius);
  }
  if (y > height - radius || y < radius) {
    y = constrain(y, radius, height - radius);
  }
}

程序运行时,你将看到一个在屏幕上随机游走的点。

结语

本设置中,我们了解了 Processing 的基本语法和一些常用函数,并在此基础上实现了一个简单的随机游走器。随机游走器是一种常用的算法,在各种领域都有广泛的应用。在后续的设置中,我们将进一步提升随机游走器的性能和可拓展性。