第三节 B-样条曲线
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
局限性:全局控制
2020/3/29
2
B-样条曲线概念
控制顶点
Pi
控制多边形
n
P(t) Pi Nik (t) i0
B-样条基函数
B-样条曲线
2020/3/29
3
控制顶点作用的局部化
• 0次(1阶)曲线
ti
ti+1
0次基函数:N
i
,1
(t
)
1 0
2020/3/29
t [ti , ti1) 其它
t
1次?2次?…?
4
续
• 1次曲线(2阶)
Ni,2 (t)
N
i,
的图形
2
2次基函数:Ni,2(t)
2020/3/29
2次?3次?…,k+1次基函数?
t
5
B-样条基函数的定义
• de Boor-Cox定义: (约定:0/0=0)
t 给定参数t轴上的节点分割Tn,k
i
n k ,则如下的
i0
Ni,k称为Tn,k上的k阶(k 1次)B样条基函数
第三节 B-样条曲线
本节内容: ▪ B-样条曲线定义 ▪ B-样条曲线性质 ▪ B-样条曲线的离散生成 ▪ 有理B-样条曲线
2020/3/29
1
分段参数多项式曲线分析
• Hermit曲线
– 分段插值曲线 – 全局控制曲线 – 多项式次数与顶点数相关
• Bezier曲线
– 全局控制曲线 – 多项式次数与顶点数相关 – 拼接要求不易满足
2020/3/29
8
支撑区间…
2020/3/29
9
曲线段及控制点
[t0,t1] [t1,t2] [t2,t3] [t3,t4] [t4,t5] [t4,t5]
2020/3/29
10
B-样条曲线的定义
t n 1个控制点 Pi
n i0
及参数节点向量Tn,k
nk
i i0 (ti ti1)
确定如下的k阶(k 1次)B样条曲线:
( t ti1 ti2 ti1
Ni1,1(t)
ti3 t ti3 ti2
N i 2,1 (t ))
t ti ti2 t ti3 t t ti1 ti2 ti ti2 ti1 ti3 ti1 ti2 ti1
2020/3/29
18
续前页:
当t [ti2 ,ti3 )时:
n
P(t) Pi Ni,2 (t) Pi i0
Ni,2 (t)
N
的图形
i,2
P0
P1
t0 t1 t2
ti
Pn tn1 tn2
2020/3/29
15
3阶B-样条基函数
• K=3时的基函数
Ni,3 (t)
t ti ti2 ti
Ni,2 (t)
ti3 t ti3 ti1
Ni1,2 (t)
Ni,3 (t)
ti3 t ti3 ti1
Ni1,2 (t)
ti3 t ti3 ti1
( t ti1 ti2 ti1
Ni1,1(t)
ti3 t ti3 ti2
N i 2,1 (t ))
ti3 t ti3 t ti3 ti1 ti3 ti2
2020/3/29
19
t ti t ti
t [ti ,ti2 )
t ti ti1 ti
t [ti ,ti1)
Ni,2 (t)
ti2 t ti2 ti1
t [ti1, ti2 )
0
其它
N
i,
的图形
2
Ni,k (t)在区间 ti , tik 上有定义,称后者为前 者的支撑区间。
2020/3/29
14
K=2时定义的曲线示例
2020/3/29
17
续前页:
当t [ti1,ti2)时:
Ni,3 (t)
t ti ti2 ti
Ni,2 (t)
ti3 t ti3 ti1
Ni1,2 (t)
t ti ti2 ti
( t ti ti1 ti
Ni,1(t)
ti2 t ti2 ti1
N i 1,1 (t ))
ti3 t ti3 ti1
tik t tik ti1
Ni1,k (t),i
0,1,..., n
ti ti
2020/3/29
ti+1
t
ti+1
t
ti+1
t
ti+k-1 ti+k-1 ti+k-1
ti+k
ti+k
7
基函数的影响范围
[t0,t1] [t1,t2] [t2,t3] [t3,t4] [t4,t5]
Ni,k(t)的支撑区间为:[ti,ti+k]
Байду номын сангаас
2020/3/29
16
续前页:
当t [ti ,ti1)时:
Ni,3 (t)
t ti ti2 ti
Ni,2 (t)
t ti ti2 ti
( t ti ti1 ti
Ni,1(t)
ti2 t ti2 ti1
N i 1,1 (t ))
t ti t ti ti2 ti ti1 ti
n
P(t) Pi Ni,k (t),t [tk1, tn1] 共n-k+2段 i0
B-样条曲线示例
2020/3/29
11
1阶B-样条基函数
K=1时的基函数
1 Ni,1(t) 0
t [ti ,ti1) 其它
N i ,1 (t )
N i ,1 (t )的图形
Ni,1(t)在区间ti , ti1上有定义,称后者为前 者的支撑区间。
t [ti , ti3)
t ti ti2 ti
Ni,2 (t)
t [ti ,ti1)
t ti ti2 ti
Ni,2 (t)
ti3 t ti3 ti1
Ni1,2 (t)
t [ti1, ti2 )
ti3 t
ti3 ti1 0
Ni1,2 (t)
t [ti2 , ti3 ) 其它
ti2 ti ti1 ti
Ni,3 (t)
t ti ti2 ti
ti2 t ti2 ti1
ti3 t ti3 ti1
t ti1 ti2 ti1
ti3 t
ti3
ti 0
1
ti3 t ti3 ti2
t [ti ,ti1) t [ti1, ti2 ) t [ti2 , ti3 )
2020/3/29
12
K=1时定义的曲线示例
n
P(t) Pi Ni1(t) Pi i0
P0
P1
t1
ti
2020/3/29
Pn tn1
13
2阶B-样条基函数
• K=2时的基函数
Ni,2 (t)
t ti ti1 ti
Ni,1(t)
ti2 t ti2 ti1
N i 1,1 (t )
1
Ni,1(t) Ni,k (t)
0 t
tik 1
t [ti ,ti1) 其它
ti ti
N i ,k 1 (t )
tik t tik ti1
N i 1,k 1 (t ),i
0,1,..., n
2020/3/29
6
关于递推定义的系数
Ni,k 1(t)
t ti tik 1 ti
Ni,k (t)
2020/3/29
2
B-样条曲线概念
控制顶点
Pi
控制多边形
n
P(t) Pi Nik (t) i0
B-样条基函数
B-样条曲线
2020/3/29
3
控制顶点作用的局部化
• 0次(1阶)曲线
ti
ti+1
0次基函数:N
i
,1
(t
)
1 0
2020/3/29
t [ti , ti1) 其它
t
1次?2次?…?
4
续
• 1次曲线(2阶)
Ni,2 (t)
N
i,
的图形
2
2次基函数:Ni,2(t)
2020/3/29
2次?3次?…,k+1次基函数?
t
5
B-样条基函数的定义
• de Boor-Cox定义: (约定:0/0=0)
t 给定参数t轴上的节点分割Tn,k
i
n k ,则如下的
i0
Ni,k称为Tn,k上的k阶(k 1次)B样条基函数
第三节 B-样条曲线
本节内容: ▪ B-样条曲线定义 ▪ B-样条曲线性质 ▪ B-样条曲线的离散生成 ▪ 有理B-样条曲线
2020/3/29
1
分段参数多项式曲线分析
• Hermit曲线
– 分段插值曲线 – 全局控制曲线 – 多项式次数与顶点数相关
• Bezier曲线
– 全局控制曲线 – 多项式次数与顶点数相关 – 拼接要求不易满足
2020/3/29
8
支撑区间…
2020/3/29
9
曲线段及控制点
[t0,t1] [t1,t2] [t2,t3] [t3,t4] [t4,t5] [t4,t5]
2020/3/29
10
B-样条曲线的定义
t n 1个控制点 Pi
n i0
及参数节点向量Tn,k
nk
i i0 (ti ti1)
确定如下的k阶(k 1次)B样条曲线:
( t ti1 ti2 ti1
Ni1,1(t)
ti3 t ti3 ti2
N i 2,1 (t ))
t ti ti2 t ti3 t t ti1 ti2 ti ti2 ti1 ti3 ti1 ti2 ti1
2020/3/29
18
续前页:
当t [ti2 ,ti3 )时:
n
P(t) Pi Ni,2 (t) Pi i0
Ni,2 (t)
N
的图形
i,2
P0
P1
t0 t1 t2
ti
Pn tn1 tn2
2020/3/29
15
3阶B-样条基函数
• K=3时的基函数
Ni,3 (t)
t ti ti2 ti
Ni,2 (t)
ti3 t ti3 ti1
Ni1,2 (t)
Ni,3 (t)
ti3 t ti3 ti1
Ni1,2 (t)
ti3 t ti3 ti1
( t ti1 ti2 ti1
Ni1,1(t)
ti3 t ti3 ti2
N i 2,1 (t ))
ti3 t ti3 t ti3 ti1 ti3 ti2
2020/3/29
19
t ti t ti
t [ti ,ti2 )
t ti ti1 ti
t [ti ,ti1)
Ni,2 (t)
ti2 t ti2 ti1
t [ti1, ti2 )
0
其它
N
i,
的图形
2
Ni,k (t)在区间 ti , tik 上有定义,称后者为前 者的支撑区间。
2020/3/29
14
K=2时定义的曲线示例
2020/3/29
17
续前页:
当t [ti1,ti2)时:
Ni,3 (t)
t ti ti2 ti
Ni,2 (t)
ti3 t ti3 ti1
Ni1,2 (t)
t ti ti2 ti
( t ti ti1 ti
Ni,1(t)
ti2 t ti2 ti1
N i 1,1 (t ))
ti3 t ti3 ti1
tik t tik ti1
Ni1,k (t),i
0,1,..., n
ti ti
2020/3/29
ti+1
t
ti+1
t
ti+1
t
ti+k-1 ti+k-1 ti+k-1
ti+k
ti+k
7
基函数的影响范围
[t0,t1] [t1,t2] [t2,t3] [t3,t4] [t4,t5]
Ni,k(t)的支撑区间为:[ti,ti+k]
Байду номын сангаас
2020/3/29
16
续前页:
当t [ti ,ti1)时:
Ni,3 (t)
t ti ti2 ti
Ni,2 (t)
t ti ti2 ti
( t ti ti1 ti
Ni,1(t)
ti2 t ti2 ti1
N i 1,1 (t ))
t ti t ti ti2 ti ti1 ti
n
P(t) Pi Ni,k (t),t [tk1, tn1] 共n-k+2段 i0
B-样条曲线示例
2020/3/29
11
1阶B-样条基函数
K=1时的基函数
1 Ni,1(t) 0
t [ti ,ti1) 其它
N i ,1 (t )
N i ,1 (t )的图形
Ni,1(t)在区间ti , ti1上有定义,称后者为前 者的支撑区间。
t [ti , ti3)
t ti ti2 ti
Ni,2 (t)
t [ti ,ti1)
t ti ti2 ti
Ni,2 (t)
ti3 t ti3 ti1
Ni1,2 (t)
t [ti1, ti2 )
ti3 t
ti3 ti1 0
Ni1,2 (t)
t [ti2 , ti3 ) 其它
ti2 ti ti1 ti
Ni,3 (t)
t ti ti2 ti
ti2 t ti2 ti1
ti3 t ti3 ti1
t ti1 ti2 ti1
ti3 t
ti3
ti 0
1
ti3 t ti3 ti2
t [ti ,ti1) t [ti1, ti2 ) t [ti2 , ti3 )
2020/3/29
12
K=1时定义的曲线示例
n
P(t) Pi Ni1(t) Pi i0
P0
P1
t1
ti
2020/3/29
Pn tn1
13
2阶B-样条基函数
• K=2时的基函数
Ni,2 (t)
t ti ti1 ti
Ni,1(t)
ti2 t ti2 ti1
N i 1,1 (t )
1
Ni,1(t) Ni,k (t)
0 t
tik 1
t [ti ,ti1) 其它
ti ti
N i ,k 1 (t )
tik t tik ti1
N i 1,k 1 (t ),i
0,1,..., n
2020/3/29
6
关于递推定义的系数
Ni,k 1(t)
t ti tik 1 ti
Ni,k (t)