三次週期B樣條曲線的算法
0 £ u<1和四個控制點p0,p1,p2和p3. 設P(u)是一個三次週期B樣條,滿足條件:
P(0) = (p0 + 4p1 + p2)/6,
P(1) = (p1 + 4p2 + p3)/6,
P¢(0) = (p2 – p0)/2,
P¢(1) = (p3 – p1)/2.
假設P(u) = (u3 u2 u 1)MB(p0 p1 p2 p3)T,MB是變換矩陣。
那麼,P¢(u) = (3u2 2u 1 0)MB(p0 p1 p2 p3)T
把u = 0,1分別代入上式,並利用前面的條件,得到
P(u) = p0(1-u)3/6 + p1(3u3-6u2+4)/6+ p2(-3u3+3u2+3u+1)/6 +p3u3/6
= p0B0,3(u) + p1B1,3(u) + p2B2,3(u) + p3B3,3(u)
三次B樣條的性質
• C2連續性
記 Pk(u)爲對應於控制點pk, pk+1,pk+2 和pk+3 .
Pk(1) = (pk + 4pk+1 + pk+2)/6 = Pk+1(0) ,這是連續性
Pk¢(1) = ½ (pk+3 – pk+1) = Pk+1¢(0),這是C1連續性
Pk¢¢(1) = pk+1 -2pk+2 +pk+3 = Pk+1¢¢(0),這是C2連續性
• 局部性:改變一個控制點最多改變四個曲線段.
局部性:改變一個控制點最多改變四個曲線段.
• 擴展性:增加一個控制點,只增加一個曲線段.
• 當B樣條的節點是p0,p1,…,pn時,增加節點p-1和pn+1,使得 p-1p0 = p0p1和pn-1pn=pnpn+1
即p-1 + p1 = 2p0 和 pn-1 + pn+1 = 2pn。那麼B樣條以p0 爲起點且切於p0p1,以pn 爲終點且切於pn-1pn
事實上,增加了P-1(u)和Pn-2(u).
P0(0) = P-1(1) = (p-1+4p0+p1)/6 = p0,
P0¢(0) = P-1¢(1) = ½ (p1 – p-1) = (p1 – p0)
設P(u)是一個三次週期B樣條,滿足條件:
P(0) = (p0 + 4p1 + p2)/6,
P(1) = (p1 + 4p2 + p3)/6,
P¢(0) = (p2 – p0)/2,
P¢(1) = (p3 – p1)/2.
假設P(u) = (u3 u2 u 1)MB(p0 p1 p2 p3)T,MB是變換矩陣。
那麼,P¢(u) = (3u2 2u 1 0)MB(p0 p1 p2 p3)T
把u = 0,1分別代入上式,並利用前面的條件,得到
P(u) = p0(1-u)3/6 + p1(3u3-6u2+4)/6+ p2(-3u3+3u2+3u+1)/6 +p3u3/6
= p0B0,3(u) + p1B1,3(u) + p2B2,3(u) + p3B3,3(u)
三次B樣條的性質
• C2連續性
記 Pk(u)爲對應於控制點pk, pk+1,pk+2 和pk+3 .
Pk(1) = (pk + 4pk+1 + pk+2)/6 = Pk+1(0) ,這是連續性
Pk¢(1) = ½ (pk+3 – pk+1) = Pk+1¢(0),這是C1連續性
Pk¢¢(1) = pk+1 -2pk+2 +pk+3 = Pk+1¢¢(0),這是C2連續性
• 局部性:改變一個控制點最多改變四個曲線段.
局部性:改變一個控制點最多改變四個曲線段.
• 擴展性:增加一個控制點,只增加一個曲線段.
• 當B樣條的節點是p0,p1,…,pn時,增加節點p-1和pn+1,使得 p-1p0 = p0p1和pn-1pn=pnpn+1
即p-1 + p1 = 2p0 和 pn-1 + pn+1 = 2pn。那麼B樣條以p0 爲起點且切於p0p1,以pn 爲終點且切於pn-1pn
事實上,增加了P-1(u)和Pn-2(u).
P0(0) = P-1(1) = (p-1+4p0+p1)/6 = p0,
P0¢(0) = P-1¢(1) = ½ (p1 – p-1) = (p1 – p0)
從B樣條的插值點反求控制點
以三次週期B樣條P(u)爲例,每段三次B樣條需要四個控制點,該樣條的首尾兩點均不是控制點。設有N個插值點{Qj:j=1,2,…,N}和N+2個控制點{pj: j=0,1,…,N+1}。三次B樣條一般不經過控制點。第j段的三次週期B樣條Pj(u)滿足:
Pj(0) = (pj-1 + 4pj + pj+1)/6 = Qj, j=1,2,…,N.
對於點的每個座標來說,共有N個方程,但是有N+2個未知數。需要補充兩個邊界條件。
(1)末兩點經過Q1和QN的非週期三次B樣條曲線。
p0 = Q1, pN+1 = QN.
(2)封閉的週期三次B樣條曲線。 P0=PN, P1=PN+1。
(3)端點有二重控制點P0=P1和PN+1=PN的三次B樣條曲線