一、概述
1、贝赛尔曲线来源
在数学的数值分析领域中,贝赛尔曲线(Bézier曲线)是电脑图形学中相当重要的参数曲线。更高维度的广泛化贝塞尔曲线就称作贝塞尔曲面,其中贝塞尔三角是一种特殊的实例
贝塞尔曲线于1962年,由法国工程师皮埃尔·贝塞尔(Pierre Bézier)广泛发表,他运用贝塞尔曲线来为汽车的主体进行设计。贝塞尔曲线最初由Paul de Casteljau于1959年运用de Casteljau算法开发,以稳定数值的方法求出贝塞尔曲线
2、贝塞尔曲线公式
一阶贝塞尔曲线
公式:B(t)=(1 - t)Po + tP1,t∈[0,1]
动画演示为:
其中Po表示起点,P1表示终点,t表示时间,B(t)表示计算结果
图中移动的黑色点代表随着时间的增长B(t)的变化规律,其实一阶贝塞尔曲线就是在起点和终点之间随着B的变化而形成一个匀速增长的轨迹,所以说B(t)也是一个匀速增长的值
二阶贝塞尔曲线
公式:B(t)=(1 - t)²Po + 2t(1 - t)P1 + t²P2,t∈[0,1]
在这里Po是起点,P2是终点,P1是控制点,我们给公式做一个分解因式的转换
B(t)= (1-t)[(1-t)Po + tP1] + t[(1-t)P1 + tP2]
通过分解因式,我们发现其实二阶曲线公式是一阶曲线公式的组合,首先各自取得(Po、P1)和(P1、P2)的一阶曲线值,然后再将两个值作为一阶曲线的起点和终点计算得到B(t)得到整个二阶曲线的值
动画演示:
可以看到二阶贝塞尔曲线会形成一个圆滑的曲线轨迹
下面取动画的其中一帧来分析一下,假设t = 0.25时刻,此时的画面如下:
其中点B为公式的计算结果,上面我们分析过B(t)的生成规律,这里我们直观地解析一下
首先Qo是Po和P1作为一阶曲线的生成结果,Q1是P1和P2作为一阶曲线的生成结果,然后Qo和Q1作为一阶曲线生成的B就是当前二阶曲线的最终结果值。随着时间的变化,就形成了上面的红色轨迹线了
三阶贝塞尔曲线
公式:B(t)= Po(1 - t)^3 + 3P1(1-t&#x