processing使用java语言做一个简单的线条递进
时间: 2023-07-30 18:07:02 浏览: 61
以下是使用 Processing 编写的一个简单的线条递进程序,效果是线条逐渐向右侧移动:
```java
int x = 0;
void setup() {
size(400, 400);
}
void draw() {
background(255);
stroke(0);
line(x, 0, x, height);
x += 5;
if (x > width) {
x = 0;
}
delay(50);
}
```
首先在 `setup()` 函数中创建一个大小为 400x400 的画布,然后在 `draw()` 函数中绘制一条从 `(x, 0)` 到 `(x, height)` 的线条,其中 `x` 的值每次增加 5,当 `x` 超出画布宽度时将其重置为 0。最后通过 `delay()` 函数控制帧率,使线条逐渐向右侧移动。
相关问题
帮我做一个processing的Java版本编程语言的视觉效果,要有艺术表达成分
好的,我可以帮你设计一个processing的Java版本编程语言的视觉效果,以下是具体方案:
方案一:流光溢彩的颜色渐变
这个效果可以使用processing的color()函数和lerpColor()函数实现。首先定义两个颜色变量,然后使用lerpColor()函数将它们渐变,再使用fill()函数设置填充颜色,最后使用rect()函数绘制一个矩形即可。
下面是一个示例代码:
```Java
int c1 = color(255, 0, 0); // 定义颜色变量1
int c2 = color(0, 255, 0); // 定义颜色变量2
float t = 0; // 定义渐变系数
void setup() {
size(400, 400);
}
void draw() {
background(255);
t += 0.01; // 每帧渐变系数增加
if (t > 1) { // 超过1后重置为0
t = 0;
}
color c = lerpColor(c1, c2, t); // 渐变颜色
fill(c);
rect(0, 0, width, height);
}
```
效果如下:
![processing效果1](https://img-blog.csdnimg.cn/20210602163911883.gif)
方案二:曼德博集合的图形
曼德博集合是一种分形图形,可以通过processing的绘图函数实现。可以使用processing的map()函数将鼠标位置映射到实数轴上,然后遍历每个像素点,根据曼德博集合的迭代公式计算其是否在集合内,最后根据计算结果设置像素的颜色。
下面是一个示例代码:
```Java
float minReal = -2.5; // 实数轴最小值
float maxReal = 1; // 实数轴最大值
float minImag = -1; // 虚数轴最小值
float maxImag = 1; // 虚数轴最大值
void setup() {
size(500, 500);
colorMode(RGB, 1);
noStroke();
}
void draw() {
loadPixels();
for (int x = 0; x < width; x++) {
for (int y = 0; y < height; y++) {
float a = map(x, 0, width, minReal, maxReal);
float b = map(y, 0, height, minImag, maxImag);
float ca = a;
float cb = b;
int n = 0;
while (n < 100) {
float aa = a * a - b * b;
float bb = 2 * a * b;
a = aa + ca;
b = bb + cb;
if (a * a + b * b > 4) {
break;
}
n++;
}
float brightness = map(n, 0, 100, 0, 1);
if (n == 100) {
brightness = 0;
}
int c = color(brightness, brightness * brightness, brightness * brightness * brightness);
set(x, y, c);
}
}
updatePixels();
}
```
效果如下:
![processing效果2](https://img-blog.csdnimg.cn/20210602164025864.gif)
以上两种方案均具有艺术表达成分,可以根据实际需要进行调整和优化。
使用processing做一个有红色到蓝色过渡色方块
您好,以下是使用Processing实现红色到蓝色过渡色方块的代码:
```java
void setup() {
size(400, 400);
noStroke();
}
void draw() {
for (int i = 0; i < width; i++) {
float r = map(i, 0, width, 255, 0);
float b = map(i, 0, width, 0, 255);
fill(r, 0, b);
rect(i, 0, 1, height);
}
}
```
这段代码会生成一个宽度为400,高度为400的画布,并在画布上绘制一列从红色到蓝色过渡的方块。具体实现是通过使用`map()`函数将横坐标映射到颜色值上,从而实现颜色的过渡效果。
相关推荐
![](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)