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

VB環境下TIN模型的應用

2015-05-28 14:03:26苑林爽姜軍華
中國科技縱橫 2015年9期

苑林爽 姜軍華

【摘 要】基于三角網生成算法的不規則三角網,利用VB可視化用戶界面結合數據庫實現離散點構建三角網和其數據生成。本文對不規則三角網生長算法實現的研究,利用了VB強大的可視化用戶界面及其編程語言的靈活性及簡單易懂特點,基于各行業對于DEM的需要,開發出一種利用VB6.0語言生成基于生長算法的不規則三角網,結合數據庫強大的數據存取、編輯、查詢功能,共同實現離散點構建三角網和其數據生成。

【關鍵詞】TIN模型 VB 數據生成

1 在VB環境中構建三角網

首先,我們要提取出需要處理的離散點集。本文介紹的數據都是存儲在Access數據庫中的數據。這樣就要先解決VB與數據庫連接的問題,需要創建控件,打開專有格式的文件(Access數據庫文件格式為.mdb),然后打開數據庫中的點表(xyz),從數據庫的記錄集的第一條向下讀取直至讀出所有數據。但是我們在程序上看不出來。這時我們如果想要看看點的離散狀態可以把這些點展現在程序中,使我們能夠直觀的看到。點數據讀出后就可以根據具體的算法進行三角網的生成了。

本文選用的方法是生長算法,算法的詳細步驟如下。

(1)在離散數據點集V中任取一點,以點 為基點尋找與它最近的一點 。連接 ,就得到了三角形的一條基邊,把該邊作為擴展基邊,代碼如下:

k1 = 1

dmin = Sqr((x(2) - x(1)) * (x(2) - x(1)) + (y(2) - y(1)) * (y(2) - y(1)))

k2 = 2

For r = 3 To dh

d = Sqr((x(r) - x(1)) * (x(r) - x(1)) + (y(r) - y(1)) * (y(r) - y(1)))

If d < dmin Then

dmin = d

k2 = r

End If

Next r

Picture1.Line (x(1), y(1))-(x(k2), y(k2)), RGB(0, 0, 255)

(2)在擴展基邊(是有向的)的右邊點集中去找與該邊兩端點連成直線組成的夾角為最大的點 ,連接 , 就組成了第一個三角形。代碼如下:

k3 = 0

cosa = 1

For r = 2 To dh

If IsLeft(k1, k2, r) Then

a = fcos(k1, k2, r)

If a < cosa Then

cosa = a

k3 = r

End If

End If

Next r

If k3 > 0 Then

Picture1.Line (x(k1), y(k1))-(x(k3), y(k3)), RGB(0, 0, 255)

Picture1.Line (x(k2), y(k2))-(x(k3), y(k3)), RGB(0, 0, 255)

(3)然后以 為第一條邊向外進行擴展。如果該邊的右邊沒有點,該邊不進行擴展;否則,轉(2)進行擴展,同時存儲新生成的邊和三角形。代碼如下:

k3 = 0

cosa = 1

For r = 2 To dh

If IsLeft(k2, k1, r) Then

a = fcos(k2, k1, r)

If a < cosa Then

cosa = a

k3 = r

End If

End If

Next r

If k3 > 0 Then

Picture1.Line (x(k1), y(k1))-(x(k3), y(k3)), RGB(0, 0, 255)

Picture1.Line (x(k2), y(k2))-(x(k3), y(k3)), RGB(0, 0, 255)

(4)然后對下一位置的邊進行擴展,實現過程同步驟(3)。

(5)重復步驟(4),直至邊鏈表中的所有邊都進行了擴展,就結束構網。

為了對算法的穩定性及可行性進行檢驗,本人在VB中實現了上述算法,并用一些實驗數據點驗證了上述算法,應用以上算法原理,基于Visual Basic6.0編譯環境及數據庫相結合,高效地實現了海量數據Delaunay三角網構建。實驗表明,此算法的執行效率較高,對計算機硬件配置的要求較低。

2 數據的存儲

由于我們構網所使用的點是我們事先所采樣測量得到的點,對于一個實際的項目應用來說,數據容量大,如果是直接人為在窗體的坐標軸中輸入數據的話,很難找準所給的采樣點位置,因此就要將數據存儲在數據庫中,進行統一存儲管理。本文中,是將數據庫與VB連接起來,在VB中程序運行時可直接調用數據庫中的數據。在現實的工程項目中,修路時要將某處的山地挖為平地,建設單位要在某些平坦的地方挖填方建造營地場地等,形成了地形的復雜多變,就要在變化的區域進行點的重新測量采樣。在構網時,有的地方要增加點,有的地方要刪除點,有時我們還需要查詢和編輯修改某個點的說明信息。這些都要依靠數據庫的管理。本文在VB中實現生成三角網的數據頁是直接存儲到數據庫中的。與上面打開要讀取數據的數據的一樣,我們存儲數據也要先打開數據要存儲到的數據庫。

然后就可以把生成的三角網的數據如三角形個點數組p1(),p2(),p3()和與其臨近的三角型號數組t1(),t2(),t3()寫如數據庫中。

程序設計完成后,針對本程序的具體操作步驟如下:

(1)運行程序,見下圖5.1。

圖5.1 開始界面

(2)點擊打開數據庫,出現下拉菜單,然后選取所用數據庫,提取離散點集。見下圖5.2。

圖5.2 打開下拉菜單

(3)點擊菜單中展點,把離散數據點展現在程序窗體畫板上,見圖5.3.

圖5.3 展點界面

(4)點擊生成三角網,程序運行得到有離散數據連網而成的三角網,見圖5.4。

圖5.4 生成的三角網

(5)選擇菜單中保存數據,出現下拉菜單,選擇保存數據的數據庫文件,對三角網生成的數據進行保存。見下圖5.5。

圖5.5 保存下拉菜單

(6)完成以上操作后,點擊推出,推出程序。

3 結語

實現上述算法具有很強的現實意義。TIN的直接應用價值就是生成DEM,為DEM的生成在許多領域中打下基礎。在水利水電工程中,如工程項目的填挖方計算、線路勘測設計等的應用。本文對不規則三角網生長算法實現的研究,利用了VB6.0強大的可視化用戶界面及其編程語言的靈活性及簡單易懂特點,基于各行業對于DEM的需要,開發出一種利用VB語言生成基于生長算法的不規則三角網,結合數據庫強大的數據存取、編輯、查詢功能,實現離散點的管理和三角網的構成。

參考文獻:

[1]周秋生.建立數字地面模型的算法研究[J].測繪工程,2001(1).

[2]賴鴻斌,李永樹.基于不規則網的DTM若干問題的探討[J].重慶交通學院學報,2003.

主站蜘蛛池模板: 热久久这里是精品6免费观看| 911亚洲精品| 日韩免费成人| 婷婷色在线视频| 国产白浆视频| 精品超清无码视频在线观看| 666精品国产精品亚洲| 欧美国产成人在线| 国产特级毛片| 99视频免费观看| a欧美在线| 99re这里只有国产中文精品国产精品 | 午夜啪啪网| 色天天综合久久久久综合片| 国产成人亚洲无码淙合青草| 精品国产自在现线看久久| 国产特级毛片aaaaaa| 亚洲中文字幕97久久精品少妇| 成人伊人色一区二区三区| 国产成人区在线观看视频| 国产美女在线观看| 狼友视频一区二区三区| www.日韩三级| 中文字幕亚洲电影| 99re在线视频观看| 蜜芽一区二区国产精品| 91精品专区| 亚洲日韩每日更新| 久久免费视频播放| 91色综合综合热五月激情| 亚洲综合日韩精品| 亚洲男人天堂网址| 国产麻豆aⅴ精品无码| 日本午夜在线视频| 麻豆国产精品一二三在线观看| 综合人妻久久一区二区精品 | 在线亚洲小视频| 美女无遮挡拍拍拍免费视频| 99人体免费视频| 亚洲系列无码专区偷窥无码| 国产在线一区二区视频| 久久久黄色片| 欧美午夜在线观看| 亚洲视屏在线观看| 高清无码手机在线观看| 国产高清在线丝袜精品一区| 国产精品吹潮在线观看中文| 亚洲国内精品自在自线官| 成人国产三级在线播放| 久久这里只有精品免费| 亚洲综合久久一本伊一区| 日韩精品成人在线| 97人人模人人爽人人喊小说| 美女无遮挡免费网站| 人妻丰满熟妇啪啪| 在线国产你懂的| 九九免费观看全部免费视频| 国产国产人在线成免费视频狼人色| 亚洲天堂网2014| 亚洲永久色| 激情無極限的亚洲一区免费| 亚洲成aⅴ人片在线影院八| 精品国产一区91在线| 亚洲成aⅴ人片在线影院八| 国产成人免费手机在线观看视频 | 首页亚洲国产丝袜长腿综合| 日本尹人综合香蕉在线观看 | 日本人妻丰满熟妇区| 亚洲欧美成人网| 欧美精品亚洲精品日韩专区va| 99热这里只有免费国产精品| 青青草原国产免费av观看| 国产女人在线观看| 精品视频一区在线观看| 毛片网站在线看| 欧美一区二区三区国产精品| 黄色网站不卡无码| 伊人久久久大香线蕉综合直播| 国产在线第二页| 亚洲欧美日韩综合二区三区| 亚洲人成网18禁| 亚洲AV无码久久精品色欲|