- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.7: de Boor算法
2.8: 非均匀B样条曲线
1. 样条函数概念
样条函数的概念是美国数学家I.J.Schoenberg在
1946年首先提出的,他定义了一种B样条函数。尽管有
10年的时间未受到重视,但从60年代开始,随着电子 计算机技术的飞速发展和数据拟合以及函数逼近在生产 实验中的广泛应用,样条函数的理论和应用已迅速发展 成了一门成熟的学科。由于样条(Spline)函数发展的开
2.1 B 样条曲线的定义
给定m+n+1个平面或空间顶点 Pi (i=0,1,…,m+n),
称n次参数曲线段 :
Pk ,n (t ) P k Gi ,n (t ), i
i 0 n
t [0,1]
为第k段n次B样条曲线段 (k=0,1,…,m),这些曲线段 的全体称为n次B样条曲线,其顶点Pi(i=0,1,…,n+m) 所组成的多边形称为B样条曲线的特征多边形。 其中,基函数 Gi ,n (t ) 定义为:
(1)在每个小区间 xi 1 , xi 1 2 2
i 0,1,...,n 内,S(x)是二次
多项式函数,这里, xi 1 xi x 1 (i 1,2,..., n), x 1 x0 , x 1 xn ,称为半节点; i n 2 2 2 2
S ( k ) ( xi 0) S ( k ) ( xi 0), k 0,1,2,
即小区间上的三次多项式函数,在拼接点处xi 具有二阶 连续拼接。
(3)满足插值条件 yi =S(xi),i=0,1,…,n.
1.3 二次样条函数
设定区间〔a,b〕上一个分割Δ : a=x0<x1<…<xn-1<xn=b, 在〔a,b〕上的一个函数S(x)称为插值二次样条函数,如 果满足下列条件:
优越性,但有两点不足:其一是Bezier曲线或曲面不能作
局部修改,控制多边形的一个顶点发生了变化,整条 Bezier曲线的形状便发生变化;其二是Bezier曲线或曲面
的拼接比较复杂。因此, 1972年,Gordon、Riesenfeld
等人发展了1946年Schoenberg提出的样条方法 , 提出了 B样条方法,在保留Bezier方法全部优点的同时,克服了 Bezier方法的弱点。
t [0,1]
1 P0, 2 (0) ( P0 P ), 1 2
2. 端点切矢: P , 2 ' (0) ( P P ), 0 1 0
1 P0, 2 (1) ( P2 P ) 1 2
P , 2 ' (1) ( P P ) 0 2 1
二次B 样条曲线
如左图所示,六个控制 顶点控制的二次B样条 曲线由四段B样条曲线 段组成。其中,每一条 曲线段由相邻的三个顶 点控制。曲线段的起点 和终点同控制顶点的连 接边相切于连接边的中 点位置。
8.线的基函数如下 :
1 G0, 2 (t ) (t 1) 2 2 1 G1, 2 (t ) (2t 2 2t 1) , t [0,1] 2 G2, 2 (t ) 1 t 2 2
具有如下性质: 1)有界正性:当 t [0,1] 时, Gi,n (t ) 1, 0
(i 0,1,...,n)
(i 0,1,...,n)
2)权性: 即
G
i 0
n
i ,n
(t ) 1,
t [0,1]
3)对称性:当 t [0,1] 时, i,n (t ) Gni,n (1 t ), G
二次B 样条曲线
3. 当P0,P1,P2三顶点共线时,P0,2(t)(t∈〔0,1〕) 即蜕化为一段直线。 Pi=Pi+1(0<i≤m-2),则二次B样条曲线经过顶点Pi, 且在此处是尖点。
4. 当给定一组顶点P0,P1,…,Pm(m>2),若存在
三点共线的情况
尖点的情况
2.5 三次B样条曲线
三次B 样条曲线示例
B 样条曲线示例
四次B 样条曲线示例
B 样条曲线示例
五次B 样条曲线示例
2.2 B 样条曲线基函数的性质
B样条函数基函数为:
1 n i Gi ,n (t ) (1) j Cnj1 (t n i j ) n n! j 0 t [0,1], i 0,1,...,n
yi S ( xi ) i 0,1...n
,则称S(x)为插值样条函
1.2 三次样条函数
假设在区间〔a,b〕上给定一个分割 Δ: a=x0<x1<…<xn-1<xn=b, 在〔a,b〕上的一个函数S(x)称为插值三次样条函数, 如果满足下列条件: (1)在每一小区间〔xi-1,xi〕(i=1,2,…,n)内S(x)分别 是三次多项式函数; (2)在节点xi(i=1,2,…,n-1)处成立 :
1 n i Gi ,n (t ) (1) j Cnj1 (t n i j ) n n! j 0 t [0,1], i 0,1,...,n
B 样条曲线示例
二次B 样条曲线示例
B 样条曲线示例
二次B 样条曲线示例
B 样条曲线示例
三次B 样条曲线示例
B 样条曲线示例
n t [0,1], i 0,1,...,n; n 1 n
4)递推性:Gi ,n (t ) 1 (i 1 t )Gi ,n 1 (t ) 1 (n i t )Gi 1,n 1 (t )
B 样条曲线的基函数
一次B 样条曲线的基函数
二次B 样条曲线的基函数
B 样条曲线的基函数
计算机图形学
周凡
isszf@ 2010年11月
曲线和曲面
1. 样条函数的概念
1.1: 一般样条函数的定义 1.2: 三次样条函数
1.3: 二次样条函数
2. B 样条曲线
2.1: B样条曲线的定义
2.5: 三次B样条曲线
2.2: B样条曲线基函数性质 2.6: 二、三次B样条曲线的 应用 2.3: B样条曲线的性质 2.4: 二次B样条曲线
三次B 样条曲线的基函数
四次B 样条曲线的基函数
2.3 B 样条曲线的性质
1. 局部性
根据定义式可知,第 k 段n次B样条曲线只与 n+1 个 顶点Pi(i=0,1,…,n)有关,因此,当改动其中一个 控制顶点时,只会对相邻的n+1段产生影响,不会对 整条曲线(当 m>> n)产生影响。这就为设计曲线时修 改某一局部的形状带来了很大的方便。
取n=3,则有三次B样条曲线的基函数如下:
G0,3 G1,3 G2 ,3 G 3, 3 1 ( t 3 3t 2 3t 1), 6 1 (t ) (3t 3 6t 2 4), 6 1 (t ) ( 3t 3 3t 2 3t 1), 6 1 (t ) t 3 , 6 (t )
B 样条曲线的性质
4. 对称性
根据B样条曲线的基函数的对称性可推导
Pk ,n (1 t ) P k Gi ,n (1 t ) i
i 0 n n
P k Gn i , n (t ) i
i 0
(t [0,1])
它表明了B样条曲线段的起点和终点的几何性质完全 相同。
始,就具有广泛而又深刻的实用背景,因此,样条函数
及其参数表示形式的曲线和曲面方法是自由曲线与曲面 设计的基础。
1.1 一般样条函数的定义
给定一组平面上顶点 (xi,yi) (i=0,1,…,n),并设在区 间[a,b]上的Δ:a=x0<x1<…<xn-1<xn=b,那么在〔a,b〕上的一个 (1)在每个小区间〔xi-1,xi〕(i=1,2,…,n)内,S(x) 是具有K阶或K阶以上连续函数。
G
i 0
n
i ,n
(t ) 1 ,因此,根据凸包定义可知,对任何
t∈〔0,1〕,Pk,n(t) 必定在控制顶点构成的凸包之中。
如左图所示,六个控制 顶点控制的三次B样条 曲线由三段B样条曲线 段组成。其中,每一条 曲线段由四个顶点控制 且包含在四个顶点构成 的凸包之中。
B 样条曲线的性质
t 0, 1
三次B样条曲线段 P ,3 (t ) 为: 0
1 (t ) 1 t t 2 t 3 6
P0,3
1 3 3 1
1 0 0 3 0 6 3 0 3 3 1 4
P0 P 1 , P2 P3
t 0, 1
三次B样条曲线
性质1:端点位置
1 1 P P2 2 P0,3 (0) ( P0 4 P1 P2 ) 0 P1 , 6 3 2 3 P0,3 (1) 1 ( P1 4 P2 P3 ) 1 P1 P3 2 P2 , 6 3 2 3
l 1,2,...,n
B 样条曲线的性质
6. 保凸性
B样条曲线和Bezier曲线一样,也具有保凸性。即 当所有的控制顶点形成一个平面凸的闭多边形时, Pk,n(t) 是一条平面凸曲线。
B 样条曲线的性质
7. 凸包性
当t∈〔0,1〕时,有0≤Gi,n(t)≤1 (i=0,1,…,n) 和
B 样条曲线的性质
5.递推性
n次B样条曲线段的递推曲线表示形式: l 0 Pi k i Pk ,l (t ) i ,l (t ) Pki,l 1 (t ) i ,l (t ) Pki,11 (t ), l 1,2,...,n, l
k 0,1,...,m 其中: 1 i ,l (t ) (i 1 t ); n l 1 1 i ,l (t ) ( n l i t ); n l 1 t [0,1]; i 0,1,...,n l ;