三次B样条插值和误差分析
關鍵字:基函數,控制點,節點
參考:http://www.docin.com/p-1511846558.html?
前言:之前寫寫過一篇B樣條曲線,這篇是原文的深度擴展,是針對B樣條曲線的一種特殊情況,三次B樣條,討論了其插值和誤差分析,添加了一些個人總結。
思路:根據已知的型值點(就是給出的已知的數據點),采用均勻參數法構造節點矢量,得到基函數的表達形式,然后利用逼近思想構造三對角陣,利用追趕法求控制點,最后擬合。
一、目的和思想
由已知的觀測點,為物理量(未知量)建立一個簡單的,連續的解析模型,根據該模型推測在非觀測點的特性。
B樣條相比于分段線性插值,在節點處可導,具有光滑性,這是它的優點。
構造思想在于通過給定的型值點反求出控制點,從而擬合曲線,可以通過更改控制點改變曲線形狀。
實際B樣條計算的兩種情況:第一種就是本文的構造思想(上一行)。第二種是直接給出控制點。
二、定義
2.1 B樣條
控制點為Pi(i=0,1,2,....,n),p次B樣條曲線方程為
是p次B樣條基函數,為節點矢量。
節點矢量的選取方法為:均勻參數法,積累弦長法,向心參數法(這里選擇均勻參數法)
?
注意這里的u是一個點,可能位于的一個數,而不是像的一個向量。
為了將曲線的首末端點分別與首末數據點對應,需要將首末端點都做p+1重,即
即
注意對于p次樣條,有
三、3次B樣條基的計算
根據第二條性質,時,
p=3時,
其中每一項分別如下:
四、3次B樣條控制點的計算
假設給定一組型值點和節點矢量,首末是四重,即,首末分別與和對應。如下圖所示,那么內部節點與對應。即與對應,與對應,則r-0+1=m-3-3+1,r=m-6。所以如前文所述,這里控制節點的個數為n+1,因為m=n+p+1,所以m=n+4,那么r=n-2。
那么B樣條曲線的方程為
為了求控制點Pi,采用非節點條件,將首末型值點分別對應于參數和,使得所取得的參數分別接近于,有
即
其中
化成三對角矩陣,用追趕法求解
五、B樣條曲線誤差分析
對于每個小區間上的點u,可以表示為
B樣條曲線上一點為,注意這里的P的是二維的,第二個下標表示是第一維度的還是第二維度的。那么
繼續化簡,
如果分段線性插值上的點為,那么
令
那么
在每一個區間上,3次B樣條曲線與折線段都會有一個或者兩個功高,功高可以衡量誤差的大小
令
那么
根為
B樣條曲線與折線段出現一個功高,出現兩個功高,曲線與折線段有交點,交點參數為曲線上點的斜率與原型點連線斜率相等時功高最大,可以用牛頓切線法找到功高最大點處,計算功高大小,判斷插值好壞。
總結
以上是生活随笔為你收集整理的三次B样条插值和误差分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Reds关键技术分析及应用
- 下一篇: css网页网格线条背景