《计算机辅助几何造型技术》4-2

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算机辅助几何造型技术》 7
反算控制点
k-1阶非均匀B样条基函数可以用k阶非均匀B样条基函 数的线性组合来表示:
⎡ B j ,k (t ) ⎤ ⎡ B j ,k −1 (t ) ⎤ ⎥ ⎢ B ⎥ ⎢ B t ( t ) ( ) 1 j + 1 , k − 1 j + 1 , k ⎢ ⎥= ⎥ A( j ) ⎢ ⎢ ⎥ k −1 ⎢ ⎥ # # ⎥ ⎥ ⎢ ⎢ B t B ( t ) ( ) ⎥ ⎥ ⎢ ⎢ j + k − 2 , k − 1 j + k − 1 , k ⎣ ⎦ ⎣ ⎦
其中:
v−1 1 u+2 1 au,v = (i − s), u +1 < v ∑ v−u−2 ∏ u +1 s=0 (s +1) i =u+1
《计算机辅助几何造型技术》
11
4.2.10.3 误差分析
降阶算法的主要误差在于计算退化曲线时所做的扰动上:
ˆ (u ) = c (u ) − c
k k n −1
+ε j ⎤ + ε j +1 ⎥ ⎥ = 0 j = 0,1, " , n − k . ⎥ # ⎥ + ε j + k −1 ⎥ ⎦
3
⎡ Vj ⎢ V j +1 k S j = [0 " 0 ( k − 1)!]M ( j + k − 1) ⎢ ⎢ ⎢ ⎢ ⎣ V j + k −1
《计算机辅助几何造型技术》
∑ε
j =0
j
B j ,k (u )
≤ ε max ∑ B j ,k (u )
j =0
n −1
其中
= ε max
ε max = max{ε j , j = 0,1,", n −1}
《计算机辅助几何造型技术》
12
计算实例
5阶B样条曲线的降阶
《计算机辅助几何造型技术》 13
4.3 B样条曲面
4.3.1 B样条曲面的定义
《计算机辅助几何造型技术》
9
设k阶B样条曲线的控制顶点为 阶 样条 线 Vi,对应k-1阶B样条 阶 样条 曲线的控制顶点为Pi。则有:
⎡ Pj ⎤ ⎢P ⎥ 1 1 j+ T ckj−1(u) = Bj,k (u) Bj+1,k (u) " Bj+k−1,k (u) A (j)⎢ ⎥ ⎢ # ⎥ k−1 ⎢ ⎥ ⎢ ⎣Pj+k−2⎥ ⎦
[
]
j = 0,1,"n − k
u=
t − t j + k −1 t j + k − t j + k −1
∈ [0,1)
《计算机辅助几何造型技术》
2
曲线 线
⎡ Vj ⎤ ⎢V ⎥ k −1 d k k ⎢ j +1 ⎥ = 0 [ ] c ( u ) = 0 " 0 ( k − 1 )! M ( j + k − 1 ) j ⎢ # ⎥ du k −1 ⎢ ⎥ V ⎢ ⎣ j + k −1 ⎥ ⎦
(6-4-26)
其中:
⎡ a0,0 ( j) a0,1 ( j) ⎢ a ( j) a ( j) 1,0 1,1 A( j) = ⎢ ⎢ # # ⎢ ⎣ak−2,0 ( j) ak−2,1 ( j)
" a0,k−1 ( j) ⎤ " a1,k−1 ( j) ⎥ ⎥ ⎥ " # ⎥ " ak−2,k−1Βιβλιοθήκη Baidu( j)⎦
[
]
在退化条件下,有:
⎡ Pj ⎤ ⎡ Vj ⎤ ⎢ P ⎥ ⎢V ⎥ j + 1 ⎥ = (k − 1) ⎢ j +1 ⎥ A T ( j) ⎢ ⎢ # ⎥ ⎢ # ⎥ ⎥ ⎢ ⎥ ⎢ P V ⎢ ⎢ ⎣ j+k −2 ⎥ ⎦ ⎣ j + k −1 ⎥ ⎦
(6-4-27)
《计算机辅助几何造型技术》
4.2.10 B样条曲线的降阶
• 4.2.10.1 B样条曲线可降阶的充要条件: 给定曲线的n个控制点Vi(i=0,1,…,n-1)和节点ti(i=0,1,…, n+k-1),节点矢量T={t0,t1, …,tn+k-1},。当t∈[tj+k-1,tj+k) 时, k阶B样条曲线可以表示为:
c k (t ) = ∑ V j B j ,k (t )
《计算机辅助几何造型技术》 17
4.3.2 B样条曲面的矩阵表示
利用B样条基函数的局部支撑性, 样条基函数的局部支撑性 k×h阶B样条曲面公式可改 阶 样条曲面公式可改 写为:
Si−k+1, j−h+1(u, v) = ∑ ∑Pr,s Br,k (u)Bs,h (v), u×v∈[ui ,ui+1)×[vj , vj+1)
[
]
其中
4 1 ⎡1 ⎢ 3 1 ⎢− 3 0 4 M = 6⎢ 3 −6 3 ⎢ ⎣−1 3 − 3 0⎤ 0⎥ ⎥ 0⎥ ⎥ 1⎦
16
《计算机辅助几何造型技术》
P13
P23 P33
P03 P02 P01 P 10 P00 P20
P12
P22
P21
P 11
P32 P31
P30 双三次B样条曲面片
8
《计算机辅助几何造型技术》
k − 2− u ⎧ 1 a ( j ) = , u ∈ [0, k − 2]; ∑ ⎪ u ,u s =0 1 − ns ( j + u ) ⎪ k −1 ⎪ 1 a ( j ) = , u ∈ [0, k − 2]; ⎪ u ,u +1 ∑ s= k −u ns ( j + u ) ⎪ k − u −1 u − v −1 ⎪ n s + i ( j + u − i − 1) ⎧ 1 ⎪ u −v ⎨ ⎪(−1) ∑ 1 − n ( j + u ) ∏ 1 − n ( j + u − i − 1) , u > v; s =1 i=0 s −1 s+i ⎪a ( j ) = ⎪ ⎨ k −2 u −v− 2 ⎪ u ,v 1 − n s − i ( j + u + i + 1) 1 v − u +1 ⎪ (−1) , u + 1 < v; ⎪ ∑ ∏ ⎪ n s − i ( j + u + i + 1) s = k − u − 2 n s +1 ( j + u ) i = 0 ⎪ ⎩ ⎪ t −t ⎪ n s (i ) = i + s i , s ∈ [0, k − 1]. ] ⎪ t i + k −1 − t i ⎩
⎡ 2 ⎢ (k − 1)! I ⎢ ⎢ A ⎢ ⎣
AT 0
⎡ ε0 ⎤ ⎡ 0 ⎤ ⎢ ε ⎥ ⎢ ⎥ 0 1 ⎢ ⎥ ⎢ ⎥ ⎢ # ⎥ ⎢ ⎥ # ⎢ ⎥ ⎢ ⎥ ε 0 ⎢ n −1 ⎥ ⎢ ⎥ k −1 ⎥ ⎢ − m k (k − 1)V ⎥ ⎤⎢ ∑ i i ⎥ ⎥⎢ λ0 ⎥ ⎢ i =0 ⎥ = ⎢ k −1 ⎥ ⎥⎢ k ⎥ ⎢ − ∑ mi (k + 1)Vi + 2 ⎥ ⎥⎢ ⎥ λ 2 ⎥ ⎢ i =0 ⎥ ⎦⎢ ⎢ ⎥ ⎢ # ⎥ ⎢ # ⎥ ⎢ k −1 k ⎥ ⎢λ ⎥ ⎢− ∑ mi (n − 1)Vi + n − k −1 ⎥ ⎢ n − k −1 ⎥ ⎢ i =0 ⎥ 0 ⎢ β0 ⎥ ⎢ ⎥ ⎢ β ⎥ ⎢ ⎥ 0 ⎦ ⎣ 1 ⎦ ⎣
《计算机辅助几何造型技术》 6
其中,I为n阶单位矩阵, A=
k ( k −1 ) ⎡ m0 ⎢ ⎢ ⎢ 0 ⎢ 1 ⎢ ⎣ 0 k ( k −1 ) m1 " k ( k +1 ) m0 " k ( k +1 ) m1 k ( k −1 ) mk −1 " % " " " % k ( k +1 ) mk −1 " k ( n −1 ) m0
k k
插入重节点后,新的节点矢量为:
t = (0 ,0 , " 0 ,1,1, 2 , 2 , " , n − k , n − k , n k +1 ,n − k + 1, " n − k + 1)
− ,
k k
设插入重节点后的曲线有n个控制顶点(在上例中,n=2m-k), k 则该曲线可以分为n-k+1段,分别表示为 c j (u ), j = 0,1,", n − k k ˆ ε c ,对其控制点 Vi选取适当的扰动 i ,使得每段修正曲线 j (u ) 都满足退化条件 。
10
对于最常用的端点插值B样条曲线,其第一段曲 线c0对应的矩阵可以化简为:
1 a 0, 2 ⎡k − 1 ⎢ k−2 3 ⎢ ⎢ % ⎢ A(0) = ⎢ ⎢ ⎢ ⎢ ⎢ 0 ⎢ ⎣ ⎤ ⎥ ⎥ ⎥ % u +1 ⎥ 1 ⎥ k − u − 1 (u + 1)∑ % # ⎥ i =1 i % % a k − 3,k −1 ⎥ k −1 ⎥ 1 1 (k − 1)∑ ⎥ i =1 i ⎥ ⎦ a 0,3 a1,3 % " " a 0,k −1 a1,k −1 #
⎡ Pi, j Pi, j+1 Pi, j+2 ⎢P Pi+1, j+1 Pi+1, j+2 2 3 4 ⎢ i+1, j Si, j (u,v) = 1 u u u M ⎢Pi+2, j Pi+2, j+1 Pi+2, j+2 ⎢ ⎢ ⎣Pi+3, j Pi+3, j+1 Pi+3, j+2 0 ≤ u , u ≤ 1; i = 0,1,2, " , n − 3; Pi, j+3 ⎤ ⎡ 1⎤ ⎢v⎥ Pi+1, j+3 ⎥ ⎥(M4 )T ⎢ ⎥ Pi+2, j+3⎥ ⎢v2 ⎥ ⎥ ⎢ 3⎥ Pi+3, j+3 ⎥ ⎣v ⎦ ⎦ j = 0,1,2, " , m − 3
n
m
Pij 构成一张控制网格,称为B样条曲面的
特征网格或控制多面形。 N i , p (u ) 和 N j ,q (v) 是B样条基函数,分别由节点矢量 样条基函数 分别由节点矢量U和V 按deBoor deBoor-Cox Cox递推公式决定。
《计算机辅助几何造型技术》
15
当p=q=4, ui+1- ui≡c1 (i=0,1,…,n+p-1), vj+1- vj≡c2 (j=0,1,…, =0 1 m+q 1)时,上式表示的是双三次均匀 m+q时 上式表示的是双三次均匀B 样条曲面。其矩阵表示是:
《计算机辅助几何造型技术》 4
n −1 ⎧ 2 = min( f ) min ε ; ∑ ⎪ i i =0 ⎨ ⎪S = 0, j = 0,1, ", n − k . ⎩ j
取Lagrange函数为
L=∑ εj
j =0 n −1 2
+ ∑λ jS j
j =0
n−k
则有:
《计算机辅助几何造型技术》
5
c kj (u )曲线可降阶的充要条件为: 线 降阶 充 条件
对曲线的控制顶点Vi选取适当的扰动εi,使得扰动后的曲线
ˆ kj (u ) = 1 u " u k −1 c
[
]
满足退化条件:
⎡ Vj + ε j ⎤ ⎢ V +ε ⎥ j + 1 j + 1 k ⎥ , u ∈ [0,1) M ( j + k − 1) ⎢ ⎢ ⎥ # ⎥ ⎢ + V ε ⎢ j + k −1 ⎥ ⎣ j + k −1 ⎦
" k ( n −1 ) m1
% " " 0
0
⎤ ⎥ ⎥ k ( n −1 ) ⎥ mk −1 ⎥ 0 ⎥ 1 ⎦ 0
mk j (i ) ( j = 0,1, " , k − 1)
* ⎡ * ⎢ # # M k (i) = ⎢ ⎢ * * ⎢ k k ⎣m0 (i) m1 (i)
由下式定义
⎤ " # ⎥ ⎥ " * ⎥ ⎥ k " mk ( i ) −1 ⎦ " *
j =0
n −1
《计算机辅助几何造型技术》
1
c kj (u ) = B j , k (u )
[
B j +1, k (u ) "
⎡ Vj ⎤ ⎢ V ⎥ j +1 ⎥ B j + k −1, k (u ) ⎢ ⎢ # ⎥ ⎢ ⎥ V ⎢ ⎣ j + k −1 ⎥ ⎦
]
其中:
⎡ Vj ⎤ ⎢V ⎥ j +1 ⎥ = 1 u " u k −1 Mk ( j + k − 1)⎢ , ⎢ # ⎥ ⎥ ⎢ V ⎢ j + k −1 ⎥ ⎣ ⎦
• 给定参数轴u和v的节点矢量
U = [u0 , u1 , " , u n + p ]
V = [v0 , v1 , " , vm + q ]
p×q阶B样条曲面定义如下
P (u , v) =
i =0 j =0
∑ ∑ Pij N i, p (u ) N j , q (v)
《计算机辅助几何造型技术》 14
4.2.10.2 整条B样条曲线的降阶逼近: 对于一条有m个控制点的k阶非均匀B样条曲线(m>k),设其 节点矢量为
t = (0 ,0 ," ,0,1,2", n − k , n − k +1 , n − k + 1," , n− k + 1)

相关文档
最新文档