processing水波纹
时间: 2023-09-14 17:09:46 浏览: 82
要在 Processing 中绘制水波纹效果,可以使用正弦函数来模拟水面的波动。具体来说,可以通过在一个循环中计算正弦函数的值,并将这个值作为水波的高度,然后使用 `ellipse()` 函数绘制水波纹的圆圈。以下是一个简单的示例代码:
```java
float theta;
float amplitude = 50;
float period = 120;
float centerX, centerY;
void setup() {
size(400, 400);
centerX = width / 2;
centerY = height / 2;
}
void draw() {
background(255);
// 计算正弦函数的值并绘制圆圈
for (int i = 0; i < 10; i++) {
float x = centerX + i * 20;
float y = centerY + sin(theta + i * 0.5) * amplitude;
float size = map(i, 0, 9, 40, 10);
ellipse(x, y, size, size);
}
// 更新 theta 的值以改变波动的频率
theta += TWO_PI / period;
}
```
在这个示例中,我们使用 `sin()` 函数计算正弦函数的值,并将这个值乘以一个振幅值来得到水波的高度。然后,我们在一个循环中绘制多个圆圈,每个圆圈的高度和大小都根据正弦函数计算得到。最后,我们使用一个变量 `theta` 来控制正弦函数的周期,从而改变波动的频率。你可以根据自己的需求调整振幅、周期和圆圈的数量和大小来得到不同的效果。