Processing 动态海报 噪点效果和波浪效果结合的代码
时间: 2024-03-11 18:47:20 浏览: 35
以下是使用 Processing 实现动态海报噪点效果和波浪效果结合的代码:
```java
float[] yoff; // 用于控制海报波浪效果的 y 轴偏移量
float[][][] colors; // 用于记录每个像素点的颜色值
float[][] noise; // 用于记录每个像素点的噪点值
void setup() {
size(600, 800);
background(0);
noStroke();
colorMode(HSB, 360, 100, 100, 100);
yoff = new float[height];
colors = new float[width][height][3];
noise = new float[width][height];
}
void draw() {
// 控制海报波浪效果的 y 轴偏移量
for (int y = 0; y < height; y++) {
yoff[y] += 0.01;
}
// 计算每个像素点的噪点值
for (int x = 0; x < width; x++) {
for (int y = 0; y < height; y++) {
float n = noise(x * 0.01, y * 0.01, yoff[y]);
noise[x][y] = n;
}
}
// 根据噪点值和时间计算每个像素点的颜色值
for (int x = 0; x < width; x++) {
for (int y = 0; y < height; y++) {
float h = map(noise[x][y], 0, 1, 0, 360); // 根据噪点值计算色相
float s = 100; // 饱和度为 100
float b = map(sin(frameCount * 0.05 + x * 0.01), -1, 1, 0, 100); // 根据时间和 x 坐标计算亮度
colors[x][y] = new float[]{h, s, b};
}
}
// 绘制每个像素点的颜色
loadPixels();
for (int x = 0; x < width; x++) {
for (int y = 0; y < height; y++) {
int index = x + y * width;
color c = color(colors[x][y][0], colors[x][y][1], colors[x][y][2]);
pixels[index] = c;
}
}
updatePixels();
}
```
在这个代码中,我们使用了 Perlin 噪声来生成每个像素点的噪点值,并根据这个噪点值和时间来计算每个像素点的颜色值。同时,我们还使用了正弦函数来控制海报波浪效果的 y 轴偏移量,并根据时间和 x 坐标来计算像素点的亮度。最后,我们将计算出的颜色值绘制到屏幕上,从而实现动态海报噪点效果和波浪效果的结合。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)