简介
我们在这一篇让你彻底搞懂贝塞尔曲线的原理介绍了贝塞尔曲线的实现原理,也用了二阶贝塞尔曲线来绘制爱心。本篇我们来用三阶贝塞尔曲线玩点好玩的。在开始之前,回顾一下贝塞尔曲线的原理。贝塞尔曲线其实就是用4个点控制曲线的绘制,具体过程如下面的动图所示。
曲线点的位置计算公式如下。
相应的实现代码如下所示。
Offset get3OrderBezierPoint(Offset p1, Offset p2,
Offset p3, Offset p4, double t) {
var x = (1 - t) * (1 - t) * (1 - t) * p1.dx +
3 * t * (1 - t) * (1 - t) * p2.dx +
3 * t * t * (1 - t) * p3.dx +
t * t * t * p4.dx;
var y = (1 - t) * (1 - t) * (1 - t) * p1.dy +
3 * t * (1 - t) * (1 - t) * p2.dy +
3 * t * t * (1 - t) * p3.dy +
t * t * t * p4.dy;