• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

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

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

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

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

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

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

      拋物樣條算法;等值線;閉曲線;開曲線

      1 引 言

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

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

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

      2 拋物樣條算法的原理

      拋物樣條算法的基本原理是選擇較為簡單的拋物線作為基本曲線,來擬合給定離散點(diǎn)所生成的曲線。設(shè)有不在同一直線上的3點(diǎn):p1、p2和p3,則通過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í),曲線過p1點(diǎn);

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

      (3)當(dāng)參變量t=0.5時(shí),拋物線過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 過三點(diǎn)定義拋物線

      圖2 重疊區(qū)間

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

      同理,得第i+1條拋物線段Si+1(ti+1)。一般來說,每兩段曲線之間的重疊區(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á)式為:

      從幾何意義上說,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è)問題,采用添加輔助點(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。

      通過這種方法,就為平滑閉合的和不閉合的等值線奠定了理論的基礎(chǔ)。通過驗(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編程語言,最終很好地實(shí)現(xiàn)了該算法,完成了閉合和不閉合的拋物樣條曲線的繪制。以不閉合的拋物樣條曲線為例,其算法的偽代碼如下:

      (1)定義存儲(chǔ)拋物樣條曲線上的點(diǎn)集 interList-Points和步長變量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ì)算簡單,容易編程實(shí)現(xiàn)。因?yàn)樵撍惴ㄖ皇潜WC了C1連續(xù),而三次樣條插值算法可以保證達(dá)到C2連續(xù),故其光滑性和柔性沒有三次樣條插值算法好,但其時(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)過上述方法處理,一般情況下是不會(huì)出現(xiàn)等值線相交的現(xiàn)象。如圖5和圖6所示,圖5為未經(jīng)過加點(diǎn)處理直接采用拋物樣條曲線算法生成的某市的雨量等值線圖,圖6為經(jīng)過加點(diǎn)處理后采用拋物樣條曲線算法生成的某市的雨量等值線圖。

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

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

      5 結(jié) 論

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

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

      [2]賈國憲,劉新江,陳勤勤.MapX下繪制等值線圖的一種簡易方法[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]朱金燦.拋物樣條曲線的原理說明及畫拋物曲線的一個(gè)類.http://blog.csdn.net/clever101/archive/2006/06/03/ 771160.aspx,2006-6-3

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

      [7]陸潤民.計(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)用研究。

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

      猜你喜歡
      等值線圖等值線拋物
      湖南省似大地水準(zhǔn)面模型對(duì)比研究
      高空拋物罪的實(shí)踐擴(kuò)張與目的限縮
      法律方法(2022年2期)2022-10-20 06:45:28
      基于規(guī)則預(yù)計(jì)格網(wǎng)的開采沉陷等值線生成算法*
      關(guān)于拋物-拋物Keller-Segel類模型的全局解和漸近性
      不要高空拋物!
      高空莫拋物
      如何來解決等值線問題
      等值線“慣性”變化規(guī)律的提出及應(yīng)用
      利用ACAD線型編輯功能實(shí)現(xiàn)SURFER繪制等值線圖的修改初探
      江蘇水利(2015年9期)2015-12-12 08:17:18
      基于Kriging插值的等值線生成算法研究
      四子王旗| 石首市| 许昌县| 武平县| 凭祥市| 新安县| 集贤县| 鸡泽县| 龙海市| 师宗县| 西吉县| 丰都县| 富蕴县| 军事| 西城区| 赤城县| 福建省| 页游| 开平市| 巨鹿县| 定西市| 大余县| 呼伦贝尔市| 绥中县| 珲春市| 东辽县| 龙江县| 兴化市| 噶尔县| 平江县| 德安县| 田东县| 兴宁市| 全椒县| 呼伦贝尔市| 福建省| 赣榆县| 孝感市| 安庆市| 临西县| 扶沟县|