[计算机辅助几何造型技术]第四章 B样条曲线与曲面

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2015/4/19 3
一、B样条基函数的定义与性质
B样条基的递推定义(de Boor Cox公式)
– 定义在区间[a,b]上的分割:
a
t0 = ≤ t1 ≤ Leabharlann Baidu ≤ tn b
ti 称为节点(knot)
– 基函数定义
1 ti ≤ t ≤ ti +1 N i ,0 ( t ) = 0 other t − ti ti + k +1 − t = N i ,k −1 ( t ) + N i +1,k −1 ( t ) Ni ,k ( t ) t i + k − ti ti + k +1 − ti +1 0 下标 i 表示基函数的序号 0 2015/4/19 下标 k 表示基函数的次数. 0
Ni,0(t) ti ti+1
只在 [ti, ti+1] 上不为0,其它区间均为0,称为平台函数.
2015/4/19
6
– 一次B样条基
递推公式: = N i ,1 ( t ) 支撑区间是什么?
t − ti t − ti +1+1 N i ,0 ( t ) + N i +1,0 ( t ) ti +1 − ti ti +1+1 − ti +1
合肥工业大学 飞行器制造工程 专业基础课程
计算机辅助几何造型技术
-- 第四章 B样条曲线与曲面
张兵 zhangbing_end@163.com
2015/4/19
1
内容概要
B样条基函数的定义与性质 B样条曲线的定义、性质与分类 均匀B样条曲线 非均匀B样条曲线 B样条曲面
2015/4/19
2015/4/19
13
示例: 1) {ti} = {0, 1, 2, 4}, Vi={ {0, 0}, {1, 1} } 2) {ti} = {0, 1, 2, 3, 4, 5}, Vi={ {0, 0}, {1, 1}, {2, 0} }
2015/4/19
参见“B样条曲线示例.nb”
14
B样条曲线的性质
ti+2 Ni-1,3(u) Ni,3(u)
ti+3
ti+4
Ni-2,3(u) Ni-3,3(u)
2015/4/19
t3
t4
19
– 三次均匀B样条曲线段的表示形式
• 和式形式:
rI ( t )
∑ N ( t )V
i =0 i ,3
n
i
t ∈ [t I , t I +1 ]
• 矩阵形式:
r (u )
2015/4/19
8
Ni,1(t)
Ni+1,1(t)
Ni,2(t)
t1 i
2015/4/19
2i+1 t
ti3+2
ti4 +3
5
二次B样条基函数图像
9
– 三次B样条
递推公式: N i ,3 ( t ) = 支撑区间是什么?
t − ti t − ti +3+1 N i ,2 ( t ) + N i +1,2 ( t ) ti +3 − ti ti +3+1 − ti +1
ri (1) = 1 (Vi +1 + 4Vi + 2 + Vi +3 ) 6 1 =Vi + 2 + (Vi +1 − Vi + 2 ) + (Vi +3 − Vi + 2 ) 6
Vi+1
Vi+2
Vi
2015/4/19
Vi+3
22
• 端点的切矢和二阶导数
1 (Vi + 2 − Vi ) 2 1 ri ' (1) = (Vi +3 − Vi +1 ) 2 ri ' ( 0 ) =
[ti , ti + 2+1 ]
t − ti t − ti ti ≤ t ≤ ti +1 ⋅ t − t t − t i + 2 i i +1 i t − ti ti + 2 − t ti +3 − t t − ti +1 ti +1 ≤ t ≤ ti + 2 t − t ⋅ t − t + t − t ⋅ t − t N i ,2 ( t ) = i + 2 i i + 2 i +1 i +3 i +1 i + 2 i +1 2 ( ti +3 − t ) ti + 2 ≤ t ≤ ti +3 ( ti +3 − ti +1 )( ti +3 − ti + 2 ) other 0
2015/4/19
27
– 特殊情况4:三个顶点重合
8
10
12
1 2
{t} = {0,1, 2,3, 4,5, 6, 7,8,9,10} {V } = {{0,0},{1,3},{4,4},{6,2},{5,-1},{9,-2},{13,2}}
2015/4/19
n=6 k =3
21
三次均匀B样条曲线的几何性质
– 性质一:端点性质
• 位置矢量
ri ( 0 ) = 1 (Vi + 4Vi +1 + Vi + 2 ) 6 1 =Vi +1 + (Vi − Vi +1 ) + (Vi + 2 − Vi +1 ) 6
2
背景简介
贝塞尔曲线的缺点
– 阶次由控制点个数唯一确定,高阶曲线计算不便, G2拼接需要附加条件. – 不具有局部修改性.
B样条
– B spline – 1964年由Schoenberg提出,并由de Boor、Cox、 Gordon、Riesenfeld完善. – 继承了贝塞尔曲线的一切优点,且克服了上述缺点.
[ti , ti +1+1 ]
t − ti ti ≤ t ≤ ti +1 t − t i +1 i t − ti +1+1 ti +1 ≤ t ≤ ti + 2 N i ,1 ( t ) = ti +1+1 − ti +1 other 0
1 ti ≤ t ≤ ti +1 N i ,0 ( t ) = 0 other 1 ti +1 ≤ t ≤ ti + 2 N i +1,0 ( t ) = 0 other
– 特殊情况2: 四点共线
• 由凸包性可知为直线 Vi+2 Vi+1 ri(0) Vi ri(1) Vi+3
2015/4/19
26
– 特殊情况3: 两个顶点重合
• 相当于三点共线
ri (1) − Vi + 2 = 1 [Vi + 2 − Vi +1 ] 6
ri(1)处的曲率为0
Vi+2 Vi+2 Vi+1 ri(0) Vi Vi+4 ri(1) Vi+3
= ri ' ( 0 ) 1 (Vi + 2 − Vi ) 2
ri '' ( 0 ) = (Vi − Vi +1 ) + (Vi + 2 − Vi +1 ) ⇒ ri ' ( 0 ) / / ri '' ( 0 ) ⇒ k = 0
曲率k为0
Vi+2 Vi+1 ri(0) ri(1) Vi+3
Vi
2015/4/19 25
要计算Ni,k(t),需要用到ti, ti+1, … , ti+k+1个节点, 称区间 [ti, ti+k+1] 为支撑区间, 也即Ni,k(t)仅在支撑区间上值不为0.
思考:最后 一种情况出 现在什么条 件下?
2015/4/19
5
B样条基函数的推导过程(0~3次)
– 0次B样条级基
1 ti ≤ t ≤ ti +1 N i ,0 ( t ) = 0 other
2 1 u u
1 4 1 −3 0 3 3 1 u 6 3 −6 3 −1 3 −3
0 Vi V 0 i +1 0 Vi + 2 1 Vi +3
u ∈ [ 0,1]
2015/4/19
20
4
3
2
1
2
4
6
ri '' ( 0 ) = (Vi − Vi +1 ) + (Vi + 2 − Vi +1 ) ri '' (1) = (Vi +1 − Vi + 2 ) + (Vi +3 − Vi + 2 )
Vi+1
ri'(0) Vi+2 ri'(1) ri''(0) ri''(1) Vi+3
23
Vi
2015/4/19
– 变差减小性、几何不变性 – 局部性
• 曲线上[ti,ti+1]的点仅与{Vi-k+1,…,Vi}控制点有关.
– 可微性
• 每段曲线内部无限次可微,端点k-r次可微,r为重 复度.
– 凸包性
• 每段曲线在其特征顶点的凸包内,比贝塞尔曲线有 更强的凸包性.
2015/4/19
15
B样条曲线的分类
i= i 0,1, 2, , n
N在其支 撑区间上 是分段函 数
1 ti − ti −1 = u 3 3 2 − + + 3u + 1 u u 3 3 1 带入基函数表 = N i ,3 ( u ) u ∈ [ 0,1] 3 2 达式,可得: 6 3u − 6u + 4 −u 3 + 3u 2 − 3u + 1 17 u = t − ti
Ni,0(t)
2015/4/19
Ni+1,0(t) Ni,1(t) ti+1 ti+2
7
ti
– 二次B样条基
递推公式: = N i ,2 ( t ) 支撑区间是什么?
t − ti t − ti +1+1 N i ,1 ( t ) + N i +1,1 ( t ) ti +1 − ti ti +1+1 − ti +1
– 均匀B样条曲线(uniform B-spline Curve)
• 节点均匀分布,不重复
– 准均匀B样条曲线(quasi-uniform B-spline Curve)
• 两端节点具有k+1重复度,内部节点均匀分布
– 一般分段贝塞尔曲线(piecewise Bezier Curve)
• 两端节点重复度为k+1,内节点重复度为k.
∑ N (t ) ≡ 1
i ,k i
• 在节点区间内无限次可微(可导),在节点处 k-r 次可 微,r 为重复度(如:ti=ti+1,则重复度为2).
出现的次数
2015/4/19 11
二、B样条曲线
定义(B spline curve)
– 节点序列:
{ti } = {t0 , t1 , , tn , tn+1 , , tn+ k +1}
– 非均匀B样条曲线(general non-uniform B-spline Curve)
• 任意节点分布,任意重复度
2015/4/19
16
三、均匀B样条曲线
三次均匀B样条曲线表达式
– 均匀B样条基表达式
r ( t ) = ∑ N i ,3 ( t )Vi
i =0 n
均匀分布,不妨取: = ti 则:
由图可知,三次均匀B样条曲线段之间是C2连续的.
– 凸包性
– 局部性 – 变差减小性、几何不变性、参数连续性
2015/4/19
24
特征顶点(控制点)对曲线形状的影响
– 特殊情况1:三点共线
1 1 ri ( 0 ) = Vi +1 + (Vi − Vi + 2 ) + Vi +1 3 2
4
1 ti ≤ t ≤ ti +1 N i ,0 ( t ) = 0 other t − ti ti + k +1 − t = N i ,k −1 ( t ) + N i +1,k −1 ( t ) Ni ,k ( t ) t i + k − ti ti + k +1 − ti +1 0 0 0
{Vi } = {V0 ,V1 , ,Vn }
思考: 曲线次数由 谁确定?
– 顶点(控制点)序列:
– k次(k+1阶)B样条曲线:
= r (t )
2015/4/19
∑ N ( t )V
i =0 i ,k
n
i
t ∈ [t0 , tn + k +1 ]
12
B样条上点的算法
– 给定参数t – 找到t所在的节点区间 – 计算非零的基函数 – 将非零基函数的值与相应的控制点相乘,再求 和.
[ti , ti +3+1 ]
Ni,2(t)
Ni+1,2(t) Ni,3(t)
2015/4/19
t1i
2 t i+1
ti3+2
ti4+3
ti5 +4
6
10
B样条基的性质
– 递推性 – 局部支撑性 – 规范性 – 可微性
≥ 0 t ∈ [ti , ti + k +1 ] Ni ,k ( t ) = = 0 t ∉ [ti , ti + k +1 ]
令:
2015/4/19
Ni,3(t)
0
1 0
1 0
1 0
1
ti
ti+1
ti+2
ti+3
ti+4
单个三次均匀B样条在其支撑区间[ti, ti+4]上的基函数图像
2015/4/19
18
– 整个区间上的基函数图像 Ni-2,3(u) Ni-3,3(u) ti-3 ti-2 ti-1 ti ti+1
Ni-1,3(u) Ni,3(u)
相关文档
最新文档