介紹 1074年,Gordon和Riesenfeld用B樣條基函數(shù)代替了Bernstein基函數(shù),構(gòu)造了B樣條曲線。B樣條曲線分段組成。每一段的參數(shù)t的區(qū)間為[0,1]。這樣就克服了Bezier曲線的缺點(diǎn):改變Berier曲線任意一個(gè)控制點(diǎn),曲線上的所有點(diǎn)都變換。BSpline曲線的優(yōu)點(diǎn):修改某一控制點(diǎn)只引起與該控制點(diǎn)相鄰的曲線形狀發(fā)生變化,遠(yuǎn)處的曲線形狀不受影響。這種優(yōu)點(diǎn)使得B樣條曲線廣泛應(yīng)用于交互式自由曲面設(shè)計(jì)。
二次Bezier曲線有三個(gè)控制點(diǎn)。n條二次Bezier曲線有3n個(gè)控制點(diǎn)。實(shí)際上,不需要這么多控制點(diǎn)。二個(gè)相接的曲線可減少一個(gè)點(diǎn)。可減少n-1點(diǎn)。設(shè)第1條二次Bezier的三個(gè)控制點(diǎn)為p1,p2,p3,第2條二次Bezier的三個(gè)控制點(diǎn)為p3,p4,p5,則控制點(diǎn)可減少為5個(gè)即p1 p2 p3 p4 p5。如果令p3為p2與p4點(diǎn)的中點(diǎn),則又減少了一個(gè)控制點(diǎn)p3。這樣,四個(gè)控制點(diǎn)p1 p2 p4 p5就可以確定二條二次Bezier曲線。5個(gè)控制點(diǎn)確定3條,6個(gè)控制點(diǎn)確定4條。n個(gè)控制點(diǎn)確定n-2條二次Bezier曲線。
B樣條曲線的定義 B樣條曲線分為均勻B樣條曲線和非均勻B樣條曲線,這里只討論均勻B樣條曲線。給定n+1個(gè)控制點(diǎn)Pi(i=0,1,2,...,n)的坐標(biāo)Pi,n次B樣條曲線段的參數(shù)表達(dá)式為 式中為n次B樣條基函數(shù),其形式為
其中
二次B樣條曲線 二次B樣曲線的n=2,i=0,1,2控制多邊形有3個(gè)控制點(diǎn)P0,P1,P2。B樣條曲線是二次多項(xiàng)式。 公式 待續(xù) 三次B樣條曲線 公式待續(xù) 演示程序截圖 三次B spline
參考書籍 《計(jì)算機(jī)圖形學(xué)》 孔令德 |
|