// 二阶贝塞尔
bezier(p0, p1, p2, t) {
let t1 = (1 - t) * (1 - t);
let t2 = 2 * t * (1 - t);
let t3 = t * t;
return p0.mul(t1).add(p1.mul(t2)).add(p2.mul(t3));
}
// 三阶贝塞尔
bezier3(p0, p1, p2, p3, t) {
let t0 = (1 - t) * (1 - t) * (1 - t);
let t1 = 3 * t * (1 - t) * (1 - t);
let t2 = 3 * t * t * (1 - t);
let t3 = t * t * t;
return p0.mul(t0).add(p1.mul(t1)).add(p2.mul(t2)).add(p3.mul(t3));
}
//四阶贝塞尔
bezier4(p0, p1, p2, p3, p4, t) {
let t0 = (1 - t) * (1 - t) * (1 - t) * (1 - t);
let t1 = 4 * t * (1 - t) * (1 - t) * (1 - t);
let t2 = 4 * t * t * (1 - t) * (1 - t);
let t3 = 4 * t * t * t * (1 - t);
let t4 = t * t * t * t;
return p0.mul(t0).add(p1.mul(t1)).add(p2.mul(t2)).add(p3.mul(t3)).add(p4.mul(t4));
}
```
// 更高阶贝塞尔可以以此类推
【算法】贝塞尔曲线
于 2021-06-20 01:41:32 首次发布