一阶贝塞尔曲线(包含两个控制点)
假设控制点为P0和P1,曲线方程为:
B(t)=(1−t)P0+tP1=P0+(P1−P0)t
其中t∈[0,1]。
这个方程可以理解为,从P0出发,朝着P1的方向前进∣∣P1−P0∣∣t的距离,从而得到了点B(t)的位置。
另外,之所以是一阶贝塞尔曲线是因为方程是关于t的一阶多项式。
二阶贝塞尔曲线(包含三个控制点)
设控制点为P0,P1和P2,曲线方程为:
B(t)=(1−t)2P0+2t(t−1)P1+t2P2=(1−t)[(1−t)P0+tP1]+t[(1−t)P1+tP2]=(1−t)[P0+(P1−P0)t]+t[P1+(P2−P1)t]=[P0+(P1−P0)t]+[[P1+(P2−P1)t]−[P0+(P1−P0)t]]t=A(t)+[C(t)−A(t)]t
其中t∈[0,1],A(t)=[P0+(P1−P0)t],C(t)=[P1+(P2−P1)t]。
以上方程可以理解为,从A点出发,朝C点运动∣∣C−A∣∣t的距离,最终得到B的位置。
另外,A点的位置又是,从P0出发,朝着P1的方向前进∣∣P1−P0∣∣t的距离获得的。C点的位置也是类似。
三阶贝塞尔曲线(包含四个控制点)
设控制点为P0,P1,P2和P4,曲线方程为:
B(t)=(1−t)3P0+3t(t−1)2P1+3t2(1−t)P2+t3P3
下图展示了三阶贝塞尔曲线的绘制过程:
根据四个控制点,先确定A1,A2,A3的位置,而后再确定C1,C2的位置,最后再根据C1,C2确定B的位置。
说明
1、贝塞尔曲线在t处的切线方向为:∂t∂B