如何用processing代码绘画梵高的星空
时间: 2024-02-13 09:04:03 浏览: 55
使用 Processing 绘画梵高的星空,可以参考以下步骤:
1. 打开 Processing 开发环境,创建一个新的 Sketch,并保存为 `vangogh_star_sky`。
2. 在 Sketch 中,使用 `size()` 函数设置画布的大小,建议设置为 800x600。
```processing
void setup() {
size(800, 600);
}
```
3. 添加一个变量 `starNum` 用于控制星星的数量,可以根据需要进行调整。
```processing
int starNum = 200;
```
4. 创建一个 `Star` 类,用于表示星星的位置和大小。在 `Star` 类中,添加一个构造函数用于初始化星星的位置和大小,并添加一个 `show()` 方法用于绘制星星。
```processing
class Star {
float x, y, size;
Star() {
x = random(width);
y = random(height);
size = random(1, 4);
}
void show() {
noStroke();
fill(255, 255, 200);
ellipse(x, y, size, size);
}
}
```
5. 在 Sketch 中,创建一个 `stars` 数组,用于存储所有的星星,并在 `setup()` 函数中使用 `for` 循环创建指定数量的星星。
```processing
Star[] stars = new Star[starNum];
void setup() {
size(800, 600);
for (int i = 0; i < starNum; i++) {
stars[i] = new Star();
}
}
```
6. 在 Sketch 中,使用 `draw()` 函数绘制星空。在 `draw()` 函数中,首先绘制背景色,然后遍历所有的星星并绘制出来。
```processing
void draw() {
background(0);
for (int i = 0; i < starNum; i++) {
stars[i].show();
}
}
```
7. 最后,保存并运行代码,即可在屏幕上看到绘制出来的梵高星空。
完整代码如下:
```processing
int starNum = 200;
class Star {
float x, y, size;
Star() {
x = random(width);
y = random(height);
size = random(1, 4);
}
void show() {
noStroke();
fill(255, 255, 200);
ellipse(x, y, size, size);
}
}
Star[] stars = new Star[starNum];
void setup() {
size(800, 600);
for (int i = 0; i < starNum; i++) {
stars[i] = new Star();
}
}
void draw() {
background(0);
for (int i = 0; i < starNum; i++) {
stars[i].show();
}
}
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)