《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 一種新的等值線繪制方法研究
一種新的等值線繪制方法研究
爨 瑩,朱航洲
(西安石油大學 計算機學院,陜西 西安 710065)
摘要: 提出了一種用Surfer軟件提供的可編程方法對散點數(shù)據(jù)進行網(wǎng)格化,再用矩形追蹤法追蹤等值線的新方法。利用新方法繪制出的等值線既具有高精度性和實用性,又具有可維護性,這也表明該方法是一個實用、有效的等值線繪制方法。
Abstract:
Key words :

摘  要: 提出了一種用Surfer軟件提供的可編程方法對散點數(shù)據(jù)進行網(wǎng)格化,再用矩形追蹤法追蹤等值線的新方法。利用新方法繪制出的等值線既具有高精度性和實用性,又具有可維護性,這也表明該方法是一個實用、有效的等值線繪制方法。
關鍵詞: Surfer;等值線;離散數(shù)據(jù)網(wǎng)格化;矩形追蹤

 等值線圖是在石油勘探開發(fā)、采礦、地質(zhì)、地球物理、地球化學和氣象等工程和技術領域內(nèi)應用極廣的一種圖形,是眾多領域成果表示的重要圖件之一。在等值線繪制過程中,首先要對散點數(shù)據(jù)進行網(wǎng)格化,而常用的數(shù)據(jù)網(wǎng)格化方法(如距離加權(quán)法、方位法、趨勢面法、加權(quán)最小二乘法、疊加法)的精度和有效性都不高;Kriging估值技術雖然比傳統(tǒng)的估值技術具有更高的先進性和有效性,但這種方法目前還沒有得到廣泛應用,許多細節(jié)問題還處于研究階段。本文介紹利用Surfer軟件提供的可編程方法對散點數(shù)據(jù)進行網(wǎng)格化,然后用矩形追蹤法對網(wǎng)格化后的數(shù)據(jù)進行追蹤,并實現(xiàn)了放大、縮小、漫游、光滑等功能,繪制出的等值線具有更強的實用性。
1 繪制等值線圖原理
1.1 離散數(shù)據(jù)網(wǎng)格化

 為了繪制等值線圖,首先需要把離散分布的數(shù)據(jù)點網(wǎng)格化。為此,要建立數(shù)字高程模型(DEM),其主要功能就是將離散數(shù)據(jù)網(wǎng)格化。其主要步驟為:首先,由原始數(shù)據(jù)點的橫、縱坐標的最小值和最大值構(gòu)成矩形網(wǎng)格的邊界;然后,根據(jù)用戶需要將矩形再劃分為m×n個小矩形,即形成矩形網(wǎng)格;最后,用插值算法得到每個網(wǎng)格點的高程值。
 DEM內(nèi)插有多種算法,常用的有距離加權(quán)法、樣條函數(shù)內(nèi)插、最小二乘配置法和Kriging方法等。本文使用Suffer軟件中提供的可編程方法對散點數(shù)據(jù)網(wǎng)格化,其具體算法如下。
 (1)輸入?yún)?shù);
 (2)根據(jù)輸入?yún)?shù)從數(shù)據(jù)庫提取X、Y坐標及高程值Z,并保存到文本數(shù)據(jù)文件;
 (3)在程序中引用surfer并創(chuàng)建surfer(srf)和grid(grd)對象;
 (4)用srf對象的GridData方法將文本文件轉(zhuǎn)換成surfer格式文件(.grd文件);
 (5)用grd對象的GetNode方法獲取grd文件里生成的網(wǎng)格點高程值,寫入網(wǎng)格化后的數(shù)據(jù)文件。
1.2 等值點的計算
 令任意一個網(wǎng)格邊兩端的數(shù)據(jù)值分別為Z1、Z2,如圖1所示,對于任意一條等值線W,它在該邊上Z(x,y)-W=0,即等值線所通過的點,可以有0~3個根。

 當?shù)戎稻€恰好等于網(wǎng)格節(jié)點的值時,這種網(wǎng)格點被稱作退化點,當遇到退化點時,在網(wǎng)格點值上加上一個非常小的正數(shù),以消除退化點[3]。
 如圖1中的Z1、Z2值都不會等于等值線W的值,這時,網(wǎng)格邊上對于某一條等值線W,存在根Z(x,y)-W=0的可能性有:
 (1)Z1>W,Z2>W或Z1<W,Z2<W時,沒有根,如圖1中的(a)和(b),或存在兩個根,如圖1的(e)和(f)。
 (2)Z1<W,Z2>W或Z1>W,Z2<W時,存在一個根,如圖1中的(c),或存在兩個根,如圖1中的(d),其中A根是重根,如圖1中的(g)。
 對于立方函數(shù),利用數(shù)值法求根。這時可以將網(wǎng)格邊長nx和ny再分成等間距的細分段,如圖1中的(d)所示,然后求出每個細分段兩端的函數(shù)值Zk和Zk+1。當Zk或Zk+1等于等值線值W時,同樣需要加上一個非常小的正數(shù),以消除退化點。這樣,當(Zk-W)(Zk+1-W)<0時,說明該細分段上存在一個根。該細分段的長度可以小到以機器步長來計算,最小可以到描繪儀機器步長的2倍,這樣可以保證在曲面函數(shù)上追蹤所得到的等值線連續(xù)光滑而不會發(fā)生方向上的突變。在找到根值的細分段上,再以Zk和Zk+1作線性內(nèi)插求得所在根及等值點的位置。
 數(shù)值法找根時有時會失根,尤其對于重根情況,如圖1(d)中的A根,由于它兩端的Zk和Zk+1都小于W,因此(Zk-W)(Zk+1-W)>0,A根就會失去,但這對于繪制等值線并無多大妨礙,至多漏繪一些極小的封閉等值線或等值線應該封閉而不完全封閉。
1.3 等值線的追蹤
 把網(wǎng)格縱邊和橫邊的細分段所組成的小網(wǎng)格稱為單元,它們的4個節(jié)點稱為單元節(jié)點,以區(qū)別于原始的網(wǎng)格與網(wǎng)格節(jié)點。這樣,對于每一個單元在其單元節(jié)點上求出函數(shù)值后(若遇到有退化點時,同樣需要通過加一個很小的正數(shù)來處理),有圖2所示的8種連接等值線的可能(其中+號表示節(jié)點值大于等值線值,-號表示節(jié)點值小于等值線值)。
 (1)單元節(jié)點上函數(shù)值同時大于或同時小于等值線值時,該單元內(nèi)沒有等值線通過,如圖2(a)所示。
 (2)單元節(jié)點上函數(shù)值大于和小于等值線時,單元邊上要么存在兩個根,要么存在4個根。存在兩個根時,兩根在對邊上,如圖2(b)、圖2(c)所示,兩根在鄰邊上,如圖2(d)、圖2(e)、圖2(g)、圖2(h)所示;存在4個根時,4個根分別在單元的4個邊上。對于兩個根的情況,只要找到根的位置就可以相連;對于4個根的情況,則需規(guī)定底邊根與左邊根相連,右邊根與上邊根相連或底邊根與右邊根相連,右邊根與上邊根相連,如圖2(f)所示,這樣就能保證等值線間不會出現(xiàn)相交現(xiàn)象[4]。

 圖3表示在一個矩形網(wǎng)格(i,j)內(nèi),將縱邊ny等分成6個細分段,將橫邊nx等分成5個細分段的連法示意圖。在等分后的每個單元節(jié)點上算出函數(shù)值Z。Z>W(W為等值線值)時,以“+”表示;Z<W時,以“-”表示。這樣在每個“+”、“-”節(jié)點之間必定存在一個等值線根,可用線性內(nèi)插求出它的位置,連成的等值線如圖3中的折線所示。由于網(wǎng)格邊上的函數(shù)是立方函數(shù),它在網(wǎng)格邊上最多有3個根,如圖3中,底邊上有3個根A1、A2、A3。在理論上只要對全部網(wǎng)格內(nèi)的單元節(jié)點掃描一遍,把求得的根值用圖2中的規(guī)則相連即可畫出等值線圖。

 但是這樣計算會花費計算機大量時間,而且大部分單元內(nèi)是不會有等值線通過的。因此,需要設計一種總等值線的方法,使得只在等值線會通過的單元節(jié)點上才求出函數(shù)值,而大部分不通過等值線的單元不必求節(jié)點函數(shù)值,以節(jié)省機器運算時間、加快速度。這里還需指出,圖3是一個復雜化的例子,實際上,對于特定的等值線,一個網(wǎng)格內(nèi)的等值線可能是很少的,或者只有一條或少數(shù)幾條,還有很多網(wǎng)格根本就沒有。此外,當分段加密時,等值線將逐漸變成光滑曲線,這是因為擬合網(wǎng)格點的函數(shù)是一個連續(xù)光滑的函數(shù)。因此,利用上述方法,就不需要對等值線再作光滑處理。
將等值線分為從邊界出發(fā)到邊界結(jié)束的等值線以及在內(nèi)部封閉的等值線兩種類型,如圖4所示。無論哪種類型的等值線,都必須已知有順序相鄰的A1、A2兩個等值點。設它們的坐標值分別為(a1x,a1y)及(a2x,a2y),分別以nx和ny為單位長度,其坐標的整數(shù)值為(a1j,a1i)及(a2j,a2i)。任意設兩個相鄰的單元如圖5中的單元Ⅰ、Ⅱ所示,A2落在單元Ⅰ和Ⅱ的鄰邊上,A1落在單元Ⅰ的其他三邊的任意一邊上。用(i,j)表示單元Ⅰ的序號,用(i+1,j)、(i,j+1)、(i-1,j)、(i,j-1)表示單元Ⅱ的序號,分別相當于圖5中的(a)、(b)、(c)、(d)4種情況,則下一等值點追蹤方向依次由下述4個判別式確定。

 
  
 網(wǎng)格追蹤程序主要封裝在CContourTrace類中。
 利用本文方法所生成的等值線如圖6所示。

 

 

 本文是提出了一種新的方法來實現(xiàn)等值線的繪制,它首先用成熟軟件Surfer將原始數(shù)據(jù)進行網(wǎng)格化,再利用矩形網(wǎng)格追蹤法追蹤網(wǎng)格,并按照實際需求實現(xiàn)了對等值線的縮放、平移、光滑和標注等功能。利用本方法所繪制的等值線主要在石油勘探開發(fā)、采礦等領域得到應用。使用本方法所繪制的等值圖較其他方法效果更好、精確度更高、速度更快,是一個實用有效的等值線繪制方法。
參考文獻
[1] 王永會,宋曉宇,欒方軍.基于網(wǎng)格的等值線圖快速生成算法[J].計算機工程與應用,2001(17):124-125.
[2] 陳學工,劉凱敏.一種基于格網(wǎng)法快速生成等值線的算法[J].電腦與信息技術,2007,15(3):4-6.
[3] 宋麗娟,龔曉峰,鐘猛.基于網(wǎng)格法的等值線繪制方法[J].現(xiàn)代電子技術,2005,28(14):65-67.
[4] 韋美雁,杜丹蕾.基于規(guī)則網(wǎng)格的等值線的生成研究[J].湖南科技學院學報,2007,28(4):39-41.
[5] 于嘉,吳旭.一種改進的矩形網(wǎng)格等值線追蹤算法[J].河南師范大學學報,2008,36(6):34-36.
[6] 張利,王俊彪,張賢杰.基于矩形網(wǎng)格追蹤法的曲面主曲率等值線生成算法[J].計算機應用研究,2009,26(8):3179-3181.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 啪啪网站色大全免费 | 福利视频二区 | 国产永久免费高清在线观看视频 | 国产色爽免费视频 | 精品久久国产老人久久综合 | 高清国产精品久久久久 | 日韩毛片免费看 | 大片免费35分钟观看视频 | 成人伊人青草久久综合网下载 | 丁香激情综合 | 福利毛片| 国产人成在线视频 | 日本一区二区三区高清福利视频 | 丁香婷婷小说 | 五月开心六月伊人色婷婷 | 五月天婷婷激情视频 | 色综合久久精品中文字幕首页 | aa小视频 | 日韩天天操 | 免费黄色网址在线播放 | 国产成人精品曰本亚洲 | 国产交换精品一区二区三区 | 色综合久久综合网观看 | 婷婷爱五月天 | 58av国产精品 | 日韩中文字幕亚洲无线码 | 欧美区一区二区三 | 欧美老人性视频 | 黄色国产精品 | 色吧五月婷婷 | 免费精品99久久国产综合精品 | 99香蕉精品视频在线观看 | 99久久国产亚洲综合精品 | 男女男精品视频在线播放 | 激情总合网 | 免费一级视频在线播放 | 国产3级在线观看 | 给我播放一个免费的片懂得 | www在线观看免费视频 | 国产日韩一区 | 免费一级片观看 |