ProcessingJoy - 燃情岁月,编程万花筒
2023-09-23 00:32:05
烟雾朦胧,如梦如幻,恰如人生的酸甜苦辣,交织成一曲《爱如烟尘》的旋律。而这首诗的另一端,是代码的世界。ProcessingJoy,一位来自JAVA国度的编程诗人,用代码构建出爱与烟尘的交响曲。
让我们跟随ProcessingJoy的脚步,探寻《爱如烟尘》这首编程诗的奥秘。首先,映入眼帘的是一个名为Heart.pde的文件,它是这首代码诗篇的开端。
import processing.core.*;
class Heart extends PApplet {
public void settings() {
size(400, 400);
}
public void setup() {
noStroke();
ellipseMode(RADIUS);
}
public void draw() {
background(0);
for (int i = 0; i < 360; i += 5) {
float x1 = 200 + 100 * cos(radians(i));
float y1 = 200 + 100 * sin(radians(i));
float x2 = 200 + 100 * cos(radians(i + 1));
float y2 = 200 + 100 * sin(radians(i + 1));
float x3 = 200 + 100 * cos(radians(i + 2));
float y3 = 200 + 100 * sin(radians(i + 2));
fill(255, 100, 100, 10);
triangle(x1, y1, x2, y2, x3, y3);
}
}
}
在这个名为Heart.pde的文件中,ProcessingJoy用代码勾勒出心形烟的轮廓。每一行代码都如同诗句,交织成一首代码的华章。
ProcessingJoy首先用一行import processing.core.*;导入必要的库,然后定义一个名为Heart的类,这个类继承自PApplet,PApplet是Processing的核心类。
接下来,ProcessingJoy用一行public void settings() {size(400, 400);}设置画布的大小,为400像素乘以400像素。
在public void setup() {}方法中,ProcessingJoy用一行noStroke();取消了图形的边框,并用一行ellipseMode(RADIUS);设置椭圆的绘制模式为半径模式。
在public void draw() {}方法中,ProcessingJoy用一行background(0);设置背景颜色为黑色。
然后,ProcessingJoy用一个for循环遍历360度,每隔5度生成一个心形烟。在循环中,ProcessingJoy用复杂的数学公式计算出心形烟的三个顶点的坐标,并用一行fill(255, 100, 100, 10);设置填充颜色为半透明的粉色。
最后,ProcessingJoy用一行triangle(x1, y1, x2, y2, x3, y3);绘制出心形烟。
就这样,一个“层”的心形烟诞生了,烟雾朦胧,若隐若现,仿佛诉说着一段缠绵悱恻的爱情故事。
接下来,ProcessingJoy将这一“层”的心形烟复制多份,组合成多层心形烟,形成最终的效果。
《爱如烟尘》的编程诗篇,就这样在ProcessingJoy的指尖下徐徐展开,代码的诗意与人生的况味交织辉映,令人沉醉其中。