xxxxxxxxxx
40
let pts;
let slv;
let elv;
function setup() {
createCanvas(400, 400);
pts = [
createVector(20,20),
createVector(50,200),
createVector(350,200),
createVector(380,380),
];
slv = pts[0];
elv = pts[3];
noStroke();
}
function draw() {
background(220);
let steps = 100;
beginShape(TRIANGLE_STRIP);
for (let i = 0; i <= steps; i++) {
let tc = i / steps;
let col = lerpColor(color("#0000FF"), color("#FF00FF"), tc);
fill(col);
stroke(col);
let cbp = createVector(
bezierPoint(pts[0].x, pts[1].x, pts[2].x, pts[3].x, tc),
bezierPoint(pts[0].y, pts[1].y, pts[2].y, pts[3].y, tc)
);
let clp = p5.Vector.lerp(slv, elv, tc);
vertex(cbp.x, cbp.y);
vertex(clp.x, clp.y);
}
endShape();
}