第三节 B-样条曲线
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ti + 3 − t ti + 3 − t = ⋅ ti +3 − ti +1 ti +3 − ti + 2
2012-3-5 19
t −t t − ti i ⋅ t ∈ [ti , ti +1 ) ti + 2 − ti ti +1 − ti t − ti ti + 2 − t ti +3 − t t − ti +1 N i ,3 (t ) = ⋅ + ⋅ t ∈ [ti +1 , ti + 2 ) ti + 2 − ti ti + 2 − ti +1 ti +3 − ti +1 ti + 2 − ti +1 ti + 3 − t ti + 3 − t t ∈ [ti + 2 , ti +3 ) t − t ⋅ t − t i +3 i +1 i +3 i + 2 0 其它
ti+1
t ∈ [ti , ti +1 ) 其它
1次?2次?…?
4
N i , 2 (t )
续
• 1次曲线(2阶)
N i , 2的图形
t 2次基函数:Ni,2(t)
2012-3-5
2次?3次?…,k+1次基函数?
5
B-样条基函数的定义
• de Boor-Cox定义: (约定:0/0=0)
给定参数t轴上的节点分割Tn ,k =
(i = 0,1,..., n + 3), 其上可定义3次均匀B − 样条曲线
t − ti ti + 2 − t ti +3 − t t − ti +1 = ⋅ + ⋅ ti + 2 − ti ti + 2 − ti +1 ti +3 − ti +1 ti + 2 − ti +1
2012-3-5 18
续前页:
当t ∈ [ti + 2 , ti +3 )时: ti + 3 − t N i ,3 (t ) = N i +1, 2 (t ) ti +3 − ti +1 ti +3 − t t − ti +1 ti + 3 − t = ( N i +1,1 (t ) + N i + 2,1 (t )) ti +3 − ti +1 ti + 2 − ti +1 ti + 3 − ti + 2
i =0 n
共n-k+2段
B-样条曲线示例
2012-3-5 11
1阶B-样条基函数
K=1时的基函数
1 N i ,1 (t ) = 0
t ∈ [ti , ti +1 ) 其它
N i ,1 (t )
N i ,1 (t )的图形
N i ,1 (t )在区间[ti , ti +1 ]上有定义,称后者为前者的支撑区间。
i =0
n
L Pi L
P0
P 1
Pn L ti L t n +1 t n + 2
15
t0 t1
2012-3-5
t2
3阶B-样条基函数
• K=3时的基函数
t − ti ti + 3 − t N i ,3 (t ) = N i , 2 (t ) + N i +1, 2 (t ) t ∈ [ti , ti +3 ) ti + 2 − ti ti +3 − ti +1 t −t i N i , 2 (t ) t ∈ [ti , ti +1 ) ti + 2 − ti t − ti ti + 3 − t = N i , 2 (t ) + N i +1, 2 (t ) t ∈ [ti +1 , ti + 2 ) ti +3 − ti +1 ti + 2 − ti ti + 3 − t t ∈ [ti + 2 , ti +3 ) t − t N i +1, 2 (t ) i +3 i +1 其它 0
2012-3-5 10
B-样条曲线的定义
n + 1个控制点{P } 及参数节点向量Tn ,k =
n i i =0
{ti }
n+ k
i =0
(ti ≤ ti +1 )
确定如下的k阶(k − 1次)B样条曲线: P(t ) = ∑ Pi N i ,k (t ),t ∈ [t k −1 , t n +1 ]
• 已知6个控制顶点,请定义出节点矢量均 匀的2次B样条曲线,并回答以下问题。
1. 定义区间是什么? ? 2. 曲线分为几段? 3. 给出第二段曲线的表达式
2012-3-5
29
源自文库-样条曲线的分类
根据节点矢量的不同形式分类
均匀B样条曲线 准均匀B样条曲线 分段Bezier曲线 非均匀B样条曲线
2012-3-5
16
2012-3-5
续前页:
当t ∈ [ti , ti +1 )时: t − ti N i ,3 (t ) = N i , 2 (t ) tii+ 2 − ti +
t − ti t − ti ti + 2 − t = ( N i ,1 (t ) + N i +1,1 (t )) ti + 2 − ti ti +1 − ti ti + 2 − ti +1
t − ti t − ti = ⋅ ti + 2 − ti ti +1 − ti
2012-3-5 17
续前页:
当t ∈ [ti +1 , ti + 2)时: t − ti ti + 3 − t N i ,3 (t ) = N i , 2 (t ) + N i +1, 2 (t ) ti + 2 − ti ti +3 − ti +1
2012-3-5 12
K=1时定义的曲线示例
P (t ) = ∑ Pi N i1 (t ) L Pi L
i =0 n
P0
P 1
Pn L ti L t n +1
13
t1
2012-3-5
2阶B-样条基函数
t − ti ti + 2 − t N i , 2 (t ) = N i ,1 (t ) + N i +1,1 (t ) ti +1 − ti ti + 2 − ti +1 t − ti t ∈ [ti , ti +1 ) ti +1 − ti ti + 2 − t = t ∈ [ti +1 , ti + 2 ) ti + 2 − ti +1 0 其它
2012-3-5 6
关于递推定义的系数
t − ti ti + k − t N i ,k +1 (t ) = N i ,k (t ) + N i +1,k (t ),i = 0,1,..., n ti + k −1 − ti ti + k − ti +1
ti ti
ti+1 ti+1 ti+1
t
t t
局限性:全局控制
2012-3-5 2
B-样条曲线概念
控制顶点
Pi
P (t ) = ∑ Pi N ik (t )
i =0
B-样条基函数 B-样条曲线
n
控制多边形
2012-3-5
3
控制顶点作用的局部化
• 0次(1阶)曲线
t ti
1 0次基函数: i ,1 (t ) = N 0
2012-3-5
N i ,k −1 (t ) N i +1,k −1 (t ) N 'i ,k (t ) = (k − 1) − ti + k −1 − ti ti + k − ti +1
N i ,k (t )在l重节点处至少为k −1 − l次参数连续。
2012-3-5
28
问题:3阶B样条曲线生成
2012-3-5
• K=2时的基函数
t ∈ [ti , ti + 2 )
N i , 2 (t )
N i , 2的图形
N i ,k (t )在区间[ti , ti + k ]上有定义,称后者为前者的支撑区间。
14
Ni,2 (t )
K=2时定义的曲线示例
Ni,2的图形
P(t ) = ∑ Pi N i , 2 (t )
22
知其然,知其所以然…
• • • • • 阶数与次数 顶点数 节点矢量与定义区间 段数 控制点及其影响域
2012-3-5
23
上节要点回顾
• Bezier曲线
– Bernstain基函数 – Bezier曲线定义及性质 – 有理Bezier曲线
• BB-样条曲线
– B-样条基函数(节点矢量) n – B-样条曲线定义 Pi N i ,k (t ),t ∈ [t k −1 , t n +1 ] • 阶数/次数 t ∈ [tP (it+))= 1 i ,t 1 N i ,1 (t ) = • 顶点数 0 其它 i = 0 t− N i定义区间 ti N i ,k −1 (t ) + ti + k − t N i +1,k −1 (t ),i = 0,1,..., n • ,k (t ) = ti + k − ti +1 • 段数 ti + k −1 − ti
{ti }
n+k
i =0
,则如下的
N i ,k 称为Tn ,k 上的k阶(k − 1次)B样条基函数
1 t ∈ [ti , ti +1 ) N i ,1 (t ) = 其它 0 N i ,k (t ) = t − ti N i ,k −1 (t ) + ti + k − t N i +1,k −1 (t ),i = 0,1,..., n ti + k −1 − ti ti + k − ti +1
∑
2012-3-5
24
B-样条基函数的性质
• 局部性 • 权性 • 连续性
2012-3-5
25
B-样条基函数的局部性
N i ,k (t )只在区间[ti , ti + k )上取正值,在其它区间上为零。
在每一个区间上至多只有k个基函数非零,它们是: k
N
i − k +1,k
( t ), N
i − k + 2 ,k
ti+k-1 ti+k-1 ti+k-1
ti+k
ti+k
7
2012-3-5
基函数的影响范围
[t0,t1] [t1,t2] [t2,t3] [t3,t4] [t4,t5]
Ni,k(t)的支撑区间为:[ti,ti+k]
2012-3-5 8
支撑区间…
2012-3-5
9
曲线段及控制点
[t0,t1] [t1,t2] [t2,t3] [t3,t4] [t4,t5] [t4,t5]
第三节 B-样条曲线
本节内容: B-样条曲线定义 B-样条曲线性质 B-样条曲线的离散生成 有理B-样条曲线
2012-3-5
1
分段参数多项式曲线分析
• Hermit曲线
– 分段插值曲线 – 全局控制曲线 – 多项式次数与顶点数相关
• Bezier曲线
– 全局控制曲线 – 多项式次数与顶点数相关 – 拼接要求不易满足
30
均匀B-样条曲线
• 均匀节点矢量:所有节点区间长度为大于0的常数 • 均匀B-样条基:在均匀节点矢量上定义的B-样条基 • 均匀B-样条曲线:在均匀B-样条基上定义的曲线
2012-3-5
31
例:三次均匀B样条曲线(1)
参数节点向量Tn , 4 =
{ti }
n+4
i =0
满足:ti +1 − ti ≡ ∆ > 0
t − ti t − ti ti + 2 − t ( N i +1,1 (t )) = N i ,1 (t ) + ti + 2 − ti ti +1 − ti ti + 2 − ti +1 ti +3 − t t − ti +1 ti + 3 − t + ( N i +1,1 (t ) + N i + 2,1 (t )) ti +3 − ti +1 ti + 2 − ti +1 ti + 3 − ti + 2
N i ,k (t )在区间[ti , ti + k ]上有定义,称后者为前者的支撑区间。
2012-3-5 20
3阶B-样条基函数图形
N i ,3 (t )
N i ,3 (t )的图形
2012-3-5
21
3阶B样条曲线示例
t2
T=[t0,t1,…,tn+1,tn+2,tn+3]
2012-3-5
t n +1
∀t ∈ [t j , t j +1 ],由N i ,k (t )的局部性得到:
∑N
i =0
n
i ,k
(t ) =
i = j − k +1
∑N
j
i ,k
(t )
上式右端根据递推公式展开并化简得到:
i = j − k +1
2012-3-5
∑N
j
i ,k
(t ) = N j ,1 (t ) ≡ 1
27
B-样条基函数的连续性
( t ),..., N
i ,k
(t )
N i ,k (t )在每个区间[ti , ti + k )上都是次数不高于k − 1的多项式 从而在整个参数轴上是分段多项式
2012-3-5
26
B-样条基函数的权性
∑N
i=0 n i ,k
(t ) ≡ 1
t ∈ [ t k −1 , t n + 1 ]
证明:在任意参数区间[t j , t j +1 ) ⊂ [t k −1 , t n +1 ]上权性成立。