B样条曲线与曲面..
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
四、B 样条曲线与曲面
Bezier 曲线具有很多优越性,但有二点不足:
1)特征多边形顶点数决定了它的阶次数,当n 较大时,不仅计算量增大,稳定性降低,且控制顶点对曲线的形状控制减弱;
2)不具有局部性,即修改一控制点对曲线产生全局性影响。
1972年Gordon 等用B 样条基代替Bernstein 基函数,从而改进上述缺点。
B样条曲线的数学表达式为:
∑=+⋅=
n
k n k k
i n i u N P
u P 0
,,)
()(
在上式中,0 ≤ u ≤ 1; i= 0, 1, 2, …, m 所以可以看出:B样条曲线是分段定义的。
如果给定 m+n+1 个顶点 Pi ( i=0, 1, 2,…, m+n),则可定义 m+1 段 n 次的参数曲线。
在以上表达式中:
N k,n (u) 为 n 次B 样条基函数,也称B样条分段混合函数。
其表达式为:
∑
-=+--+⋅⋅-=k
n j n
j n j n k j k n u C n u N 0
1,)()1(!1)(
式中:0 ≤ u ≤1
k = 0, 1, 2, …, n
1.均匀B 样条曲线
1
一次均匀B 样条曲线的矩阵表示
空间n+1个顶点
i P (i = 0,1,…,n )定义n 段一次(k =0,1,n=1)均匀B 样条曲线,即每
相邻两个点可构造一曲线段P i (u ),其定义表达为:
[]10 ;,...,1 0111 1)(1≤≤=⎥⎦⎤
⎢⎣⎡⎥⎦⎤⎢⎣⎡-=-u n i u u P i i i P P
=(1-u )P i -1 + u P i
= N 0,1(u )P i -1 + N 1,1(u )P i
第i 段曲线端点位置矢量:i i i i P P P P ==-)1(
,)0(1,且一次均匀B 样条曲线就是控制多边形。
2 二次均匀B 样条曲线的
空间n+1个顶点的位置矢量
i P (i=0,1,…,n )定义n -1段二次(k =0,1,2, n=2)均匀
B 样条曲线,每相邻三个点可构造一曲线段P i (u )(i=1,…,n -1),其定义表达为:
[
]
10 ;1,...,1 011022121 12
1)(112
≤≤-=⎥⎥
⎥⎦⎤
⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=
+-u n i u u u P i i i i P P P
= !21(1 - 2 u + u 2)P i -1 + !21(1 + 2 u - 2u 2)P i + !21
u 2 P i +1
= N 0,2(u )P i -1 + N 1,2(u )P i + N 2,2(u )P i +1
端点位置矢量:
)(5.0)0(1i i i P P P +=-,)(5.0)1(
1++=i i i P P P ,即曲线的起点和终点分别位于控制多边形P i-1P i 和P i P i+1的中点。
若1-i P 、i P 、1+i P 三个顶点位于同一条直线上,)(u P i 蜕
化成
1-i P i P 1+i P 直线边上的一段直线。
端点一阶导数矢量:
1
)0(--=i i i P P P ,
i i i P P P -=+1)1(
,i i i P P P -='+1)0(,12)1(++-='i i i P P P ,即曲线的起点切矢和终点切矢分别和二边重合,且相邻两曲线段在节点处
具有一阶导数连续。
二阶导数矢量:
)
()1(2)0(11t P P P i i i i i i ''=''=+-=''+-P P P ,即曲线段内任何点
处二阶导数相等,且相邻两曲线段在节点处二阶导数不连续。
3
三次均匀B 样条曲线
空间n+1个顶点的位置矢量
i P (i=0,1,。
,n )构造n -2段三次(k =0,1,2,3,四阶n=3)
均匀B 样条曲线段,每相邻四个点可定义一曲线段P i (u )(i=1,。
,n -2),其定义表达为:
[
]
10 ;2,...,1 0141
030303631331 16
1)(2112
3
≤≤-=⎥⎥
⎥⎥⎦
⎤
⎢
⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢
⎢⎢
⎢⎣⎡----=
++-u n i u u u u P i i i i i P P P P
= !31(1-u )3 P i -1+!31(4-6u 2+3u 3)P i +!31(1+3u +3u 2-3u 3)P i +1+!31
u 3
P i +2
= N 0,3(u )P i -1 + N 1,3(u )P i + N 2,3(u )P i +1+ N 3,3(u )P i +2
端点位置矢量:)4(61)0(11+-++=i i i i P P P P ,)
4(61)1(21++++=i i i i P P P P ,即起点位于
三角形∆P i-1P i P i+1中线P i M 1的1/3处,终点位于三角形∆P i P i +1P i+2中线P i +1M 2的1/3处。
可见B 样条曲线的端点并不通过控制点。
端点一阶导数矢量:
2/)()0(11-+-='i i i P P P ,)0(2/)()1(12++'=-='i i i i P P P P ,即曲线起
点的切矢平行于∆P i-1P i P i+1的底边P i-1P i+1,其模长为底边P i-1P i+1长的1/2,同样曲线终点的切矢平行于∆P i P i+1P i+2的底边P i P i+2,其模长也为底边P i P i+2长的1/2。
且相邻两曲线段具有一阶导数连续
(因)0()1(1'
='+i i P P )。
二阶导数矢量:
112)0(+-+-=''i i i i P P P P ,)0(2)1(121+++''=+-=''i i i i i P P P P P ,即曲线
段在端点处的二阶导数矢量等于相邻两直线边所形成的平行四边形的对角线,且两曲线段在节点处具有二阶导数连续(因
)0()1(i i P P ''='')。
若
1-i P 、i P 、1+i P 三个顶点位于同一条直线上,三次均匀B 样条曲线将产生拐点;若1-i P 、
i P 、1+i P 、2+i P 四点共线,则)(u P i 变成一段直线;若1-i P 、i P 、1+i P 三点重合,则)(u P i 过i
P 点。
思考:用作图法绘制下图均匀三次B 样条曲线。
B 样条曲线段与段之间具有天然的连续性,具有整体的光滑特性,而Bezier 曲线段与段之间必须光滑拼接。
因此在商用系统中B 样条方法应用更为广泛。
2.B 样条曲线的性质
1
局部性
空间n+1个控制顶点i P (i=0,1,…,n )构造(n -k +1)段k 次(k +1阶)B 样条曲线段,
且每一曲线段
i P (u )(i = 1,…,n -k +1)由1-i P 、i P 、…、1-+k i P 等k +1个控制顶点确定,
与其它控制点无关。
2
整体性和连续性
一般情况下(即无重节点、重顶点),n+1个控制顶点所构造的(n -k +1)段k 次(k +1阶)
B 样条曲线段组成一完整的B 样条曲线,曲线段与段之间具有
C k -1阶函数连续性(或G k -
1阶
几何连续性),当有K 重顶点时,将可能产生尖点(前面已介绍),虽然仍满足函数连续,但不满足几何连续。
4
几何不变性
改变坐标系不改变曲线形状。
5
变差缩减性
与Bezier 曲线性质相同。
(5)造型的灵活性
由于其良好的局部特性,可以方便构造低次的复杂曲线,且编辑顶点对曲线形状的改变是局部的;
由于其整体性和连续性,曲线具有整体的光滑性。
正因如此,B 样条曲线比Bezier 应用更为广泛,为商用系统普遍采用。
缺点:首末两端点不通过控制顶点,与其优点比较微不足道。
3.均匀双二次B 样条曲面
已知曲面的控制点
)
2,1,0,(=j i ij P ,参数
w u ,,且[]10,,∈w u ,2==l k ,构造步骤是:
a 、沿w 向构造均匀二次B 样条曲线,即有:
[
]
⎥⎥
⎥⎦⎤
⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=0201000201002
0 011022-121 1P P P WM P P P P w w w )(
经转置后:[]T
T
B w W M P P P P 0201000=)(
同上可得:
[]T
T B w W M P P P P 1211
10
1=)(,
[]T
T
B w W M P P P P 2221
20
2=)(。
b 、再沿u 向构造均匀二次B 样条曲线,即可得到均匀二次B 样条曲面:
T
T B B B w w w w u W M P P P P P P P P P UM P P P UM S ⎥⎥⎥⎦⎤
⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=222120121110020100
210)()()(),(
简记为:T
T B B w u W PM UM S =),(。
4.均匀双三次B 样条曲面
已知曲面的控制点
)
3,2,1,0,(=j i j i P ,参数w u ,,且[]
10,,∈w u ,3==l k ,构造双三次
B 样条曲面的步骤同上述。
a 、沿w 向构造均匀三次B 样条曲线,有:
[]T T
B w W M P P P P P 030201000=)(,[]T
T
B w W M P P P P P 131211101=)(, []T
T B w W M P P P P P 2322
21
20
2=)(,
[]T
T B w W M P P P P P 3332
31
30
3=)(
b 、再沿u 向构造均匀三次B 样条曲线,此时可认为顶点沿滑动,每组顶点对应相同的,当值由0到1连续变化,即形成均匀双三次B 样条曲面。
此时表达式为:
T T B
B B w w w w w u W PM UM P P P P UM S =⎥⎥⎥⎥
⎦⎤
⎢⎢⎢⎢⎣⎡=)()()()(),(3210,
⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=3332
31
30
2322212013121110
03020100P P P P P P P P P P P P P P P P P ,
⎥⎥⎥⎥⎦⎤
⎢⎢⎢
⎢⎣⎡---=0141030303631331
61B M
上式也可表达为:
S (u,w )= [N 0,3(u) N 1,3(u) N 0,3(u) N 0,3(u) ] [ P i j ]4x4 [N 0,3(w) N 1,3(w) N 2,3(w) N 3,3(w) ]T
对于由控制点
)
,...,1,0,
,...,1,0(n j m i ==j i P 组成的均匀双三次B 样条曲面其定义如下:
[]⎥⎥⎥⎥⎦
⎤
⎢⎢⎢⎢⎣⎡⎥⎥⎥
⎥⎥⎦⎤⎢⎢⎢⎢
⎢⎣
⎡=++++++++++++++++++++++++)()()()()()
()()
(),(3,33,23,13,03,32
,31
,3,33,22,21,2,23,12,11
,1,13,2,1,,3,33,23,13,0,w N w N w N w N P P P P P P P P P P P P P P P P u N u N u N u N w u S j i j i j i j i j i j i j i j i j i j i j i j
i j i j i j i j i j i
即任意单张均匀双三次B 样条曲面片S i,j (u ,w)是由P k,l (k = i, ... , i+3, l = j, … , j+3)等16个控制点定义而成。
B 样条曲面具有B 样条曲线的多种性质,曲面片与片之间具有天然的连续性。
仍以均匀双三次曲面为例的说明B 样条曲面的性质。
(1)均匀双三次B 样条曲面的顶点不经过任何特征网格顶点,且仅与各角点对应的9个特征网格顶点有关,如:S i j (0,0)= 1/36 (P i, j +P i, j+2 +P i+2, j +P i+2, j+2) + 1/9 (P i, j+1 +P i+1, j +P i+2, j+1 +P i+1, j+2) + 4/9 P i +1,j+1,同理可得S i j (0,1)
、S i j (1,0)、S i j (1,1)。
(2)均匀双三次B 样条曲面的边界曲线仍为B 样条曲线,该边界B 样条曲线由对应的三条边界特征网格顶点确定,由B 样条曲面得定义可得:
[][]⎥⎥⎥⎥
⎥⎦
⎤
⎢⎢⎢⎢
⎢⎣⎡++++++++=⎥⎥
⎥
⎥⎦
⎤
⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢
⎢⎣
⎡=+++++++++++++++++++++++++++++++++++++++++2,31,3,32,21,2,22,11,1,12,1,,3,33,23,13,03,32
,31
,3,33,22,21,2,23,12,11,1,13,2,1,,3,33,23,13,0,6/13/26/16/13/26/16/13/26/16/13/26/1)()()()(06/13/26/1)()()()()0,(j i j i j i j i j i j i j i j i j i j i j i j i j i j i j i j i j i j i j i j i j i j i j i j
i j i j i j i j
i j i P P P P P P P P P P P P u N u N u N u N P P P P P P P P P P P P P P P P u N u N u N u N u S
同理可得S i j (u ,1)、S i j (0,w )、S i j (1,w )。
推广之:沿B 样条曲面任何等参数的截线
均为一B 样条曲线(读者证明)。
(3)均匀双三次B 样条曲面边界的跨界一阶切矢只与定义该边界的顶点及相邻二排顶点(共三排顶点)有关,
[][][][])1,(6/13/26/16/13/26/16/13/26/16/13/26/1)()()()(06/13/26/1)()()()()0,(6/13/26/16/13/26/16/13/26/16/13/26/1)()()()(6/13/26/10)()()()()1,(,12,31,3,32,21,2,22,11,1,12,1,,3,33,23,13,0
3,32,31,3,33,22,21,2,23,12
,11
,1,13,2,1
,,3,33,23,13,0,2,31,3,32,21,2,22,11,1,12,1,,3,33,23,13,0
2,31
,3,31
,32,21,2,21,22,11,1,11,12,1,,1
,3,33,23,13,01,u S P P P P P P P P P P P P u N u N u N u N P P P P P P P P P P P P
P P P P u N u N u N u N u S P P P P P P P P P P P P u N u N u N u N P P P P P P P P P P P P
P P P P u N u N u N u N u S j i u
j i j i j i j i j i j i j i j i j i j i j i j i j i j i j i j
i j i j i j i j i j i j i j i j i j i j i j i j
i j i u
j i j i j i j i j i j i j i j i j i j i j i j i j i j i j i j i j i j i j i j i j i j i j i j i j i j i j i j i j i u
-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-++++++-++++++-+++--'=⎥⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎢⎣⎡++++++++''''=⎥⎥⎥⎥⎦
⎤
⎢⎢⎢⎢⎣⎡⎥⎥
⎥
⎥
⎥⎦
⎤
⎢⎢⎢⎢⎢⎣⎡''''='⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣
⎡++++++++''''=⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥
⎥⎥⎦
⎤
⎢⎢⎢⎢⎢⎣⎡''''='
依次可得),1(),,0(),1,(,,,w S w S u S j i w j i w j i u
'''。
可见均匀三次B 样条曲面具有一阶函数连
续性。
同理可得
),1(),,0(),1,(),0,(,,,,w S w S u S u S j i w j i w j i u j i u
'''''''',其跨界二阶导矢只与定义
该边界的及相邻两排顶点(共三排顶点)有关,且均匀三次B 样条曲面具有二阶函数连续性。
(4)几何不变性。
(5)对称性。
(6)凸包性。
B 样条曲面的线框图绘制方法:先沿等参数方向离散成网格点,然后依次连线绘制。
由此可见,B 样条方法能够很方便绘制复杂曲面,显然比Bezier 方法更灵活,因此应用更广泛。
5.B 样条曲线与曲面的递推表达
1)B 样条曲线的定义 定义:
由前面的内容得知,三次均匀B 样条曲线的基函数为:
N 0,3(u )= !31(1-u )3 N 1,3(u )= !31
(4-6u 2+3u 3) N 2,3(u )= !31(1+3u +3u 2-3u 3) N 3,3(u )= !31
u 3
上述基函数图形如下图所示:
已知n+1个控制点i P (i=0,1,。
,n ),也称为特征多边形的顶点,K 次(k +1阶)B 样条
曲线的表达式是:
∑==n
i k i i u N u 0
,)
()(P C k <= n
其中
)
(,u N k i 是调和函数,也称为基函数,按照递归公式可定义为:
⎪
⎪⎪
⎪⎩⎪
⎪⎪⎪⎨⎧=>--+--=⎪⎩⎪⎨
⎧≤=+++-++++-+00/00 )()()()()( 0 1)(111,111,,1
0,k t t u N u t t t u N t u u N t u t u N i k i k i k i i k i k i i k i i i i 其它
若
式中i t
是节点值,且为非减序列,
[]110,...,,++=k n t t t T 构成了K 次(k +1阶)B 样条基函数
的节点矢量,每一基函数由对应的K +2个节点决定;
上式也表明,高次B 样条函数可用低次的B 样条函数来表示,由此式可得其递推计算方法。
由基函数的示意图可知B 样条基函数具有局部支撑特性,即
[]⎩⎨
⎧∉=∈≥=++++]
,[0
,0
)(11,k i i k i i k i t t x t t x u B
节点矢量所含节点数目由控制顶点P i (i =0,1,。
,n )和曲线次数k 所确定(节点数=n +k +2),显然,基函数个数 = 控制点数。
当节点沿参数轴是均匀等距分布的,则表示均匀B 样条函数,其节点值t i -t i -1 = 常数; 例如:当k = 3,t i -t i -1 = 1,[]1,0∈u ,则上述基函数可表示为均匀三次B 样条函数,并通过变换可得如下表达:
N i ,3(u )= !31
(1-u )3
N i+1,3(u )= !31
(4-6u 2+3u 3) N i+2,3(u )= !31
(1+3u +3u 2-3u 3)
N i+3,3(u )= !31
u 3
当节点沿参数轴的分布是不等距的,则表示非均匀B 样条函数,即节点值t i -t i -1 ≠ 常数。
均匀B 样条和非均匀B 样条曲线一般不通过控制多边形首末两点。
若需B 样条曲线具有较好的端点性质(即通过端点),实际应用中常引入准均匀B 样条,即在节点矢量中两端节点具有k +1个重复度:
t 0 = t 1 = …… = t k , t n+1 = t n+2 = …… = t n+k+1 。
这样构造的准均匀B 样条曲线将通过控制多边形首末两点。
下图为例:构造n = 5,k = 2的准均匀B 样条曲线的节点矢量为u = [ 0,0,0,1,2,3,4,4,4 ]。
当n = 7,k = 3的准均匀三次B 样条曲线的节点矢量可定义为u = [ 0,0,0,0,1,2,3,4,5,5,5,5]。
若n = 3,k = 3的节点矢量u = [ 0,0,0,0,1,1,1,1 ],此时三次B 样条曲线转化为三次Bezier 曲线。
推而广之,若n = k ,节点矢量为
]1,......,1,0,......,0[11 ++=k k u ,此时K 次B 样条曲线
为K 次Bezier 曲线。
性质:
局部性:
K 次B 样条曲线仅在K +1个区间内非0。
换句话说,每段k 次B 样条曲线只涉及k +1个基函数,并由k +1个顶点所定义。
第i 段K 次B 样条曲线仅由P i ,P i +1,。
,P i +k 共k +1个顶点所控制,与其它点无关;反之,修改一个控制顶点,其影响范围为与该顶点有关的k +1段。
凸组合性质(凸包性)
连续性:
在无重节点的情况下,K 次B 样条在节点处具有k -1次连续性,如三次B 样条具有二阶连续; 若在某节点处具有m 重节点,则K 次B 样条在该节点处连续性K -1阶。
利用重节点技巧,可获得一些特殊的几何特性。
递推特性
2)B 样条曲面的定义
基于B 样条曲线的定义和性质,可以得到B 样条曲面的定义。
给定)()(11+⨯+n m 个空间点列n
,,,j m;,,,i ,, 1010==j i P ,则
)()(),(0,,0,∑∑===m i l j k i n j j i w N u N w u P S
定义了l k ⨯次((k +1)x (l +1)阶)B 样条曲面,
)(,u N k i 和)(,w N l j 是k 次(k +1阶)和l 次(l +1阶)的B 样条基函数,u 和w 为B 样条基函数)(,u N k i 和)(,w N l j 的节点参数,由j i ,P 组成的空间网格称为B 样条曲面的特征网格。
上式也可以写成如下的矩阵形式:
[][]k n s k m r w u T l
T
l kl k k s r -∈-∈=,0,,0),(,W M P M U S
上式中(r +1),(s +1)分别表示在u ,w 参数方向上曲面片的个数。
[][][][]l s s j k r r i w w w u u u j i kl l l l k k k +∈+∈===--, ,, ][1
,,...,, ,1,,...,,,11P P W U
式中k l P 是某一个B 样条曲面片的控制点编号。
性质
(1)K x L 次B 样条曲面片的四个角点不经过任何特征网格顶点,且仅与该角点对应的K x L 个特征网格顶点有关,如均匀双三次B 样条曲面与对应的9个顶点有关。
(2)B 样条曲面的边界曲线仍为B 样条曲线,该边界B 样条曲线由对应的K 条(或L 条)边界特征网格顶点确定。
如均匀双三次B 样条曲面边界曲线仅与三排顶点有关。
推广:沿B 样条曲面任何等参数的截线均为一B 样条曲线。
(3)B 样条曲面边界的跨界导数只与定义该边界的顶点及相邻K -1排(或L -1排)顶点有关,具有(K -1)x (L -1)阶函数连续性。
(4)几何不变性。
(5)对称性。
(6)凸包性。