2013-3-1 华中理工大学计算机学院 陆枫
99-7
1
第 8章 曲线和曲面
提出问题
由离散点来近似地决定曲线和曲面, 即通过测量或
实验得到一系列有序点列, 根据这些点列需构造出
一条光滑曲线, 以直观地反映出实验特性, 变化规
律和趋势等 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
2
第 8章 曲线和曲面
工业产品的几何形状,
? 初等解析曲面
? 复杂方式自由变化的曲线曲面
模线样板法
计算机辅助几何设计 CAGD( Computer Aided
Geometric Design)
2013-3-1 华中理工大学计算机学院 陆枫
99-7
3
8.1 曲线曲面基础
8.1.1 曲线曲面数学描述的发展
? 弗格森双三次曲面片
? 孔斯双三次曲面片
? 样条方法
? Bezier方法
? B样条方法
? 有理 Bezier
? 非均匀有理 B样条方法
2013-3-1 华中理工大学计算机学院 陆枫
99-7
4
8.1.2 曲线曲面的表示要求
1.唯一性
2.几何不变性
3.易于定界
4.统一性
5.易于实现光滑连接
6.几何直观
2013-3-1 华中理工大学计算机学院 陆枫
99-7
5
8.1.3 曲线曲面的表示
参数表示方法的优点,
1,点动成线
2,选取具有 几何不变性 的参数曲线曲面表示形式 。
3,斜率
]1,0[ )( ?? ttpp
dtdxn
dtdyn
dtdxm
dtdym
dx
dy
/
/
/
/
?
??
?
??
2013-3-1 华中理工大学计算机学院 陆枫
99-7
6
4,t∈ [0,1], 使其相应的几何分量是有界的
5,可对参数方程直接进行仿射和投影变换
6,参数变化对各因变量的影响可以明显地表示出

2013-3-1 华中理工大学计算机学院 陆枫
99-7
7
8.1.4 插值和逼近样条
? 采用模线样板法表示和传递自由曲线曲面的形状称
为 样条 。
? 样条曲线 是指由多项式曲线段连接而成的曲线, 在
每段的边界处满足特定的连续条件 。
? 样条曲面 则可以用两组正交样条曲线来描述 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
8
? 曲线曲面的拟合,当用一组型值点来指定曲线曲面的
形状时, 形状完全通过给定的型值点列 。
图8-1 曲 线的拟合
2013-3-1 华中理工大学计算机学院 陆枫
99-7
9
? 曲线曲面的逼近,当用一组控制点来指定曲线曲面
的形状时, 求出的形状不必通过控制点列
图8 - 2 曲线的逼近
2013-3-1 华中理工大学计算机学院 陆枫
99-7
10
? 求给定型值点之间曲线上的点称为 曲线的插值 。
? 将连接有一定次序控制点的直线序列称为 控制
多边形 或 特征多边形
图8 - 2 曲线的逼近
2013-3-1 华中理工大学计算机学院 陆枫
99-7
11
8.1.5 连续性条件
假定参数曲线段 pi以参数形式进行描述,
]t,[t t)( i1i0?? tpp ii
? 参数连续性
? 几何连续性
2013-3-1 华中理工大学计算机学院 陆枫
99-7
12
1.参数连续性
0阶参数连续性, 记作 C0连续性, 是指曲线的几
何位置连接, 即
)()( 0)1()1(1 ??? iiii tptp
2013-3-1 华中理工大学计算机学院 陆枫
99-7
13
1阶参数连续性
记作 C1连续性, 指代表两个相邻曲线段的方程在相
交点处有相同的一阶导数,
)()(
)()(
0)1()1(1
0)1()1(1
??
??
???
?
iiii
iiii
tptp
tptp

2013-3-1 华中理工大学计算机学院 陆枫
99-7
14
2阶参数连续性,
记作 C2连续性, 指两个相邻曲线段的方程在相交点
处具有相同的一阶和二阶导数 。
( a ) 0 阶连续性 ( b ) 1 阶连续性 ( c ) 2 阶连续性
2013-3-1 华中理工大学计算机学院 陆枫
99-7
15
2.几何连续性
0阶几何连续性, 记作 G0连续性, 与 0阶参数连续性的定
义相同, 满足,
1阶几何连续性, 记作 G1连续性, 指一阶导数在相邻段
的交点处成比例
2阶几何连续性, 记作 G2连续性, 指相邻曲线段在交点
处其一阶和二阶导数均成比例 。
)()( 0)1()1(1 ??? iiii tptp
2013-3-1 华中理工大学计算机学院 陆枫
99-7
16
8.1.6 样条描述
[ 0,1 ] t
)(
)(
)(
0
1
1
2
2
0
1
1
2
2
0
1
1
2
2
?
?
?
?
?
?
?????
?????
?????
ctctctctz
btbtbtbty
atatatatx
n
n
n
n
n
n
?
?
?
n次样条参数多项式曲线的矩阵,
2013-3-1 华中理工大学计算机学院 陆枫
99-7
17
? ?
[ 0,1 ] t
1
)(
)(
)(
)(
000
111
??????
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
GMTCT
cba
cba
cba
tt
tz
ty
tx
tp
S
nnn
n
???
?
基矩阵
几何约束条件
基函数 (blenging function),或称 混合函数 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
18
8.2 三次样条
给定 n+1个点, 可得到通过每个点的分段三次多项式
曲线,
[ 0,1 ] t
)(
)(
)(
23
23
23
?
?
?
?
?
?
????
????
????
zzzz
yyyy
xxxx
dtctbtatz
dtctbtaty
dtctbtatx
2013-3-1 华中理工大学计算机学院 陆枫
99-7
19
8.2.1 自然三次样条
定义,给定 n+1个型值点, 现通过这些点列构造一条
自然三次参数样条曲线, 要求在所有曲线段的公共
连接处均具有位置, 一阶和二阶导数的连续性, 即
自然三次样条具有 C2连续性 。
还需要两个附加条件才能解出方程组
2013-3-1 华中理工大学计算机学院 陆枫
99-7
20
特点,
1.只适用于型值点分布比较均匀的场合
2.不能, 局部控制,
2013-3-1 华中理工大学计算机学院 陆枫
99-7
21
8.2.2 三次 Hermite样条
定义,假定型值点 Pk和 Pk+1之间的曲线段为 p(t),t∈ [0,1],
给定矢量 Pk,Pk+1,Rk和 Rk+1,则满足下列条件的三
次参数曲线为 三次 Hermite样条曲线,
1
1
)1(,)0(
)1(,)0(
?
?
????
??
kk
kk
RpRp
PpPp
2013-3-1 华中理工大学计算机学院 陆枫
99-7
22
推导,
CT
d
c
b
a
ttt
ddd
ccc
bbb
aaa
ttttp
zyx
zyx
zyx
zyx
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
]1[
]1[)(
23
23
2013-3-1 华中理工大学计算机学院 陆枫
99-7
23
hh
k
k
k
k
k
k
k
k
GM
R
R
P
P
R
R
P
P
d
c
b
a
C
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
???
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1
1
1
1
1
0001
0100
1233
1122
0123
0100
1111
1000
Mh是 Hermite矩阵 。 Gh是 Hermite几何矢量 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
24
三次 Hermite样条曲线的方程为,
[ 0,1 ] t )( ???? hh GMTtp
? ?
?
?
?
?
?
?
?
?
?
?
?
?
???
?
??
0001
0100
1233
1122
1
23
tttMT
h
2013-3-1 华中理工大学计算机学院 陆枫
99-7
25
通常将 T?Mk称为 Hermite基函数 ( 或称混合函数,
调和函数 ),
)(
2)(
32)(
132)(
23
3
23
2
23
1
23
0
tttH
ttttH
tttH
tttH
??
???
???
???
)()()()()( 312110 tHRtHRtHPtHPtp kkkk ?? ????
2013-3-1 华中理工大学计算机学院 陆枫
99-7
26
H (t)
t10.2 0.4 0.6 0.8
0.2
0.4
0.6
0.8
1
`
-0.2
H 0 (t)
H 1 (t)
H 2 (t)
H 3 (t)
图8- 4 H er mi te 基函数
2013-3-1 华中理工大学计算机学院 陆枫
99-7
27
特点分析,
1.可以局部调整, 因为每个曲线段仅依赖于端点
约束 。
2.基于 Hermite样条的变化形式,Cardinal样条和
Kochanek-Bartels样条
3.Hermite曲线具有几何不变性
2013-3-1 华中理工大学计算机学院 陆枫
99-7
28
8.3 Bezier曲线曲面
8.3.1 Bezier曲线的定义
图8 - 5 B e z i e r 曲线的例子
2013-3-1 华中理工大学计算机学院 陆枫
99-7
29
定义,
Bernstein基函数 具有如下形式,
注意:当 k=0,t=0时, tk=1,k!=1。
?
?
??
n
k
nkk tBENPtp
0
,[ 0,1 ] t)()(
? ?
? ? ? ?
n,0,1,k
11
!!
!
)(,
??
???
?
?
?? knkk
n
knk
nk ttCtt
knk
n
tBEN
2013-3-1 华中理工大学计算机学院 陆枫
99-7
30
1,一次 Bezier曲线 (n=1)
[ 0,1 ] t
)1()()(
1
0
101,
?
???? ?
?k
kk
tPPttBENPtp
2013-3-1 华中理工大学计算机学院 陆枫
99-7
31
2,二次 Bezier曲线 (n=2)
001
2
012
2
2
10
2
2
0
2,
)(2)2(
[ 0,1 ] t )1(2)1(
)()(
PtPPtPPP
PtPttPt
tBENPtp
k
kk
??????
??????
? ?
?
? ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
2
1
0
2
001
022
121
1)(
P
P
P
tttp
2013-3-1 华中理工大学计算机学院 陆枫
99-7
32
3,三次 Bezier曲线 (n=3)
33,323,213,103,0
3
3
2
2
1
2
0
3
3
0
3,
)()()()(
[ 0,1 ]t )1(3)1(3)1(
)()(
PtBENPtBENPtBENPtBEN
PtPttPttPt
tBENPtp
k
kk
????
????????
? ?
?
3
3,3
2
3,2
2
3,1
3
3,0
)(
)1(3)(
)1(3)(
)1()(
ttBEN
tttBEN
tttBEN
ttBEN
?
??
??
??
2013-3-1 华中理工大学计算机学院 陆枫
99-7
33
图8 - 6 三次B e z i e r 曲线四个B e z i e r 基函数
0 t
B 0,3 (t) B 3,3 (t)
B 1,3 (t) B 2,3 (t)
2013-3-1 华中理工大学计算机学院 陆枫
99-7
34
? ?
bebe
GMT
P
P
P
P
ttttp
???
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
[ 0,1 ] t
0001
0033
0363
1331
1)(
3
2
1
0
23
2013-3-1 华中理工大学计算机学院 陆枫
99-7
35
8.3.2 Bezier曲线的性质
1,端点
0
,,11,00
0
,
)0()0()0(
)0()0(
P
B E NPB E NPB E NP
B E NPp
nnnnn
n
k
nkk
?
????
? ?
?
?
n
nnnnn
n
k
nkk
P
B E NPB E NPB E NP
B E NPp
?
????
? ?
?
)1()1()1(
)1()1(
,,11,00
0
,
?
2013-3-1 华中理工大学计算机学院 陆枫
99-7
36
2,一阶导数
))()((
)1(
)!)1((!
)!1(
)1(
))!1()1(()!1(
)!1(
))1)(()1((
)!(!
!
)(
1,1,1
)1(
)1()1(1
11
,
tBENtBENn
tt
knk
nn
tt
knk
nn
ttknttk
knk
n
tNBE
nknk
knk
knk
kknknk
nk
???
??
????
????
??
???
??
?
?
???
????
?
?
??????
?
??
2013-3-1 华中理工大学计算机学院 陆枫
99-7
37
?
?
?
???
???
??
?
???
??
???
????
???
n
k
nkkk
nnnn
nn
n
k
nknkk
tB E NPPn
tB E NPP
tB E NPPtB E NPPn
tB E NtB E NPntp
1
1,11
1,11
1,1121,001
0
1,1,1
)()(
))()(
)()()()((
))()(()(
?
)()0( 01 PPnp ???
)()1( 1???? nn PPnp
2013-3-1 华中理工大学计算机学院 陆枫
99-7
38
三次 Bezier曲线段在起始点和终止点处的一阶导
数为,
)(3)1(
)(3)0(
23
01
PPp
PPp
???
???
2013-3-1 华中理工大学计算机学院 陆枫
99-7
39
3,二阶导数
三次 Bezier曲线段在起始点和终止点处的二阶导数为,
))()) ( (1()1(
))()) ( (1()0(
112
0112
nnnn PPPPnnp
PPPPnnp
???????
???????
???
)2(6)1(
)2(6)0(
321
210
PPPp
PPPp
?????
?????
2013-3-1 华中理工大学计算机学院 陆枫
99-7
40
4.对称性
5.凸包性
6,几何不变性
7,变差减少性
8,控制顶点变化对曲线形状的影响
0)1()!(! !)(,???? ? knknk ttknk ntBEN
1))1(()1(
)!(!
!)(
00
,???????
?
??
?? nknk
n
k
n
k
nk ttttknk
ntBEN
2013-3-1 华中理工大学计算机学院 陆枫
99-7
41
8.3.3 Bezier曲线的生成
1,绘图一段 Bezier曲线
knC
n
kn
knk
nC k
n
k
n ?
???
?
? ? 1
)!(!
! 1
?
?
?
?
?
?
?
??
?
n
k
nkk
n
k
nkk
n
k
nkk
tBENztz
tBENyty
tBENxtx
0
,
0
,
0
,
)()(
[ 0,1 ] t )()(
)()(
2013-3-1 华中理工大学计算机学院 陆枫
99-7
42
2,Bezier曲线的拼接
问题的提出,如何保证连接处具有 G1和 G2连续性 。
在两段三次 Bezier曲线间得到 G1连续性
为实现 G1连续, 则有,
)(3)0(
)(3)1(
012
231
QQp
PPp
???
???
)1()0( 12 pp ???? ?
)( 2301 PPQQ ???? ?
亦即,
2013-3-1 华中理工大学计算机学院 陆枫
99-7
43
在两段三次 Bezier曲线间得到 G2连续性,
)2()2(
)1()0(
321210
12
PPPQQQ
pp
??????
??????
?
?
图8- 7 两段 三次Be zi er 曲线的连接
P 0
P 1
P 2
P 3 (Q 0 )
Q 1 Q 2
Q 3
2013-3-1 华中理工大学计算机学院 陆枫
99-7
44
8.3.4 Bezier曲面
1,Bezier曲面
定义,
[ 0,1 ][ 0,1 ]v)( u,
)()(),(
0 0
,,,
??
? ? ?
? ?
m
i
n
j
njmiji vB E NuB E NPvup
BENi,m(u)与 BENj,n(v)是 Bernstein基函数,
jnjj
nnj
imii
mmi
vvCvBEN
uuCuBEN
?
?
????
????
)1()(
)1()(
,
,
2013-3-1 华中理工大学计算机学院 陆枫
99-7
45
2013-3-1 华中理工大学计算机学院 陆枫
99-7
46
1,双线性 Bezier曲面 (m=n=1)
[ 0,1 ][ 0,1 ]v)( u,
)()(),(
1
0
1
0
1,1,,
??
? ? ?
? ?i j
jiji vBENuBENPvup
1,10,1
1,00,0
)1(
)1()1)(1(),(
u v PPvu
vPuPvuvup
???
?????
2013-3-1 华中理工大学计算机学院 陆枫
99-7
47
2,双二次 Bezier曲面 (m=n=2)
[ 0,1 ][ 0,1 ]v)( u,
)()(),(
2
0
2
0
2,2,,
??
? ? ?
? ?i j
jiji
vB E NuB E NPvup
2013-3-1 华中理工大学计算机学院 陆枫
99-7
48
3,双三次 Bezier曲面 (m=n=3)
[ 0,1 ][ 0,1 ]v)( u,
)()(),(
3
0
3
0
3,3,,
??
? ? ?
? ?i j
jiji
vBENuBENPvup
2013-3-1 华中理工大学计算机学院 陆枫
99-7
49
图8- 9 双三 次Be zi er 曲面及其控制网格
P 0,0
P 3,0
P 0,3
P 3,3
P 1,0
P 2,0
P 0,1
P 0,2
P 1,1
P 2,1
P 3,1
P 1,2
P 2,2
P 2,3
P 1,3
P 2,3
2013-3-1 华中理工大学计算机学院 陆枫
99-7
50
其中
TT
bebe VPMUMvup ?),(
? ?123 uuuU ? ? ?123 vvvV ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
0001
0033
0363
1331
be
M
?
?
?
?
?
?
?
?
?
?
?
?
?
3,32,31,30,3
3,22,21,20,2
3,12,11,10,1
3,02,01,00,0
PPPp
PPPP
PPPP
PPPP
P
2013-3-1 华中理工大学计算机学院 陆枫
99-7
51
性质,
1,控制网格的四个角点正好是 Bezier曲面的四个角点,
nmn
m
PpPp
PpPp
,,0
0,0,0
)1,1( ;)1,0(;)0,1( ;)0,0(
??
??
2,控制网格最外一圈顶点定义 Bezier曲面的四条边界,
这四条边界均为 Bezier曲线 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
52
3,几何不变性
4,移动一个顶点 Pi,j,将对曲面上参数为 u = i/m,
v = j/n的那点 p(i/m,j/n) 处发生最大的影响
5,对称性
6,凸包性
2013-3-1 华中理工大学计算机学院 陆枫
99-7
53
2,Bezier曲面的拼接
? 0阶连续性只要求相连接的曲面片具有公共的边界
曲线 。
? 1阶连续性则要求在边界曲线上的任何一点, 两个
曲面片跨越边界的切线矢量应该共线, 而且两切线
矢量的长度之比为常数 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
54
图8- 10 Be zi et 曲面片的拼接
边界线
P 0,0
Q 3,0
P 3,3 ( Q 0,3 )
P 0,3
Q 3,3
P 3,1 ( Q 0,1 )
P 3,0 ( Q 0,0 )
P 3,2 ( Q 0,2 )
2013-3-1 华中理工大学计算机学院 陆枫
99-7
55
实现 G1连续性的条件为,
(1) p1(1,v)=p2(0,v),即有 P3,i=Q0,i,i=0,1,2,3
(2) P3,i- P2,i =λ (Q1,i-Q0,i),i=0,1,2,3
已知两张双三次 Bezier曲面片,
TTbebe vPMUMvup ?),(1 TTbebe VQMUMvup ?),(2
)3,2,1,0,(,?? jiPP ji )3,2,1,0,(,?? jiQQ ji
2013-3-1 华中理工大学计算机学院 陆枫
99-7
56
8.4 B样条曲线曲面
Bezier曲线的不足,
一是控制多边形的顶点个数决定了 Bezier曲线的阶次
二是不能作局部修改
2013-3-1 华中理工大学计算机学院 陆枫
99-7
57
8.4.1 B样条曲线的定义
定义,
de Boor点, B样条控制多边形, B样条基函数
?
?
?
n
k
k,mk ( t)BPp ( t)
0
2013-3-1 华中理工大学计算机学院 陆枫
99-7
58
? ? ? ?tB
tt
tt
tB
tt
tt
tB
tt
tB
mk
kmk
mk
mk
kmk
k
mk
k
k
1,1
1
1,
1
,
1k
1,
)(
0
t 1
)(
??
??
?
?
??
?
?
?
?
?
?
?
?
?
? ??
?
其它

参数说明
? m是曲线的阶数, (m-1)为 B样条曲线的次数, 曲线
在连接点处具有 (m-2)阶连续 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
59
? 节点矢量,节点矢量分为三种类型:均匀的, 开放
均匀的和非均匀的 。
当节点沿参数轴均匀等距分布,即 tk+1-tk=常数时,
表示 均匀 B样条函数 。
当节点沿参数轴的分布不等距, 即 (tk+1-tk)≠常数时,
表示 非均匀 B样条函数 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
60
1,均匀周期性 B样条曲线
T=(-2,-1.5,-1,-0.5,0,0.5,1,1.5,2)
T=(0,1,2,3,4,5,6,7)
均匀 B样条的基函数呈周期性,
)2()()(,2,1,ttBttBtB mkmkmk ?????? ??
)()(,0,tktBtB mmk ???
2013-3-1 华中理工大学计算机学院 陆枫
99-7
61
均匀二次 ( 三阶 ) B样条曲线
取 n=3,m=3,则 n+m=6,不 妨 设 节 点 矢 量 为,
T=(0,1,2,3,4,5,6),
? ? ? ?tB
m
tmk
tB
m
kt
tB
tB
mkmkmk
k
1,11,,
1,
11
)(
0
1iti 1
)(
???
?
??
?
?
?
?
?
?
? ???
?
其它
2013-3-1 华中理工大学计算机学院 陆枫
99-7
62
?
?
? ???
其它
1t0
0
1
)(1,0 tB
?
?
?
??
??
?
?
????
???
2t1
1t0
2
)1()2()(
)()2()()(
1,01,0
1,11,02,0
t
t
tBtttB
tBtttBtB
2013-3-1 华中理工大学计算机学院 陆枫
99-7
63
?
?
?
?
?
?
?
?
?
???
??????
??
?
?
?
??
3t2 )3(
2
1
2t1 )3)(1(
2
1
)2(
2
1
1t0
2
1
)1(
2
3
)(
2
)(
2
2
2,01,03,0
t
tttt
t
tB
t
tB
t
tB
2013-3-1 华中理工大学计算机学院 陆枫
99-7
64
?
?
?
?
?
?
?
?
?
???
???????
???
?
4t3 )4(
2
1
3t2 )4)(2(
2
1
)3)(1(
2
1
2t1 )1(
2
1
)(
2
2
3,1
t
tttt
t
tB
?
?
?
?
?
?
?
?
?
???
???????
???
?
5t4 )5(
2
1
4t3 )5)(3(
2
1
)4)(2(
2
1
3t2 )2(
2
1
)(
2
2
3,2
t
tttt
t
tB
2013-3-1 华中理工大学计算机学院 陆枫
99-7
65
?
?
?
?
?
?
?
?
?
???
???????
???
?
6t5 )6(
2
1
5t4 )6)(4(
2
1
)5)(3(
2
1
4t3 )3(
2
1
)(
2
2
3,3
t
tttt
t
tB
t
B
k
,
3
(
t
)
21 43 5
1
图 8-1 1 四段二次(三阶 )均匀 B 样条基函数
B 0,3 (t) B 1,3 (t) B 2,3 (t) B 3,3 (t)
2013-3-1 华中理工大学计算机学院 陆枫
99-7
66
曲线的起点和终点值,
均匀二次 B样条曲线起点和终点处的导数,
)(21)(),(21)( 3210 PPe n dpPPs ta r tp ????
2301 )(,)( PPe n dpPPs t a r tp ??????
图 8- 12 四个控制点的二次周期性B 样条曲线
P 0
P 1 P 2
P 3
2013-3-1 华中理工大学计算机学院 陆枫
99-7
67
结论,
? 对于由任意数目的控制点构造的二次周期性 B样条曲
线来说, 曲线的起始点位于头两个控制点之间, 终
止点位于最后两个控制点之间 。
? 对于高次多项式, 起点和终点是 m-1个控制点的加权
平均值点 。 若某一控制点出现多次, 样条曲线会更
加接近该点 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
68
三次 ( 四阶 ) 周期性 B样条 取 m=4,n=3,节点矢量为,T=(0,1,2,3,4,5,6,7),
?
?
?
?
?
?
?
?
?
?
?
???
??????????
?????????
??
?
?
?
??
4t3 )4(
6
1
3t2 )2()4(
6
1
)1)(3)(4(
6
1
)3(
6
1
2t1 )1)(4(
6
1
)1)(3(
6
1
)2(
6
1
1t0
6
1
)1(
3
4
)(
3
)(
3
22
22
3
3,03,04,0
t
ttttttt
ttttttt
t
tB
t
tB
t
tB
2013-3-1 华中理工大学计算机学院 陆枫
99-7
69
[ 0,1 ) t
6
1
)(
)1333(
6
1
)(
)463(
6
1
)(
)133(
6
1
)(
3
4,3
23
4,2
23
4,1
23
4,0
?
?
?????
???
?????
ttB
ttttB
tttB
ttttB
? ?
? ?
[ 0,1 ) t
0141
0303
0363
1331
6
1
1
)(
3
2
1
0
23
3
2
1
0
43424140
0
,
????
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
???
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
BB
,,,,
n
k
mkk
GMT
P
P
P
P
ttt
P
P
P
P
( t )B( t )B( t )B( t )B
BPtp
2013-3-1 华中理工大学计算机学院 陆枫
99-7
71
三次周期性 B样条的边界条件为,
)(
2
1
)1(
)(
2
1
)0(
)4(
6
1
)1(
)4(
6
1
)0(
13
02
321
210
PPp
PPp
PPPp
PPPp
???
???
???
???
P 0
P 1
P 2
P 3
图 8-13 四个控制点的三次均匀B 样条曲线
2013-3-1 华中理工大学计算机学院 陆枫
99-7
72
2,开放均匀 B样条曲线
节点矢量可以这样定义,
令 L=n-m,从 0开始, 按 ti≤ti+1排列 。
),.,,,LL,,.,,,L,,,.,,,(T
mm
?? ??? ????? 2212100 ????
mLi
mLim
mi
L
mit i
??
???
??
?
?
?
?
?
?
???
0
2
1
0
2013-3-1 华中理工大学计算机学院 陆枫
99-7
73
开放均匀的二次 ( 三阶 ) B样条曲线
假设 m=3,n=4,节点矢量为,T=(t0,t1,?,tn+m) =(t0,t1,t2,
t3,t4,t5,t6,t7) =(0,0,0,1,2,3,3,3)。
2t1
2
1
1t0 )34(
2
1
)(
1t0 )1()(
2
2
3,1
2
3,0
?
?
?
?
?
??
???
?
????
t
tt
tB
ttB
2013-3-1 华中理工大学计算机学院 陆枫
99-7
74
3t2 )2()(
3t2 )3)(53(
2
1
2t1 )1(
2
1
)(
3t2 )3(
2
1
2t1 )3)(1(
2
1
)2(
2
1
1t0
2
1
)(
2
3,4
2
3,3
2
2
3,2
????
?
?
?
?
?
????
???
?
?
?
?
?
?
?
?
?
?
???
??????
??
?
ttB
tt
t
tB
t
tttt
t
tB
2013-3-1 华中理工大学计算机学院 陆枫
99-7
75
图 8-14 开放均匀的二次 B 样条基函数
B
k
,
3
(
t
)
t
B 0,3 (t)
B 1,3 (t) B 3,3 (t)
B 2,3 (t)
B 4,3 (t)
1 2 3
1
2013-3-1 华中理工大学计算机学院 陆枫
99-7
76
3,非均匀 B样条曲线
图 8 -1 5 非均匀 B 样条曲线的基函数
B
k
,
m
(
t
)
t
1 2 3
1
2013-3-1 华中理工大学计算机学院 陆枫
99-7
77
4,反求 B样条曲线控制点及其端点性质
问题,所谓反求 B样条曲线控制点是指已知一组空
间型值点 Qi(i=1,2,?,n),要找一条 m次 B样条曲线
过 Qi点, 也即找一组与点列 Qi对应的 B样条控制顶
点 Pj(j=0,1,?,n+1)。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
78
用分段三次 B样条曲线 pi来拟合, 其上型值点和控制
点的位置矢量之间有关系,
n,1,i )4(
6
1
11 ????? ?? iiii PPPQ
假定需求首末两点过 Q1和 Qn的非周期三次 B样条曲线,
则有 P1=Q1,Pn=Qn,于是求解控制点 Pj (i=2,3,...,n-1)的线
性方程组为,
2013-3-1 华中理工大学计算机学院 陆枫
99-7
79
补充两个边界条件为,
P0 =P-1=Q1 Pn+1=Pn+2= Qn
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
n1n
2n
3
12
1n
2n
3
2
6Q
6Q
.
.
.
.
6Q
6Q
P
P
.
.
.
.
P
P
41000000
14100000
0...0000
00...000
000...00
00001410
00000141
00000014
Q
Q
2013-3-1 华中理工大学计算机学院 陆枫
99-7
80
8.4.2 B样条曲线的性质
1,局部支柱性
B样条的基函数是一个分段函数, 其重要特征是
在参数变化范围内, 每个基函数在 tk到 tk+m的子区
间内函数值不为零, 在其余区间内均为零, 通常
也将该特征称为 局部支柱性 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
81
图 8-16 B 样条曲线的局部支柱性
P 0
P 1
P 2
P 3
P″ 4
P 5
P 6
P 7P
4
P′ 4
2013-3-1 华中理工大学计算机学院 陆枫
99-7
82
2,B样条的凸组合性质
B样条的凸组合性和 B样条基函数的数值均大于
或等于 0保证了 B样条曲线的凸包性, 即 B样条曲
线必处在控制多边形所形成的凸包之内 。
]t,[t t 1)( 1n1-m
0
,?
?
???
n
k
mk tB
图 8 -1 7 B 样条曲线与 Bez ier 曲线的凸包性比较
B样 条曲线
Bez ier 曲线
Bez ier 曲线
B样 条曲线
m=3
m=4
m=5
(a) B 样条曲线和B ezi er曲 线的凸包比较 (b) B 样条曲线和B ezi er曲 线的比较
B样 条凸包
Bez ier 凸包
B样 条凸包
B样 条凸包
Bez ier 凸包
Bez ier 凸包
2013-3-1 华中理工大学计算机学院 陆枫
99-7
84
3,连续性
? 若一节点矢量中节点均不相同, 则 m阶 ( m-1次 ) B
样条曲线在节点处为 m-2阶连续 。
? B样条曲线基函数的次数与控制顶点个数无关 。
? 重节点 问题
图 8-1 8 具有重节点的三次 B 样条
t 0 t 1
t 2
t 3
t 4
2013-3-1 华中理工大学计算机学院 陆枫
99-7
85
4,导数
?
?
?
?
?
?
?
?
?
???
??
??
??
?
1
1,1
1
1,
,
)()(
)1()(
kmk
mk
kmk
mk
mk tt
tB
tt
tB
mtB
?
?
??
??
? ?
?
???? n
k
mk
kmk
kk tB
tt
PPmtp
1
1n1-m1,
1
1 ]t,[t t)()1()(
5,几何不变性
6,变差减少性
2013-3-1 华中理工大学计算机学院 陆枫
99-7
86
8.4.3 B样条曲面
定义,
? ?
? ?
?
1
1
2
2
221121
0 0
,,,)()(),(
n
k
n
k
mkmkkk vBuBPvup
? 控制顶点, 控制网格 ( 特征网格 ), B样条基函数 。
? B样条曲面具有与 B样条曲线相同的局部支柱性,
凸包性, 连续性, 几何变换不变性等性质 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
87
双三次 B样条曲面
TTBB VPMUMvup ?),(
? ?123 uuuU ? ? ?123 vvvV ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
0141
0303
0363
1331
6
1
B
M
?
?
?
?
?
?
?
?
?
?
?
?
?
3,32,31,30,3
3,22,21,20,2
3,12,11,10,1
3,02,01,00,0
PPPp
PPPP
PPPP
PPPP
P
2013-3-1 华中理工大学计算机学院 陆枫
99-7
88
8.5 有理样条曲线曲面
NURBS方法:非均匀有理 B样条 ( Nonuniform Rational
B-Spline) 方法
8.5.1 NURBS曲线曲面的定义
定义,
?
?
?
?
?
n
k
mkk
n
k
mkkk
tBw
tBPw
tp
0
,
0
,
)(
)(
)(
2013-3-1 华中理工大学计算机学院 陆枫
99-7
89
例,假定用定义在三个控制顶点和开放均匀的节点
矢量上的二次 ( 三阶 ) B样条函数来拟合, 于是,
T=(0,0,0,1,1,1),取权函数为,
1r0
1
1
1
20
??
?
?
??
r
r
w
ww
2013-3-1 华中理工大学计算机学院 陆枫
99-7
90
则有理 B样条的表达式为,
)(3,2)(3,1)(3,0
)(3,22)(3,11)(3,00
1
1)(
ttt
ttt
BB
r
r
B
BPBP
r
r
BP
tp
?
?
?
?
?
?
?
2013-3-1 华中理工大学计算机学院 陆枫
99-7
91
然后取不同的 r值得到各种二次曲线,
P 1
P 0 P 2
双曲线
抛物线
直线
椭圆
图 8 -1 9 由不同有理样条权因子生成的二次曲线段
2013-3-1 华中理工大学计算机学院 陆枫
99-7
92
图 8-20 由有理样条函数生成的第一象限上的圆弧
x
y
P 1 (1,1)
P 2 (1,0)
P 0 (0,1)
a
2013-3-1 华中理工大学计算机学院 陆枫
99-7
93
NURBS曲面 可由下面的有理参数多项式函数表示,
? ?
? ?
? ?
? ?
?
1
1
2
2
221121
1
1
2
2
22112121
0 0
,,,
0 0
,,,,
)()(
)()(
),(
n
k
n
k
mkmkkk
n
k
n
k
mkmkkkkk
vBuBw
vBuBPw
vup
2013-3-1 华中理工大学计算机学院 陆枫
99-7
94
8.5.2 有理基函数的性质
NURBS曲线也可用有理基函数的形式表示,
?
?
?
?
?
?
n
j
mjj
mkk
mk
n
k
mkk
tBw
tBw
tR
tRPtp
0
,
,
,
0
,
)(
)(
)(
)()(
2013-3-1 华中理工大学计算机学院 陆枫
99-7
95
1,普遍性
2,局部性
3,凸包性
1)(
0
,??
?
n
k
mk tR
4,可微性
5,权因子
8.5.3 NURBS曲线曲面的特点
2013-3-1 华中理工大学计算机学院 陆枫
99-7
96
8.6 曲线曲面的转换和计算
8.6.1 样条曲线曲面的转换
11)( GMTtp ??? 22)( GMTtp ???
2211)( GMTGMTtp ??????
12,111
1
22 GMGMMG ?????
?
2013-3-1 华中理工大学计算机学院 陆枫
99-7
97
例,bebeBB GMTGMTtp ??????)(
BbeBBBbebe GMGMMG ????? ?,1
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
1410
0420
0240
0141
6
1
0141
0303
0363
1331
6
1
0001
0033
0363
1331
1
,beB
M
2013-3-1 华中理工大学计算机学院 陆枫
99-7
98
三次 Hermite样条矩阵,
?
?
?
?
?
?
?
?
?
?
?
?
???
?
?
0001
0100
1233
1122
h
M
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
0001
0033
0363
1331
be
M
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
0141
0303
0363
1331
B
M
三次 Bezier样条矩阵,
三次均匀 B样条矩阵,
2013-3-1 华中理工大学计算机学院 陆枫
99-7
99
8.6.2 样条曲线曲面的离散生成
1,Horner规则
2,向前差分计算
3,细分
图 8 -2 1 四个控制点的B e z i e r 曲线分成两段
P 3P 0
P 1 P 2
P 1,0
P 1,1
P 1,2 P 1,3 =P 2,0 P 2,1
P 2,2
P 2,3
2013-3-1 华中理工大学计算机学院 陆枫
99-7
100
习题
2013-3-1 华中理工大学计算机学院 陆枫
99-7
101