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