從B樣條的插值點反求控制點

三次週期B樣條曲線的算法

 0 £ u<1和四個控制點p0,p1,p2p3.

 設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)TMB是變換矩陣。
 那麼,P¢(u) = (3u2  2u  1  0)MB(p0  p1  p2  p3)T
 把u = 01分別代入上式,並利用前面的條件,得到
 
 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-1pn+1,使得 p-1p0 = p0p1pn-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)TMB是變換矩陣。
 那麼,P¢(u) = (3u2  2u  1  0)MB(p0  p1  p2  p3)T
 把u = 01分別代入上式,並利用前面的條件,得到
 
 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-1pn+1,使得 p-1p0 = p0p1pn-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)末兩點經過Q1QN的非週期三次B樣條曲線。
p0 = Q1, pN+1 = QN.
2)封閉的週期三次B樣條曲線。 P0=PN P1=PN+1
3)端點有二重控制點P0=P1PN+1=PN的三次B樣條曲線
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章