999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

拋物樣條算法在等值線平滑中的應(yīng)用

2010-04-19 10:12:00于雪濤奚硯濤朱金燦牛坤于書媛
城市勘測(cè) 2010年5期
關(guān)鍵詞:拋物線方法

于雪濤,奚硯濤,朱金燦,牛坤,于書媛

(1.中國(guó)礦業(yè)大學(xué)資源與地球科學(xué)學(xué)院,江蘇徐州 221008; 2.航天星圖科技(北京)有限公司,北京 100029)

拋物樣條算法在等值線平滑中的應(yīng)用

于雪濤1?,奚硯濤1,朱金燦2,牛坤1,于書媛1

(1.中國(guó)礦業(yè)大學(xué)資源與地球科學(xué)學(xué)院,江蘇徐州 221008; 2.航天星圖科技(北京)有限公司,北京 100029)

在深入研究分段拋物樣條算法的基礎(chǔ)之上,采用Visual Basic.NET2005開(kāi)發(fā)語(yǔ)言,最終設(shè)計(jì)并實(shí)現(xiàn)了基于該算法的閉合和不閉合的平滑拋物樣條曲線繪制方法。并將該算法應(yīng)用到雨量等值線的平滑中,取得了較為理想的效果。并采用均勻添加型值點(diǎn)的方式,使最終等值線的繪制更加科學(xué)化,避免相交情況的出現(xiàn)。

拋物樣條算法;等值線;閉曲線;開(kāi)曲線

1 引 言

由于等值線圖用于表示三維空間或可以認(rèn)為是三維空間的現(xiàn)象,看起來(lái)非常直觀、形象,因此在天氣預(yù)報(bào)、氣候預(yù)測(cè)分析等方面用得非常多,已成為預(yù)報(bào)員不可缺少的工具之一。如各等壓面層的位勢(shì)高度圖、高空環(huán)流、溫度及降水分布圖等等[1,2]。

在追蹤等值線的過(guò)程中,一般都是得到一系列的點(diǎn)集,然后按順序連接這些點(diǎn),生成閉合和不閉合的等值線。此時(shí)得到的等值線,如果不經(jīng)過(guò)平滑處理,則最終生成的每條等值線是由多段折線組成,雖然表達(dá)精確,然而并不美觀。尤其在雨量等值線的繪制過(guò)程中,習(xí)慣上在繪制雨量等值線圖時(shí)希望略微犧牲一些準(zhǔn)確性而保持曲線的光滑性[3]。

在等值線的平滑算法中,平滑的方法有T-N方法、Bezier方法、B樣條方法、三次樣條方法、拋物樣條方法以及最小二乘法等[4]。其中使用比較多的是B樣條曲線、Bezier曲線和三次樣條曲線方法,而對(duì)于拋物樣條曲線方法,研究和使用的還比較少。

2 拋物樣條算法的原理

拋物樣條算法的基本原理是選擇較為簡(jiǎn)單的拋物線作為基本曲線,來(lái)擬合給定離散點(diǎn)所生成的曲線。設(shè)有不在同一直線上的3點(diǎn):p1、p2和p3,則通過(guò)3點(diǎn)用矢量表達(dá)式表示的拋物曲線表達(dá)式為:p(t)=A1+A2t+A3t2(0≤t≤1),然后再設(shè)定3個(gè)獨(dú)立條件:

(1)拋物線段以p1點(diǎn)為始點(diǎn),即當(dāng)參變量t=0時(shí),曲線過(guò)p1點(diǎn);

(2)拋物線段以p3點(diǎn)為終點(diǎn),即當(dāng)參變量t=1時(shí),曲線過(guò)p3點(diǎn);

(3)當(dāng)參變量t=0.5時(shí),拋物線過(guò)p2點(diǎn),并且該點(diǎn)的切矢量等于p3-p1。

在這3個(gè)條件下,構(gòu)造的拋物線段如圖1所示。根據(jù)3個(gè)條件建立方程并聯(lián)立求解,計(jì)算得到3個(gè)系數(shù)A1、A2和A3并帶入拋物線的表達(dá)式最后得:

圖1 過(guò)三點(diǎn)定義拋物線

圖2 重疊區(qū)間

設(shè)有一離散型值點(diǎn)列Pi(i=1,2,…,n),每經(jīng)過(guò)相鄰3點(diǎn)做一段拋物線,由于有n個(gè)型值點(diǎn),故可以做n-2條拋物線段。第i條拋物線段的表達(dá)式為:

同理,得第i+1條拋物線段Si+1(ti+1)。一般來(lái)說(shuō),每?jī)啥吻€之間的重疊區(qū)間,兩條拋物線是不可能完全重合的,如圖2所示。為此,采用加權(quán)合成法讓兩條曲線按照一定的規(guī)則結(jié)合成一條曲線。設(shè)定共同區(qū)間的函數(shù)為:pi+1(t)=(1-T)?Si(ti)+T?Si+1(ti+1),其中1-T和T為具有互補(bǔ)性的一次權(quán)函數(shù),式中的3個(gè)參數(shù)T、ti和ti+1可以統(tǒng)一參變量為:T=2t,ti=0.5+t,ti+1=t(0≤t≤0.5),代入Si(ti)和Si+1(ti+1)的表達(dá)式,最終整理得到的函數(shù)表達(dá)式為:

從幾何意義上說(shuō),pi+1(t)表示的是圖2中的點(diǎn)Pi+1到點(diǎn)Pi+2之間的線段,這種方法只能從n個(gè)點(diǎn)中得到n-3段曲線,但是n個(gè)型值點(diǎn)應(yīng)有n-1段曲線,為了解決這個(gè)問(wèn)題,采用添加輔助點(diǎn)方法。對(duì)于不閉合的曲線,可以添加兩個(gè)輔助點(diǎn),即P0和Pn+1,令P0=P1和Pn+1=Pn。對(duì)于閉合曲線,可以添加三個(gè)輔助點(diǎn),即P0、Pn+1和Pn+2,令P0=Pn、Pn+1=P1和Pn+2=P2。

通過(guò)這種方法,就為平滑閉合的和不閉合的等值線奠定了理論的基礎(chǔ)。通過(guò)驗(yàn)證可知,這種方法可以保證達(dá)到C1連續(xù)。對(duì)于一般的應(yīng)用場(chǎng)合,達(dá)到C1連續(xù)就滿足了實(shí)際要求[5~7]。

3 拋物樣條算法的實(shí)現(xiàn)

作者在充分理解并分析上述算法的原理基礎(chǔ)之上,采用Visual Basic.NET 2005編程語(yǔ)言,最終很好地實(shí)現(xiàn)了該算法,完成了閉合和不閉合的拋物樣條曲線的繪制。以不閉合的拋物樣條曲線為例,其算法的偽代碼如下:

(1)定義存儲(chǔ)拋物樣條曲線上的點(diǎn)集 interList-Points和步長(zhǎng)變量t=0.5/10,

(2)for(i=0 to 10)

①計(jì)算拋物樣條曲線的a、b、c和d四個(gè)參數(shù),四個(gè)參數(shù)的計(jì)算表達(dá)式如下:

②添加輔助點(diǎn)P0=Pn,以P0、P1、P2和P3四個(gè)點(diǎn)構(gòu)造拋物樣條曲線函數(shù),計(jì)算平滑點(diǎn)TmpPnt的坐標(biāo)。

③按先后順序添加TmpPnt點(diǎn)到interListPoints點(diǎn)集中。

①計(jì)算拋物樣條曲線的a、b、c和d四個(gè)參數(shù),計(jì)算方法同上。

②以Pi、Pi+1、Pi+2和Pi+3四個(gè)點(diǎn)構(gòu)造拋物樣條曲線函數(shù),計(jì)算平滑點(diǎn)TmpPnt的坐標(biāo)X和Y,方法同上。

③按先后順序添加TmpPnt點(diǎn)到interListPoints點(diǎn)集中。

(4)for(i=0 to 10)

①計(jì)算拋物樣條曲線的a、b、c和d四個(gè)參數(shù),計(jì)算方法同上。

②添加輔助點(diǎn)Pn+1=P1,以Pn-2、Pn-1、Pn和Pn+1四個(gè)點(diǎn)構(gòu)造拋物樣條曲線函數(shù),計(jì)算平滑點(diǎn)TmpPnt的坐標(biāo)X和Y,方法同上。

③按先后順序添加TmpPnt點(diǎn)到interListPoints點(diǎn)集中。

(5)返回interListPoints,得到拋物樣條曲線上的所有點(diǎn)。

閉合的拋物樣條曲線算法與其類似,所不同的是它須添加三個(gè)輔助點(diǎn),即P0、Pn+1和Pn+2,其中P0=P1、Pn+1=Pn和Pn+2=P2,即需在兩端和兩端連接處各構(gòu)造一段拋物線。采用上述方法,生成的拋物樣條曲線如圖3和圖4所示,圖3為閉合的拋物樣條曲線,圖4為不閉合的拋物樣條曲線[5]。

圖3 閉合的拋物樣條曲線

圖4 不閉合的拋物樣條曲線

4 應(yīng)用實(shí)例

從以上可以看出,該算法計(jì)算簡(jiǎn)單,容易編程實(shí)現(xiàn)。因?yàn)樵撍惴ㄖ皇潜WC了C1連續(xù),而三次樣條插值算法可以保證達(dá)到C2連續(xù),故其光滑性和柔性沒(méi)有三次樣條插值算法好,但其時(shí)間效率還是相當(dāng)高的,相比三次樣條插值算法而言[6]。將該算法應(yīng)用到等值線的平滑中,其平滑效果已經(jīng)能夠達(dá)到雨量等值線的繪制要求。在作者直接把該算法應(yīng)用到等值線的平滑中時(shí),發(fā)現(xiàn):對(duì)于相對(duì)稀疏的等值線,其平滑效果比較美觀,但當(dāng)?shù)戎稻€相對(duì)稠密時(shí),其平滑效果雖達(dá)到要求,但是有時(shí)會(huì)出現(xiàn)等值線相交的情況。對(duì)于此種情況,筆者的解決方法是對(duì)未經(jīng)平滑的型值點(diǎn)序列進(jìn)行加密處理,處理的方法是:在兩點(diǎn)之間的1/5、2/5、3/5和4/5處,添加4個(gè)型值點(diǎn),并按順序插入到等值點(diǎn)序列中。經(jīng)過(guò)上述方法處理,一般情況下是不會(huì)出現(xiàn)等值線相交的現(xiàn)象。如圖5和圖6所示,圖5為未經(jīng)過(guò)加點(diǎn)處理直接采用拋物樣條曲線算法生成的某市的雨量等值線圖,圖6為經(jīng)過(guò)加點(diǎn)處理后采用拋物樣條曲線算法生成的某市的雨量等值線圖。

圖5 未經(jīng)加點(diǎn)處理生成的雨量等值線圖

圖6 經(jīng)加點(diǎn)處理生成的雨量等值線圖

5 結(jié) 論

作者在深入研究拋物樣條插值算法的基礎(chǔ)上,設(shè)計(jì)并實(shí)現(xiàn)了拋物樣條算法,并將該算法用到雨量等值線的繪制中,解決了等值線的平滑問(wèn)題,并且效果較為理想。該算法在應(yīng)用到等值線的平滑的過(guò)程中,也發(fā)現(xiàn)存在一些小的問(wèn)題,即在拐點(diǎn)附近出現(xiàn)凸包現(xiàn)象,故該算法對(duì)于如何恰當(dāng)?shù)剡x擇輔助點(diǎn)、端點(diǎn)條件怎么確定以及在什么樣的情況下適用等問(wèn)題還有待做進(jìn)一步的研究。

[1]呂勇平,戴景茹.離散點(diǎn)插值方法,等值線的繪制及平滑技巧[J].廣東氣象,1998,(S2):69~71,73

[2]賈國(guó)憲,劉新江,陳勤勤.MapX下繪制等值線圖的一種簡(jiǎn)易方法[J].北京測(cè)繪,2004,(2):35~39

[3]陳松喬,狄立勛.雨量等值線圖繪制的算法優(yōu)化及實(shí)現(xiàn)[J].湖南水利,1999(1):30~33

[4]孫桂茹,馬亮,路登平等.等值線生成與圖形填充算法[J].天津大學(xué)學(xué)報(bào),2000,33(6):816~818

[5]朱金燦.拋物樣條曲線的原理說(shuō)明及畫拋物曲線的一個(gè)類.http://blog.csdn.net/clever101/archive/2006/06/03/ 771160.aspx,2006-6-3

[6]張永利.分段二次拋物樣條插值法.中國(guó)科技論文在線(http://www.paper.edu.cn).2009.07.16

[7]陸潤(rùn)民.計(jì)算機(jī)繪圖原理及應(yīng)用[M].北京:清華大學(xué)出版社,1996,142~150

Application of Parabola-Spline Algorithm in Smoothing Contour

Yu XueTao1,Xi YanTao1,Zhu JinCan2,Niu Kun1,Yu ShuYuan1
(1.School of Resources and Earth Science,China University of Mining&Technology,Xuzhou 221008,China;2.ImageInfo Company Limited,Beijing 100029,China)

Based on studying the parabola-spline Algorithm fully,this paper completed designing and releasing the algorithm of drawing close and unclose parabola-spline curves,by using Visual Basic.NET2005.This Algorithm has been applied to smooth rain-contour lines,and obtained the ideal effect.Besides,it made the contour-drawing more Scientific to add data points,avoiding the phenomenon that contour lines intersect with others.

parabola-spline algorithm;contours;close curve;unclose curve

1672-8262(2010)05-135-03

P209

B

2010—04—16

于雪濤(1984—),男,碩士研究生,從事地理信息系統(tǒng)理論及相關(guān)應(yīng)用研究。

中國(guó)礦業(yè)大學(xué)青年科研基金項(xiàng)目(A2006018)和中國(guó)礦業(yè)大學(xué)資源與地球科學(xué)學(xué)院科研基金項(xiàng)目資助。

猜你喜歡
拋物線方法
選用合適的方法,求拋物線的方程
拋物線高考滿分突破訓(xùn)練(B卷)
巧求拋物線解析式
巧用拋物線的對(duì)稱性解題
學(xué)習(xí)方法
拋物線變換出來(lái)的精彩
玩轉(zhuǎn)拋物線
用對(duì)方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
主站蜘蛛池模板: 久久国产高清视频| 亚洲国产看片基地久久1024| 亚洲中文字幕日产无码2021| 内射人妻无码色AV天堂| 天堂成人在线视频| 国产麻豆91网在线看| 精品国产网| 久久久久无码国产精品不卡| 狼友av永久网站免费观看| 日韩美毛片| 国产网站免费| 五月婷婷综合色| 久久黄色一级视频| 国产一级毛片在线| 国产97视频在线| 亚洲中文字幕久久无码精品A| 红杏AV在线无码| 一级毛片在线播放免费| 成人国产三级在线播放| 国产地址二永久伊甸园| 无码精品国产VA在线观看DVD| 欧美成人手机在线观看网址| 99中文字幕亚洲一区二区| 91精品国产自产在线老师啪l| 久久这里只有精品国产99| 亚洲成a人片| 综合久久五月天| 亚洲Av综合日韩精品久久久| 看av免费毛片手机播放| 欧美国产三级| 欧美人在线一区二区三区| 婷婷伊人五月| 午夜高清国产拍精品| 欧美精品在线免费| 日本国产精品一区久久久| 亚洲全网成人资源在线观看| 日韩黄色在线| 国产无码性爱一区二区三区| 亚洲综合久久成人AV| 亚洲精品亚洲人成在线| 国产91视频免费| 波多野结衣爽到高潮漏水大喷| 久久国产乱子| 国产在线观看91精品| 激情六月丁香婷婷四房播| 青青操视频在线| 秋霞午夜国产精品成人片| 国产美女无遮挡免费视频网站| 欧美一级特黄aaaaaa在线看片| 久久中文字幕不卡一二区| 国产香蕉在线视频| 91视频区| 色老二精品视频在线观看| 日韩精品成人在线| 人妻丰满熟妇AV无码区| 精品人妻一区无码视频| 999国内精品久久免费视频| 欧美成人一级| 国产精品福利一区二区久久| 草逼视频国产| 人妻91无码色偷偷色噜噜噜| 久青草免费在线视频| 亚洲精品第一在线观看视频| 国产国模一区二区三区四区| 怡春院欧美一区二区三区免费| www精品久久| 手机在线免费不卡一区二| 精品少妇人妻av无码久久| 国产亚洲欧美日韩在线一区二区三区| 国产成人久久777777| 欧美97欧美综合色伦图| 亚洲一区二区三区国产精品| 日本三区视频| 日韩小视频在线观看| 亚洲最大综合网| 国产欧美日韩18| 日韩中文无码av超清| 国产精品va免费视频| 国产极品美女在线观看| 亚洲成年人网| 久久综合丝袜日本网| 国产男人天堂|