生活中,其实贝塞尔曲线随处可见,跑车的流线型设计,火车轨道等都有贝塞尔曲线的影子。
目录
1.贝塞尔曲线连续性说明
在文章开头,先要清楚几类连续性:
(1)C0 连续性
虽然连续,但是存在不可导点
(2)C1连续性
1)任何位置永远有且只有一个切线所以,曲线可求导数(连续且可导)
2)导数不需要线性变化所以导数至少是二次多项式
(3)不连续
2.三次多项式
贝塞尔曲线要满足C1连续性,曲线本身至少是三次多项式,这也是最常见的贝塞尔表示形式,三次多项式形如
如下图所示,
图中黑线为目标曲线,红线是一次多项式进行拟合(是一条直线),绿色是二次多项式进行拟合。可以看出,二次曲线比一次曲线能够更好的表现目标曲线的特征。
依次类推,多项式次数越大,表达目标曲线的特征就越多,越趋近于目标曲线,拟合效果越好,但随着次数升高计算量也会越大。
3.贝塞尔曲线公式
贝塞尔曲线的公式如下:
其中是控制点列,代表权重,是Bernstein基函数。
因为
所以贝塞尔曲线具有凸性。
4.常见的几类贝塞尔曲线:
(1)一次贝塞尔曲线(n=1)
公式:
图像:一条直线
(2)一次贝塞尔曲线(n=2)
公式:
图像:
(3)三次贝塞尔曲线(n=3)
公式:
图像:(如白线所示)
关于贝塞尔曲线的绘制和动态演示讲解,可以参考视频: wow,神奇的贝塞尔曲线!_哔哩哔哩_bilibili
5.三次贝塞尔曲线细化
三次贝塞尔曲线是最常见的贝塞尔曲线,我们对他的性质作一下简要分析:
三次贝塞尔公式:
它的曲线是这样的:
有如下性质:
(1)t=0 起点P的坐标
(2)t=1 终点P的坐标
(3)过P点作切线得到P的坐标
(4)过P点作切线得到P的坐标
我们在实际问题中往往需要将一个复杂曲线拆解成简单的曲线来简化计算。为了方便拆解和组装贝塞尔曲线。所以贝塞尔曲线开头和结尾的位置和导数重要。
如果要跟另外一条曲线拼接,这一条曲线的起点P要与上一条曲线的终点P重合(首尾拼接),除此之外,为了保证连续性,还需要让拼接处这两点的导数相等(P,P点),才能拼接成一条贝赛尔曲线。拆解也是同理。