3
0

未命名文章

2026-08-27

贝塞尔曲线
定义
贝塞尔曲线:由控制点和线段组成的曲线,控制点是可拖动的支点。

如图,蓝色为贝塞尔曲线,

_p_1,_p_2,_p_3

为控制点,曲线和初始与终止端点相切,并且经过起点

_p_0

与终点

_p_3


de Casteljau Algorithm
de Casteljau算法描述了如何用多个点画出一条贝塞尔曲线。 其核心是线性插值递归。 贝塞尔曲线的定义很像参数方程,给定一个参数

_t_∈[0,1]

就能确定贝塞尔曲线上的一点,倘若取完所有t值,就能得到完整的贝塞尔曲线。

一阶贝塞尔曲线

通过线性插值,可以算出线段上点的坐标:

_B_1(t)=_P_0+(_P_1−_P_0)t__B_1(t)=(1−_t)_P_0+_t__P_1,_t_∈

二阶贝塞尔曲线

首先在

_b_0_b_1

上进行一阶贝塞尔曲线得到点

_b_01

,再在

_b_1_b_2

上进行一阶贝塞尔曲线得到点

_b_11

,再在

_b_01_b_11

上进行一阶贝塞尔曲线得到点

_b_0

。之后再连接

_b_0_b_02_b_2

就可以得到蓝色的贝塞尔曲线。

三阶贝塞尔曲线

同理。
代数式表达
将贝塞尔曲线展开可以得到n阶贝塞尔曲线的代数表达式:

注:

(n__i)=C__n__i

以二阶贝塞尔曲线展开为例

性质
●必定经过起始与终止控制点
●必定经与起始与终止线段相切
●具有仿射变换性质,可以通过移动控制点移动整条曲线
●凸包性质,曲线一定不会超出所有控制点构成的多边形范围
○凸包:墙上许多钉子,用一条橡皮筋包住最外边的钉子,再松手,橡皮筋收缩后的外框就是凸包。

分段贝塞尔曲线
传统贝塞尔曲线的缺点:当控制点多的时候不好控制曲线的形状。

分段贝塞尔曲线:将一条高次曲线分成多条低次曲线的拼接,其中用的最多的便是用很多的3次曲线来拼接。

分段贝塞尔曲线的连续性:

C__n

连续,表示n阶导数连续。

贝塞尔曲面

4×4

控制点的贝塞尔曲面为例:

1在这4个控制点之下利用第一个参数 u 运用第一章的计算贝塞尔曲线的方法得到蓝色点,因为有4列,所以一共可以得到如图所示的4个蓝色点。(灰色曲线分别为每列4个点所对应的贝塞尔曲线)
2在得到4个蓝色顶点之后,在这四个蓝色顶点的基础之下利用第二个参数 v 便可以成功得出贝塞尔曲面上一个点
3遍历所有的 u,v值就可以成功得到一个贝塞尔曲面

5 人点赞

5

评论