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.

主站蜘蛛池模板: 88av在线| 欧美日韩一区二区在线免费观看| 国产成人精品男人的天堂下载 | 欧美日韩国产在线人成app| 一级高清毛片免费a级高清毛片| 国产在线观看人成激情视频| 成年人国产网站| 中文字幕有乳无码| 国产精品久久久久久久久久98 | 国产精品3p视频| 亚洲无码日韩一区| 国产资源站| 高清免费毛片| 国产一区二区影院| 午夜激情婷婷| 免费看a级毛片| 日韩精品一区二区三区视频免费看| 97在线观看视频免费| 国产青青草视频| 呦系列视频一区二区三区| 国内精品一区二区在线观看| 日韩午夜片| 国产亚洲精品自在久久不卡| 国内嫩模私拍精品视频| 欧美中文字幕第一页线路一| 国产成人h在线观看网站站| 最新日本中文字幕| 人妻丰满熟妇av五码区| 国产精品欧美在线观看| 免费一级毛片完整版在线看| 国产精品毛片一区视频播| 欧美 亚洲 日韩 国产| 超碰免费91| 国产成人精品一区二区免费看京| 成年A级毛片| 狠狠色丁香婷婷| 天天躁日日躁狠狠躁中文字幕| 国产精品三级av及在线观看| 欧美日韩在线成人| 亚洲综合片| 日韩成人午夜| 毛片国产精品完整版| 久久中文字幕av不卡一区二区| 欧美成人精品一级在线观看| 玖玖精品视频在线观看| 日韩在线观看网站| 成人综合久久综合| 亚洲精品高清视频| 亚洲国产综合第一精品小说| 爆乳熟妇一区二区三区| 91精品国产自产在线观看| 欧美69视频在线| 亚洲欧美不卡视频| 在线精品亚洲国产| 久久婷婷六月| 婷婷开心中文字幕| 欧美日韩国产在线人| 熟妇丰满人妻| 国产va欧美va在线观看| 亚洲一区二区三区在线视频| 国产成人高清亚洲一区久久| 亚洲精品国产首次亮相| 婷婷午夜影院| 2020国产精品视频| 欧美午夜网| 2021国产精品自产拍在线| 欧美怡红院视频一区二区三区| 国产亚洲精久久久久久无码AV| 在线观看视频一区二区| 中文字幕免费在线视频| 日韩专区第一页| 国产亚洲欧美在线专区| 亚洲高清国产拍精品26u| 怡春院欧美一区二区三区免费| 成年看免费观看视频拍拍| 无码aaa视频| 一本大道视频精品人妻| 久久午夜夜伦鲁鲁片不卡| 爽爽影院十八禁在线观看| 毛片在线播放网址| 国产高清不卡视频| 国产一级妓女av网站|