小菜与老鸟 还没有想好数组怎么设计,但是按照我自己的设想,实现了一个雏形,待完善,代码如下:
float t = 0;
void setup() {
size(1000, 1000);
}
void draw() {
background(#000009);
noFill();
stroke(#731DD8);
stroke(#0FF4C6);
strokeWeight(4);
// 贝塞尔曲线
bezier(452, 179, 200, 203, 229, 694, 449, 719);
bezier(450, 180, 693, 205, 678, 697, 450, 718);
// https://processing.org/reference/bezierPoint_.html
// 根据 t 值比例,计算 x 和 y
float x = bezierPoint(452, 200, 229,449, t);
float y = bezierPoint(179, 203, 694,719, t);
noStroke();
fill(#F1DB4B);
x = bezierPoint(452, 200, 229,449, t);
y = bezierPoint(179, 203, 694,719, t);
circle(x, y, 20);
t += 0.01;
if (t >= 1) {
t = 0;
while(t<=1){
x = bezierPoint(450,678, 693,450, t);
y = bezierPoint(718, 697, 205,180, t);
t += 0.01;
circle(x, y, 20);
}
t =0;
}
}
目前的问题是:1.右半部分明显速度更快(在内嵌while循环实现的,所以时间更短);2.右半部分因为速度快,还伴随着痕迹,像一道闪电的效果。求指导。