樣條函數
在數學學科數值分析中,樣條(spline)是一種特殊的函數,由多項式分段定義。樣條的英語單詞spline來源於可變形的樣條工具,那是一種在造船和工程製圖時用來畫出光滑形狀的工具。在中國大陸,早期曾經被稱做齒函數。後來因為工程學術語中放樣一詞而得名。
在插值問題中,樣條插值通常比多項式插值好用。用低階的樣條插值能產生和高階的多項式插值類似的效果,並且可以避免被稱為龍格現象的數值不穩定的出現。並且低階的樣條插值還具有「保凸」的重要性質。
在計算機科學的計算機輔助設計和計算機圖形學中,樣條通常是指分段定義的多項式參數曲線。由於樣條構造簡單,使用方便,擬合準確,並能近似曲線擬合和交互式曲線設計中複雜的形狀,樣條是這些領域中曲線的常用表示方法。
定義
設為上的區間,給定k個點ti,稱為節點(knot),要求滿足以下條件
設為參數曲線。如果,並且S在每個子區間上為n次多項式,則稱為n次樣條。
稱為節點值而稱為內部控制點(internal control point)。 稱為節點向量(knot vector)。如果節點等距分佈在區間上,我們稱樣條均勻(uniform),否則為非均勻(non-uniform)。
註解
對於一個給定的節點向量,所有n次樣條構成一個向量空間。這個空間的一個基是n次B樣條基。該空間的維數可從節點向量的數量得出:
維數等於次數與所有重複度的和:
如果樣條有其他的線性限制條件,那麼這個樣條將存在於一個線性子空間中。例如自然三次樣條的空間是C2三次樣條的子空間。
常用的樣條有許多種,由它們的特徵命名。以下列出其中幾種:
由表達方式命名:
- 如果樣條是基曲線的線性組合, 則稱為B樣條
- 如果每個子區間的多項式由伯恩施坦多項式表達,則稱為貝茲樣條(Bézier splines)
由節點的特徵命名:
- 若使用單個節點,每個子區間長度相等且Cn−1連續,則稱為均勻樣條(uniform splines)
- 若對子區間長度沒有要求則稱為非均勻樣條(nonuniform splines)
由特殊條件限制命名:
- 若要求在a與b二次導數為零則稱為自然樣條(natural splines)
- 若要求樣條曲線穿過實際數據點則稱為插值樣條(interpolating splines)
歷史
在計算機被使用之前,數字演算用手工完成。雖然分段定義的象signum函數或階梯函數這樣的函數也被用到,一般人更喜歡多項式因為它們比較容易算。隨着計算機的發展,樣條變得越來越重要。它們一開始是作為多項式在插值中的替代品,後來又作為在計算機圖形學中構造光滑和可變形狀的工具。
spline function是一類分段(片)光滑、並且在各段交接處也有一定光滑性的函數。簡稱樣條。樣條一詞來源於工程繪圖人員為了將一些指定點連接成一條光順曲線所使用的工具,即富有彈性的細木條或薄鋼條。由這樣的樣條形成的曲線在連接點處具有連續的坡度與曲率。分段低次多項式、在分段處具有一定光滑性的函數插值就是模擬以上原理發展起來的,它克服了高次多項式插值可能出現的振盪現象,具有較好的數值穩定性和收斂性,由這種插值過程產生的函數就是多項式樣條函數。
樣條函數的研究始於20世紀中葉,到了60年代它與計算機輔助設計相結合,在外形設計方面得到成功的應用。樣條理論已成為函數逼近的有力工具。它的應用範圍也在不斷擴大,不僅在數據處理、數值微分、數值積分、微分方程和積分方程數值解等數學領域有廣泛的應用,而且與最優控制、變分問題、統計學、計算幾何與泛函分析等學科均有密切的聯繫。
參看
- 樣條插值
- 厄爾密樣條(Hermite spline)
- 三次厄爾密樣條
- 基數樣條(cardinal spline)
- Catmull-Rom樣條
- Kochanek-Bartels樣條
- B樣條
- 非均勻有理B樣條(non-uniform rational B-spline,NURBS)
- de Boor算法,計算B樣條的一個有效方法
- 貝塞爾樣條
外部連結
- An Interactive Introduction to Splines (頁面存檔備份,存於互聯網檔案館)
- Learning by Simulations (頁面存檔備份,存於互聯網檔案館) Interactive simulation of various cubic splines