朱云福,許 丹
(1.江西省地質環境監測總站,江西 南昌 330095;2.安徽省地質環境監測總站,安徽 合肥 230001)
地質界面模擬是三維地質建模最重要內容之一,對大多數沉積巖層界面,在地表面上投影是不重疊的,屬于單值地質界面,單值地質界面模擬技術發展較成熟;而對金屬礦瘤、風蝕蘑菇體等在地表面上投影將部分重疊,屬于多值地質界面,多值地質界面模擬是三維地質建模難點。周軍霞等(2008)和徐能雄等(2011)對多值地質界面模擬進行研究,采用離散光滑插值法模擬蘑菇體。本文提出利用動態DSI插值法控制網格面生成,實現多值地質界面的模擬方法[1]。
DSI法即離散光滑插值,是法國Nancy大學J.L.Mallet教授提出的(Mallet,1992),是著名地質建模軟件GOCAD核心技術。該方法依賴于網格結點拓撲關系,不以空間坐標為參數,是一種無維數插值方法。DSI基本內容是對一個離散化自然體模型,建立相互間聯絡網絡,如網絡上點值滿足某種約束條件,則未知結點上的值可通過解一個線性方程得到。
(1)固定點約束。插值曲面須通過的點稱固定點,包括部分關鍵原始采樣數據點及其它已知固定邊界點等。固定點對應的約束是固定點約束。這種約束可通過使插值曲面網格上某個結點坐標與對應固定點坐標一致來設定。在算法實現中直接將對應點坐標設置為固定點坐標,不參加迭代計算,而只作為已知數據投入運算[2]。
推進波前法(簡稱AFT)常用于平面區域三角形網格自動生成,經近年來發展已成為通用的全自動網格生成方法之一。
(2)構建三角形網格。本文采用推進波前法構建三角形網格,起過程為將給定點集的邊界作為剖分前沿,依次以前沿邊界線段為三角形的一邊,在邊界點與內部點中尋找組成三角形頂角最大的點為三角形頂點;將已形成三角形的邊界線段從邊界鏈表中刪除,形成新邊界;重復上述過程直到鏈表為空為止。
原始三角網格在DSI插值迭代模擬蘑菇體時,組成蘑菇體的三角網格面片表面積不斷增大,該區域三角形邊長邊長,需要進行三角網格細分??梢酝ㄟ^設定三角形邊長長度閥值e的方法實現三角網格細分,當某三角形邊長長度大于閥值e時,即對該三角形進行細分[3]。
(1)點集CNode表征節點,包含的數據成員為點的序號、點空間坐標,
(2)三角形邊類集CSide 表征三角形邊,包含的數據成員為邊的序號,邊的起點號、邊的終點號、邊處在三角形的序號、邊的對邊序號。
(3) 三角形類集CTrgl表征三角形,包含的數據成員為三角形的序號、三角形三個頂點號、三角形三條邊的序號和三角形法向向量。
因本文采用三維動態DSI方法,因模型插值曲面上每個三角形所含模糊控制點隨迭代進行會發生變化,故每迭代一次都要重新計算模糊控制點約束。而除去模糊控制點約束的DSI 迭代方程只與結點間拓撲關系有關,只要拓撲關系不變,這些約束系數就不會改變,因此可一次計算完畢,不需隨迭代重復計算。迭代算法如下:
} //for_all結束 }//while迭代穩定結束 Trglxifen();//三角形細分
} while(三角網格發生細分,進一步插值)
本文以蘑菇體模型作實例,使用Microsoft Visual C++ 6.0中研制了多值地質界面模擬程序MGS,并在OpenGL環境中實現可視化,以實現多值地質界面模擬。
DSI動態插值模擬多值地質界面——蘑菇體過程如下:
(1)給點原始平面邊界點800個,內部點40000個,采用3.1節推進波前法剖分形成平面三角網格,其中邊界點為固定點約束;給定蘑菇體表面空間位置點集,包含468個點,作模糊控制點約束,見圖4-1。
(2)在固定點約束和模糊控制點約束條件下,采用DSI插值法對原始平面三角網格進行迭代插值計算,原始平面三角網格曲面變形成
(3)曲面變形后三角網格中蘑菇體區域三角形邊長大于設定閥值,采用上述網格細分方法對三角網格進行細分,直至所有三角形邊長小于設定閥值。細分后模糊控制點約束條件對三角形網格的約束發生變化。
圖4-1 原始三角網格及其控制點
圖4-2 曲面變化過程(a)
圖4-3 曲面變化過程(b)
圖4-4 曲面變化過程 (c)
本文提出在基于三角網格拓撲結構基礎上,選擇固定控制點和模糊控制點作約束條件,結合三角形網格細分方法,以此控制網格面生成,實現多值地質界面模擬方法。本文使用Microsoft Visual C++ 6.0中研制了多值地質界面模擬程序MGS,在OpenGL環境中實現可視化,并以多值地質界面-蘑菇體為模型實例,驗證算法的有效性,實例表明以該算法具有良好的實用性。