2。2 B 样条曲线
2。2。1 B 样条函数的定义
B 样条函数[13]的概念最初是由 shcoebnerg 于1946 年提出的,由于它的 B 样条基函 数不同而有多种不同的曲线形式。其中 Clark [14] 从几何概念出发提出了 B 样条的定 义,简单且直观:它是利用差商定义的 B 样条曲线,这种方法可以运用于其理论分析; 而由 DeBoor 和 Cox [15][16]分别提出 B 样条的递推定义,使得相关计算更加的简单稳定, 在 CAG &CG 应用领域中应用最为广泛,这里将作重点介绍。
DeBoor 和 Cox 提出的 B样条的递推定义可以由以下公式给出:
1, ti t ti1
Ni,0 (t) 0, t [t , t ], 规定0 / 0 0
i i1
N (t) t ti N (t) tik 1 t N (t),k 0
tik ti tik 1 ti1
i,k i,k -1 i +1,k -1
( 2-1)
Ni,k (t) 中的双下标 i, k 分别表示为序号和次数。 由该公式可知,欲确定第 i 个 k 次 B 样条曲线,需要用到 ti ,ti1,
,共 k 2 个节
点。称区间[t,tik 1 ]为式 Ni,k (t) 的支撑区间。 B样条 曲线方程中,与 n 1个控制顶点
Vi (i 0,1,
n) 相对应,要用到 n 1个 k 次 B 样条基函数 Ni,k (t)(i 0,1,
n) 。B 样条基的
节点矢量 T [t0 ,t1,
可以作为这一组节点的并集。
由于该定义既可以用于均匀节点组的定义,又可以用于非均匀节点组的定义;也同 样适用重复节点组与非重复节点组。因此,由不同的 B 样条基函数可以导出不同的
样条曲线。来:自[优E尔L论W文W网www.youerw.com +QQ752018766-
2。2。2 Bezier 曲线的定义与绘制
2。2。2。1Bezier 曲线的定义
给定 n 1个控制点 Pi (i 0,1, 2,, n),则n 次 Bezier 曲线定义为:
np(t) Pi Bi,n (t),t [0,1]
i0 ( 2-2)
式中,Pi (i 0,1, 2,, n) 是控制多边形的 n 1个控制点。控制多边形是连接 n 条边构成 的多边形。 Bi,n (t) 是 Bernstein 基函数[18],其表达式为:
B (t) n! ti (1t)ni Ci ti (1t)ni ,i 0,1, 2,, n
i,n i!(n i)! n ( 2-3)
式中, 00 1, 0! 1。
由公式(2-3)可以得出,Bezier 曲线由关于 Bernstein 基函数所生成控制点的累 加得出。如果 Bezier 曲线的次数为 n ,则需要 n 1个顶点来定义其形状。通常情况下, 三次 Bezier 曲线由于可以更好地达到 C2 连续,能够更加光滑地表示曲线,所以在实 际应用中,三次 Bezier 曲线运用最为广泛,生成效果最好,所以重点介绍。