尹晶飛
(中國地震局地球物理研究所,北京 100081)
WEB3D 技術是一門在計算機圖形學、計算機多媒體技術和仿真技術的基礎上發展起來的交叉學科。利用WEB3D 技術建立一個可視的三維地磁場,能使用戶沉浸到三維空間中,更加直觀觀察數據,真實地與數據交互,從而可以更快,更全面地分析理解運用地磁場的數據。
Direct 3D 是基于微軟的通用對象模式COM(Common Object Mode)的3D 圖形API。它所有的語法定義包含在微軟提供的程序開發組件的幫助文件、源代碼中。Direct 3D 是微軟公司Direct X SDK 集成開發包中的重要部分,適合多媒體、娛樂、即時3D 動畫等廣泛和實用的3D 圖形計算。自1996 年發布以來,Direct 3D 以其良好的硬件兼容性和友好的編程方式很快得到了廣泛的認可,現在幾乎所有的具有3D 圖形加速的主流顯示卡都對Direct 3D 提供良好的支持。但它也有缺陷,由于是以COM 接口形式提供的,所以較為復雜,穩定性差,另外,目前只在Windows 平臺上可用。
Java 3D API 是Sun 定義的用于實現3D 顯示的接口。3D 技術是底層的顯示技術,Java 3D 提供了基于Java 的上層接口。Java 3D 把OpenGL 和Direct X 這些底層技術包裝在Java 接口中。這種全新的設計使3D技術變得不再繁瑣并且可以加入到J2SE、J2EE 的整套架構,這些特性保證了Java 3D 技術強大的擴展性。Java 3D API 提供了豐富的可用于建立虛擬建筑環境應用的類,如燈光、霧、紋理、聲音等,編寫Java 3D程序時,大多情況下只需找到所需的類加以應用。相對于OpenGL 和Direct X,Java 3D 更容易掌握,編程效率更高。JAVA 本身具有強大的網絡功能,再加上OpenGL 和Direct X 強大的三維圖像功能,使得原來只能在計算機上看到的三維圖形可以通過Internet 展示在瀏覽者面前。
地磁場是地球物理學的一個重要組成部分。地磁場和地球引力場不一樣,是一個地球物理場,它是由基本磁場與變化磁場兩部分組成。而地磁場模型包括區域地磁場模型和全球地磁場模型,它是地磁學的重要研究內容之一,在歷屆IAGA 和IUGG 會議所設專題都占有重要位置。IAGA 的相關小組每5 年會給出一個世界地磁場參考場。
對于區域地磁場模型的計算方法有很多種,但主要有幾種:多項式方法(包括泰勒多項式,馬克勞林多項式和勒讓德多項式);球諧分析方法;曲面樣條函數方法;矩諧分析方法;冠諧分析方法。其中球諧分析是高斯在1839 年提出的,矩諧分析是Alldredge 于1981 年提出的,冠諧分析是Haines 于1985 年提出的。每種方法都有自己的優點和缺點。我們要根據自己的實際需求選擇合適的方法建立模型。
空間的場數據一般都是三維的、離散的和沒有規律的,計算機要將其進行逼真的三維顯示就首先要對其進行處理,將其處理成為計算機容易表達的數據。根據計算機表達三維模型的方式不同,處理數據的方法也不同。如果以體模型來表達真三維,則可以對數據進行四面體剖,分成各個三棱柱處理,然后用模型顯示。如果以面模型表達則可以對數據進行三角剖分,如Delaunay 等技術。也有基于分形和基于曲面的模型。通過衛星磁測數據和地面分布合理的地磁臺站數據,可以建立起局部地磁場數據模型。將離散的地磁數據在三維空間中插值形成規則的網格化數據。每個網格應包含地磁矢量的方向和大小。然后使用可視化工具將每個網格的數據以椎體的形式顯示出來。為了達到好的觀察效果,需要解決好兩個問題:將所有數據映射到視圖中的一個投影區域內;將三維地磁場中不同大小的數據用不同的顏色表示。這樣可通過色彩與圖像亮度形象地看到地磁場分布情況。編寫一個函數能在三維重力場數據中自動查找出最大重力值和最小重力值,并根據其差值等分出若干區域作為使用的基色數量,計算出對應于不同重力值域的顏色值,即進行顏色映射標號。