[發(fā)明專利]基于曲面細分的地震數(shù)據(jù)三維顯示方法有效
| 申請?zhí)枺?/td> | 201610204785.3 | 申請日: | 2016-04-03 |
| 公開(公告)號: | CN105676290B | 公開(公告)日: | 2017-10-13 |
| 發(fā)明(設(shè)計)人: | 何震震;肖創(chuàng)柏;禹晶 | 申請(專利權(quán))人: | 北京工業(yè)大學 |
| 主分類號: | G01V1/34 | 分類號: | G01V1/34 |
| 代理公司: | 北京思海天達知識產(chǎn)權(quán)代理有限公司11203 | 代理人: | 劉萍 |
| 地址: | 100124 *** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 曲面 細分 地震 數(shù)據(jù) 三維 顯示 方法 | ||
1.基于曲面細分的地震數(shù)據(jù)三維顯示方法;其特征在于,按以下步驟實現(xiàn)的:
步驟(1),SEG-Y格式地震數(shù)據(jù)的解析:
SEG-Y格式是地震數(shù)據(jù)的格式之一;包括三部分,分別為EBCDIC文件頭、二進制文件頭以及地震道;用N表示數(shù)據(jù)體的第N道數(shù)據(jù)道,則第N道道頭和道數(shù)據(jù)讀取位置分別為:
3600+(N-1)(240+sample_num*data_size)
3600+(N-1)(2400+sample_num*data_size)+240
其中,sample_num表示SEG-Y格式數(shù)據(jù)的總采樣點數(shù),data_size表示存儲一個數(shù)據(jù)點所占的字節(jié)數(shù);
SEG-Y格式是統(tǒng)一的,但由于微機和工作站的數(shù)據(jù)的存儲格式不同,工作站高字節(jié)在前,低字節(jié)在后,而微機則是低字節(jié)在前,高字節(jié)在后;在數(shù)據(jù)讀取時需要進行高、低位數(shù)據(jù)交換;
步驟(2),初始化頂點緩存:
自定義頂點結(jié)構(gòu),保存數(shù)據(jù)體的三維信息,從SEG-Y讀取數(shù)據(jù)到二維數(shù)組中,保存數(shù)據(jù)的二維數(shù)組記為data[trace_num][sample_num],其中trace_num表示SEG-Y地震數(shù)據(jù)總地震道數(shù),sample_num表示總采樣點數(shù);采用三階貝塞爾曲面進行數(shù)據(jù)點的擬合,三階貝塞爾曲面的表達式為:
其中,表示伯恩斯坦多項式,pi,j是編號為i,j的控制頂點,表達式如下:
且為整數(shù)
且為整數(shù)
一個三階貝塞爾曲面片的確定需要16個控制點,對于得到的二維數(shù)組data[trace_num][sample_num],GPU在進行讀取時,是按照一維數(shù)組進行讀取的,因此需要進行二維數(shù)組到一維數(shù)組的轉(zhuǎn)換,面片N與面片M左右相鄰,控制點分別記為:
N[0][0],N[1][0],N[2][0],N[3][0]M[0][0],M[1][0],M[2][0],M[3][0]
N[0][1],N[1][1],N[2][1],N[3][1]M[0][1],M[1][1],M[2][1],M[3][1]
N[0][2],N[1][2],N[2][2],N[3][2]M[0][2],M[1][2],M[2][2],M[3][2]
N[0][3],N[1][3],N[2][3],N[3][3]M[0][3],M[1][3],M[2][3],M[3][3]
為了消除N與M之間的裂縫,則需要N與M面片都包含相鄰邊的數(shù)據(jù),因此N面片與M面片消除裂縫的條件如下:
M[0][0]=N[3][0],M[0][1]=N[3][1],M[0][2]=N[3][2],M[0][3]=N[3][3]
面片的空間關(guān)系分為上下左右四個方位,消除裂縫算法如下:
設(shè)m為當前地震道數(shù),取值為1,4,7…trace_num-3,對于給定的地震道數(shù)m,n表示當前采樣點數(shù),取值為1,4,7…sample_num-3;對于給定的m,n,為了確定由16個頂點組成的面片,其中16個頂點共分為4行,每行由4個頂點組成,則有:
第一行頂點數(shù)據(jù):data[m-1][n-1],data[m+0][n-1],data[m+1][n-1],data[m+2][n-1]
第二行頂點數(shù)據(jù):data[m-1][n],data[m+0][n],data[m+1][n],data[m+2][n]
第三行頂點數(shù)據(jù):data[m-1][n+1],data[m+0][n+1],data[m+1][n+1],data[m+2][n+1]
第四行頂點數(shù)據(jù):data[m-1][n+2],data[m+0][n+2],data[m+1][n+2],data[m+2][n+2];
步驟(3),創(chuàng)建頂點布局:
在自定義頂點結(jié)構(gòu)中定義頂點的相關(guān)屬性,此處只需要一個三維坐標信息,保存地震數(shù)據(jù)點的位置信息;
步驟(4),設(shè)置圖元拓撲類型:
用IASetPrimitiveTopology設(shè)置D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST,使得GPU以面片的方式讀取頂點緩存;D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST表示GPU會用以16個頂點組成的面片作為一個圖元進行組裝;
步驟(5),曲面細分:
準備好頂點緩沖后,在GPU中實現(xiàn)曲面細分算法,GPU以
D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST組裝方式對輸入的頂點緩存進行讀取,設(shè)u,v為曲面參數(shù),取值范圍為[0,1],對于給定的u,v使用公式:
求出細分得到的頂點的三維坐標;具體步驟是:
第一步:設(shè)置一個靜態(tài)緩存來存儲每一幀繪制時需要用到的數(shù)據(jù),其中數(shù)據(jù)包括:透視矩陣、攝像機位置、細分因子、地震數(shù)據(jù)最大幅值和地震數(shù)據(jù)最小幅值;
第二步:patch靜態(tài)函數(shù),該函數(shù)對每個由16個控制點組成的面片執(zhí)行一次,在該函數(shù)中對每個面片的細分因子進行設(shè)置,該值為第一步中確定的細分因子取值;
第三步:hull著色程序,該程序?qū)γ總€輸出控制點執(zhí)行一次,設(shè)置細分domain為四邊形,輸出控制點的數(shù)量為16,并指定patch函數(shù)為第二步中的patch函數(shù);
第四步:domain著色程序,在該程序中對細分著色器中生成的頂點進行定位,使用公式:
得到給定(u,v)取值后相應(yīng)的頂點的坐標;
步驟(6),頂點顏色插值:
在GPU的像素著色階進行頂點顏色的確定,記步驟(5)第一步中得到的幅值最大值最小值分別為MAX,MIN;對于給定頂點V的地震幅值Z,若其幅值為正,求Z與MAX比例,記為a,則該頂點顏色為:(1-a,1-a,1);若其幅值為負,求Z與MIN比例,記為b,則該頂點顏色為:(1,1-b,1-b)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京工業(yè)大學,未經(jīng)北京工業(yè)大學許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610204785.3/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種吹膜機卷膜機構(gòu)
- 下一篇:一種單層保護膜收卷裝置





