何俊強(qiáng),楊 欽,2
(1.北京網(wǎng)格天地軟件技術(shù)股份有限公司 研發(fā)部,北京 100088;2.北京航空航天大學(xué) 計(jì)算機(jī)學(xué)院,北京 100191)
近年來,基于Web的三維可視化技術(shù)有了較大的發(fā)展,其中Cesium作為一款開源的三維GIS(Geographic Information Systems,GIS)引擎深受廣大學(xué)者的歡迎,基于Cesium的各類數(shù)據(jù)可視化方法研究也是越來越廣泛[1-4],如王曉艷等[5]實(shí)現(xiàn)了將3ds Max格式的三維模型轉(zhuǎn)成glTF和3D Tiles兩種格式后,在Cesium進(jìn)行三維可視化的方法;郭曉非等[6]使用Cesium實(shí)現(xiàn)了海表面溫度場和海面風(fēng)場的可視化,使得海洋環(huán)境的模擬更加形象直觀。另一方面,國家在大力發(fā)展數(shù)字地球的建設(shè),積極推動地上地下一體化的可視化技術(shù)研究。2022年,全國兩會提出了實(shí)施“透明國土”和建設(shè)“全息數(shù)字地球基礎(chǔ)框架”的提案,預(yù)示著以三維地質(zhì)模型為基礎(chǔ)的地震、地質(zhì)、水文、物探、化探等信息的存儲、共享、可視化與分析應(yīng)用將是未來的一大發(fā)展與研究方向[7]。
震源機(jī)制解是地震領(lǐng)域的重要參數(shù)之一,在研究地震斷層類型、斷層穩(wěn)定性分析、發(fā)震機(jī)制、應(yīng)力分布和區(qū)域地質(zhì)構(gòu)造等工作中起著重要作用[8-12]。震源機(jī)制解的可視化結(jié)果是沙灘球,其本質(zhì)是震源球的下半球在赤平面的投影,所以地震領(lǐng)域中的沙灘球是二維的。目前震源機(jī)制解常用的繪制工具有GMT(Generic Mapping Tools,GMT)等[13],其繪制出來的結(jié)果是二維的沙灘球圖片,將其放到三維信息化平臺中的顯示效果一般,且與使用三維地質(zhì)模型等數(shù)據(jù)構(gòu)建出來的場景也不相協(xié)調(diào),考慮到三維信息化建設(shè)的發(fā)展方向以及人們對繪制模擬更形象直觀的需求,本文基于Cesium對震源機(jī)制解的三維可視化方法進(jìn)行了研究。
以震源為球心,做一個(gè)足夠小的球面,小到球內(nèi)射線彎曲可以忽略不計(jì),即假定此小球內(nèi)的介質(zhì)是均勻的,這個(gè)小球面就稱為震源球[14]。震源向各個(gè)方向發(fā)出地震射線,震源球表面每個(gè)點(diǎn)都對應(yīng)著一根射線的振幅,由于地震時(shí)震源周圍的物理環(huán)境及應(yīng)力分布并不均勻,所以振幅有正有負(fù),將震源球上正振幅的點(diǎn)用黑色表示,負(fù)振幅的點(diǎn)用白色表示,只要點(diǎn)足夠多,就能在震源球上形成一個(gè)均勻分布的黑白圖案,稱為輻射花樣,將這個(gè)帶有輻射花樣的震源球的下半球投影到赤平面就得到了沙灘球。從這個(gè)原理可以認(rèn)為,震源機(jī)制解的三維可視化結(jié)果其實(shí)就是帶有輻射花樣的震源球,本文稱之為三維沙灘球。
三維沙灘球的輻射花樣是地震射線振幅值在震源球面的正負(fù)分布[15,16],因此需要對振幅進(jìn)行計(jì)算。Aki等[17]給出了遠(yuǎn)場P波輻射花樣振幅的計(jì)算公式
A=γ·M·γ
(1)
式(1)中,A為輻射花樣振幅,單位為m;M為矩張量,是NED(North East Down)坐標(biāo)系(X軸朝北,Y軸朝東,Z軸垂直向下)下的3階對稱矩陣;γ為離源矢量,是離源角和方位角的函數(shù),離源角是指從震源發(fā)射出去的射線與沿著震源向下的垂線之間的夾角。
矩張量M可以通過震源機(jī)制解的參數(shù)計(jì)算得到。震源機(jī)制解的參數(shù)有兩種類型,分別是矩張量和斷層參數(shù)。震源機(jī)制解的矩張量是USE(Up South East)坐標(biāo)系(X軸垂直向上,Y軸朝南,Z軸朝東)下的3階對稱矩陣,包含Mrr、Mtt、Mpp、Mrt、Mrp、Mtp6個(gè)參數(shù),那6個(gè)參數(shù)里的R、T、P對應(yīng)的是USE坐標(biāo)系下的三個(gè)軸,為了跟NED坐標(biāo)系做區(qū)分,USE下的軸叫R、T、P,NED坐標(biāo)系的就叫X、Y、Z,Mxx和Mrr都是對應(yīng)軸的分量??赏ㄟ^坐標(biāo)轉(zhuǎn)換公式得到NED坐標(biāo)系下的矩張量,其轉(zhuǎn)換公式為
(2)
式(2)中,左側(cè)為NED坐標(biāo)系的矩張量,右側(cè)為USE坐標(biāo)系的矩張量。
震源機(jī)制解的斷層參數(shù)包括走向、傾角、滑動角3個(gè)參數(shù),為角度制,在轉(zhuǎn)成弧度制后,可通過公式轉(zhuǎn)換成NED坐標(biāo)系下的矩張量,其轉(zhuǎn)換公式為
(3)
式(3)中,δ為傾角,λ為滑動角,φs為走向,單位均為rad;M0為常量。
離源矢量γ可通過離源角和方位角計(jì)算得到,其計(jì)算公式為
(4)
式(4)中,θ為離源角,α為方位角,單位均為rad。
三維沙灘球的繪制就是繪制帶有輻射花樣圖案的震源球??紤]到直接在球體上繪制輻射花樣圖案比較困難,本文選擇將輻射花樣圖案當(dāng)做紋理貼在球體上的方式來實(shí)現(xiàn),由此可將繪制流程分成兩個(gè)步驟,一是制作輻射花樣紋理貼圖,二是繪制帶有輻射花樣紋理貼圖的震源球。
球體的紋理其實(shí)就是球面展開后的樣子,與將地球通過墨卡托投影后得到的地圖類似,因此可遍歷0°~360°的方位角和0°~180°的離源角,利用式(1)分別計(jì)算震源球面每一個(gè)點(diǎn)的振幅,然后將這些點(diǎn)繪制在以方位角為橫軸,離源角為縱軸的圖上,并分別對振幅大于0和小于0的點(diǎn)設(shè)置不同的顏色,即可繪制出輻射花樣紋理圖。關(guān)于顏色設(shè)置,目前常見的是正振幅為黑色,負(fù)振幅為白色,本文根據(jù)震源機(jī)制解的滑動角范圍對斷層類型進(jìn)行了劃分(表1)[18],并將正斷層的正振幅設(shè)為綠色,逆斷層的正振幅設(shè)為紅色,走滑斷層的正振幅設(shè)為藍(lán)色,負(fù)振幅均設(shè)為白色,這樣通過顏色即可判斷斷層類型。
Cesium是開源的三維GIS引擎,通過其官方的接口可以繪制帶紋理的點(diǎn)線面體等基礎(chǔ)幾何體,三維球體可通過向entities里添加ellipsoid類型對象進(jìn)行構(gòu)建,構(gòu)建時(shí)需要設(shè)置球心的三維坐標(biāo)、球體的半徑以及紋理的路徑3個(gè)參數(shù)。震源球的球心坐標(biāo)就是震源的發(fā)震位置,將震源的經(jīng)緯度和高程值設(shè)置給ellipsoid對象的position參數(shù)即可。震源球的半徑目前沒有統(tǒng)一的規(guī)定,比較合理的方案是根據(jù)地震震級的大小做區(qū)分,震級越大,半徑越大。ellipsoid的半徑參數(shù)為radii,是一個(gè)三維數(shù)組,由于是球體,三個(gè)值均設(shè)置成一致。最后將輻射花樣紋理圖的路徑設(shè)置給ellipsoid對象的material參數(shù),就可在震源球上繪制出輻射花樣紋理。
純色的球繞著過球心的軸無論如何轉(zhuǎn)動,從各個(gè)方向看過去都一樣,但是帶紋理的球則不同。Cesium繪制的球體默認(rèn)坐標(biāo)系為ENU(X軸朝東,Y軸朝北,Z軸垂直向上),紋理圖片的左右邊界(0°和360°)會在球體的正東經(jīng)線處重合,而輻射花樣的方位角是從正北計(jì)算的,需要將球體沿著垂直向上的軸逆時(shí)針旋轉(zhuǎn)90°。ellipsoid對象的三軸轉(zhuǎn)動參數(shù)為orientation,其中繞Z軸旋轉(zhuǎn)的參數(shù)為heading,將其設(shè)置為-90°。這樣與實(shí)際相符的帶有輻射花樣的震源球即三維沙灘球就繪制好了。
綜合上述分析,總結(jié)出震源機(jī)制解的三維可視化流程如圖1所示,其具體步驟為:
1)輸入斷層參數(shù)類型或矩張量類型的震源機(jī)制解參數(shù);
2)將參數(shù)轉(zhuǎn)換成NED坐標(biāo)系下的矩張量。斷層參數(shù)類型使用式(3)轉(zhuǎn)換,矩張量類型使用式(2)轉(zhuǎn)換;
3)使用式4)計(jì)算震源球面每一個(gè)點(diǎn)的離源矢量;
4)使用式(1)計(jì)算震源球面每一個(gè)點(diǎn)的輻射振幅;
5)將球面所有點(diǎn)繪制在以方位角為橫軸,離源角為縱軸的圖上,根據(jù)斷層滑動角判斷斷層類型,并對振幅大于0和小于0的點(diǎn)填充相應(yīng)的顏色,得到輻射花樣紋理;
6)利用Cesium繪制以震源點(diǎn)坐標(biāo)為中心的球體,并貼上輻射花樣紋理;
7)將震源球體朝北旋轉(zhuǎn)90度得到最終的三維沙灘球。
為了驗(yàn)證使用上述方法繪制出來的三維沙灘球是否正確,在歐洲地中海地震中心網(wǎng)站(European-Mediterranean Seismological Centre)提取了3條震源機(jī)制解數(shù)據(jù)進(jìn)行測試[19],數(shù)據(jù)如表2所示,分別為2021年8月27日發(fā)生在印度尼西亞南部海域的地震、2021年11月17日發(fā)生在中國黃海海域的地震、2022年1月9日發(fā)生在印度尼西亞的地震,數(shù)據(jù)均包含斷層參數(shù)和矩張量兩種形式。通過滑動角數(shù)據(jù)以及表1的對應(yīng)關(guān)系,可以判斷出這三個(gè)震源機(jī)制解對應(yīng)的斷層類型分別為正斷層、逆斷層和走滑斷層,確保了數(shù)據(jù)的多樣性。
根據(jù)圖1的流程分別對表2的三條震源機(jī)制解參數(shù)進(jìn)行計(jì)算,得到輻射花樣紋理如圖2、圖3、圖4所示。其中,圖2(a)、圖3(a)、圖4(a)為斷層參數(shù)對應(yīng)的紋理,圖2(b)、圖3(b)、圖4(b)為矩張量對應(yīng)的紋理,橫軸為0°~360°的方位角,對應(yīng)球體的經(jīng)度;縱軸為0°~180°的離源角,減去90°就是緯度,根據(jù)斷層類型對正振幅區(qū)域填充的顏色分別為綠色、紅色和藍(lán)色。
圖2 正斷層輻射花樣紋理Fig.2 Radiation pattern texture of normal fault parameters
圖3 逆斷層輻射花樣紋理Fig.3 Radiation pattern texture of reverse fault parameters
圖4 走滑斷層輻射花樣紋理Fig.4 Radiation pattern texture of strike slip fault parameters
使用表2中的經(jīng)緯度和深度在Cesium框架下繪制震源球,然后分別使用上述紋理圖進(jìn)行貼合并向北旋轉(zhuǎn)90°得到三維的沙灘球。圖5給出了北半球高空視角下的三維沙灘球顯示效果,考慮到實(shí)際的震源在地下,不方便查看,所以關(guān)掉了Cesium的深度檢測,這樣可以看到地球內(nèi)部的物體,可以看出繪制出來的圖案與二維的沙灘球相似,但還需要進(jìn)行對比驗(yàn)證。
圖6 斷層參數(shù)沙灘球?qū)Ρ菷ig.6 Comparison of beach balls of fault parameters
由于沙灘球是震源球下半球在赤平面的投影,可以通過對比使用本文的方法繪制出來的三維沙灘球的下半球視圖與使用主流的GMT繪制出來的沙灘球是否一致的方法來判斷??紤]到三維沙灘球的下半球在地球內(nèi)部,可以將三維沙灘球繞著其局部坐標(biāo)系的Y軸和Z軸分別順時(shí)針旋轉(zhuǎn)180°使其上下反轉(zhuǎn),同時(shí)將觀察視角設(shè)置為沙灘球位置的高空俯視視角,這樣觀察到的就是三維沙灘球的下半球。
圖7 矩張量沙灘球?qū)Ρ菷ig.7 Comparison of beach balls of moment tensor
圖6給出了斷層參數(shù)對應(yīng)的三維沙灘球與GMT繪制的二維沙灘球的對比,為了展示三維沙灘球在不同視角下的形態(tài),對比時(shí)沒有隱藏其他兩個(gè)沙灘球,為了指明圖中當(dāng)前視角觀察的對象,添加了紅色箭頭來指示。通過對比可以發(fā)現(xiàn)兩者的花紋基本一致,只是花紋的邊界略有差別,其中正斷層差異明顯一些,相比于GMT繪制的沙灘球,本方法看到的下半球白色區(qū)域更大一些。圖7給出了矩張量對應(yīng)的沙灘球的對比,與圖5一樣,兩者在形態(tài)上基本一致,但花紋的邊界差異比矩張量更明顯一些,尤其是逆斷層,GMT繪制的沙灘球在右下角內(nèi)凹很明顯??紤]到地震中的沙灘球是通過烏爾夫網(wǎng)投影[20]得到的,是一種等角度投影,在相同角度的情況下,越靠近兩側(cè)的區(qū)域投影后面積越大,最后產(chǎn)生網(wǎng)心部分過于集中,邊緣部分則較稀疏的情況,而本文使用的俯視圖法不存在上述問題,所以兩者對比存在的差異是合理的,使用本方法得到的三維沙灘球在一定程度上來說是正確的。
圖8 汶川龍門山三維地質(zhì)場景Fig.8 3D beach balls of Wenchuan earthquake
三維沙灘球可作為斷層面建模的參考依據(jù),其顏色分界面可以看做斷層面的走向,在實(shí)際斷層面建模中可以起到約束作用,同時(shí)結(jié)合地質(zhì)模型等數(shù)據(jù)可以構(gòu)建三維地質(zhì)場景。圖8給出了由汶川龍門山的三維P波速度模型、龍門山的主斷層面[21]、斷層軌跡線以及對應(yīng)的未上下反轉(zhuǎn)的三維沙灘球[22]構(gòu)建的三維地質(zhì)場景,由于實(shí)際的數(shù)據(jù)在地下,不便于查看,本文將其整體抬升到了地表之上;另外由于沙灘球和斷層面在地質(zhì)模型內(nèi)部,本文也對模型部分區(qū)域進(jìn)行了切割,以便于觀察??梢钥闯鏊俣葓龊椭鲾鄬用娴恼共寂c沙灘球的分布大體上一致,斷層面的走向與沙灘球的分界面吻合得一般,還有待完善。
本文結(jié)合地震數(shù)據(jù)三維信息化發(fā)展的背景,從震源機(jī)制解沙灘球的繪制原理出發(fā),基于目前常用的三維可視化引擎Cesium,研究了震源機(jī)制解三維可視化的方法并進(jìn)行了分析討論,最終得到如下結(jié)論:
1)震源機(jī)制解的三維可視化結(jié)果是帶有輻射花樣圖案的震源球。
2)通過基于輻射花樣計(jì)算公式得到震源球面的輻射花樣紋理,并使用Cesium繪制帶紋理的球體的方式來實(shí)現(xiàn)震源機(jī)制解的三維可視化的方法是正確可行的。
3)使用本方法繪制出來的三維沙灘球形象直觀,可通過將其進(jìn)行反轉(zhuǎn)用于常規(guī)的震源機(jī)制解數(shù)據(jù)分析,也可用作斷層面建模以及三維信息化場景的構(gòu)建等,使得相關(guān)領(lǐng)域的研究以及向大眾普及地震相關(guān)的知識更加地方便、有效。