摘要:本文以主要研究如何在CAD軟件中實現數字地形的構建。首先采集地形數據,然后對采集的散亂數據進行散亂點數據插值處理,編制產生地形譜的軟件,自動生成地面譜文件,由軟件直接讀取,生產反映真實地域地形特征的數字地形。
關鍵詞:數字地形;插值算法;地面譜
1、引言
美同MSC公司的ADAMS軟件是世界一流首屈一指的大型機械系統運動學、動力學仿真分析軟件[1],所以我們選擇了ADAMS軟件來生成數字地形,用于仿真試驗。ADAMS所提供地生成數字地形的工具是地面譜,要生成能反映真實地域形貌的數字地形,需要大量的數據,因為ADAMS數字地形的可視性以及精密度完全依賴于網格密度,網格密度越大數字地形的視覺效果越好,精度越高,這就為手工編寫地面譜帶來了很大的難度。因此我們開發了地面譜的生成軟件,處理散亂數據,通過插值的方法,直接生成地形譜,成功地在ADAMS實現能表現真實地域形貌的數字地形。數字地形構建的整體思路如圖1。
2、數據的獲取
三維數字地形數據采集的最終目的是為了獲取在CAD軟件中生成數字地形所需的三維數據點,其主要模式就是地形測量。地形測量的任務就是確定地面上點的空間位置。而確定地面點的空間位置通常是求出該點在平面上的位置(平面直角坐標),以及該點到大地水準面的垂直距離,也就是高程。從任意一點到大地水準面的鉛垂線距離,稱為該點的絕對高程。當求一個點的絕對高程有困難的時候,我們可以假定任意一個水準面為高程起算面,這個水準面稱為假定水準面。從一點到假定水準面的鉛垂線距離稱為該點的假定高程[2]。
一個未知點的高程一般是根據一個高程已知的點確定的。先測出兩點之間的高程差,然后再根據一點的已知高程求出另一點的高程。在不同場合下可采用不同的高程測量的方法。幾何水準法是利用水平視線的一種方法。這是高程測量中的最精確的方法,所用的儀器是水準儀。水準測量是利用水準儀提供的水平視線對豎立在兩點的水準尺進行觀測,以測定兩點間的高差,如果其中一點高程為已知,另一點高程即可算出,這個方法稱為幾何水準法。如圖2,若要測定M、N兩點高差,可在兩點間安置水準儀,在M、N兩點分別鉛直豎立水準尺,利用水準儀的水平視線讀出M點水準尺上讀數a和N點水準尺上讀數b,則得到高差法公式:
hMN=a-b
式中:a——已知高程點的水準尺讀數,稱為后視讀數
b——欲求高程點的水準尺讀數,稱為前視讀數。
hMN即為N點對M點的高差.如果M點高程HM為已知,則N點的高程為:
HN=HM+hmn
3地面譜生成軟件的開發
3.1插值算法的確定
利用ADAMS實現地形仿真,主要是對地面譜的編制,而地面譜的編制主要是輸入節點的數量和每個節點的坐標以及構成每個三角形元素的三個節點和每個元素中輪胎與此塊地面之間的靜摩擦系數和動摩擦系數。要生成M×N的格網地形,就必須輸入M×N個節點和(M×2-2)×(N-1)×3個構成三角形元素的節點。精確度越高、網格劃分的越密,需要的數據量越大。為了能準確表達地形地貌,不可能用測量的方法得到全部數據,測量得到的僅僅是很小一部分的散亂數據。所謂散亂數據指的是在二維平面上或三維空間中,無規則的,隨機分布的數據。散亂數據按其復雜程度可分為單自變量,雙自變量及多自變量3種類型。其可視化的方法可以分為插值與擬合,本文主要采用雙自變量散亂數據的插值方法。
近30年來已經有多種插值算法被提了出來。但是,由于應用問題千差萬別,數據量大小不同,對連續性的要求也不同等等,沒有一種算法適合用于所有的場合。而且大多數算法只能適用于具有中、小規模數據量的散亂點插值問題[3]。具體可分為:與距離成反比的加權法;徑向基函數插值法;有限元方法。
在綜合考慮了各算法的計算速度和實現的難易度后,本文采用徑向基函數插值法Multiquadric方法對測量得到的散亂數據進行插值。Multiquadric方法是R.L.Harry在1971年提出來的,它是最早提出并且應用得最為成功的一種徑向基函數插值法。它屬于全局插值算法,插值函數決定于全部數據點的函數值,當增加、刪除或改變一個點的位置或函數值時,插值函數必須重新考慮。它采用的插值函數為:
如果相對于數據點之間得距離,C的取值過大,則會導致病態的系數矩陣,影響了求解。在大多數情況下,C取值小些則結果較好,本文取0.9-1.2。構造插值函數F(X,Y)的關鍵在于得到Ai(i=1,2,3…,n),把所測的Xi,Yi值代入插值函數就可得以Ai為未知數的方程組。測得n組數據就有n個插值函數系數Ai,即n個未知數,也會得到n個方程。則求解插值函數系數就轉化為齊次方程組求解問題。
3.2軟件實現
本文應用Visual Studio.NET[4]作為開發工具,編寫了地面譜生成得軟件。運行程序,出現圖3界面:
根據對話框提示輸入數據,單擊生成,在Release目錄下生成名為road.rdf的地面數據文件。
4 數字地形模型的生成
將地形譜文件讀入ADAMS/View中,可生成數字地形,見圖4;其多角度視圖如圖5。
地面視景的顯示涉及到多學科的理論,本文重點研究如何把現實真實地面的形貌映射到計算機中,構建數字三維地形,在CAD軟件ADAMS用戶界面中生成地形視景。為了解決編制顯示精度高的地面譜數據文件而要處理大量文件的困難,編制軟件是一個很實用的方法。
參考文獻
[1] 李軍,邢俊文,覃文浩.ADAMS實例教程.北京理工大學出版社,2002.7,P129~134.
[2] 劉肇光,宗封儀.測量學(第四版).中國建筑工業出版社,1995.6,P251~258.
[3] 唐澤圣.三維數據場可視化.清華大學出版社,1999.12,P130~152.
[4] 錢能.C++程序設計教程.清華大學出版社,1999.4.