主題
Search

B樣條


BSpline

B樣條是貝塞爾曲線的推廣。令一個向量,稱為節點向量,定義為

 T={t_0,t_1,...,t_m},
(1)

其中 T 是一個非遞減序列,其中 t_i in [0,1],並定義控制點 P_0, ..., P_n。定義次數為

 p=m-n-1.
(2)

“節點” t_(p+1), ..., t_(m-p-1) 被稱為內部節點

定義基函式為

N_(i,0)(t)={1 if t_i<=t<t_(i+1) and t_i<t_(i+1); 0 otherwise
(3)
N_(i,j)(t)=(t-t_i)/(t_(i+j)-t_i)N_(i,j-1)(t)+(t_(i+j+1)-t)/(t_(i+j+1)-t_(i+1))N_(i+1,j-1)(t),
(4)

其中 j=1, 2, ..., p。那麼由

 C(t)=sum_(i=0)^nP_iN_(i,p)(t)
(5)

定義的曲線是 B樣條。

具體型別包括非週期 B樣條(前 p+1 個節點等於 0,最後 p+1 個節點等於 1;如上圖所示)和均勻 B樣條(內部節點均勻分佈)。沒有內部節點的 B樣條是貝塞爾曲線

曲線在出現 k 重複節點值的點處是 p-k 次可微分的。節點值決定了控制點控制的範圍。

B樣條在 Wolfram 語言中實現為BSplineCurve[pts]。


另請參閱

貝塞爾曲線, NURBS 曲線, 樣條

使用 探索

引用為

Weisstein, Eric W. “B-Spline。” 來自 Web 資源。 https://mathworld.tw/B-Spline.html

學科分類