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 )。