[发明专利]基于曲面细分的地震数据三维显示方法有效

专利信息
申请号: 201610204785.3 申请日: 2016-04-03
公开(公告)号: CN105676290B 公开(公告)日: 2017-10-13
发明(设计)人: 何震震;肖创柏;禹晶 申请(专利权)人: 北京工业大学
主分类号: G01V1/34 分类号: G01V1/34
代理公司: 北京思海天达知识产权代理有限公司11203 代理人: 刘萍
地址: 100124 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明属于计算机图形学和数据可视化领域,涉及一种基于曲面细分的地震数据三维显示方法。本发明使用Directx11编程工具,基于三阶贝塞尔曲面细分算法,实现了地震数据的三维显示方法。对于准备好的顶点缓存,设置GPU以面片的方式组装控制点,因此不需要索引缓存,从而省去了因确定索引缓冲而产生的槽和脊的问题。此外,基于GPU编程的曲面细分技术的运用,生成了更多的控制点,使得网格的显示更加细腻平滑并具有很好的实时性。
搜索关键词: 基于 曲面 细分 地震 数据 三维 显示 方法
【主权项】:
基于曲面细分的地震数据三维显示方法;其特征在于,按以下步骤实现的:步骤(1),SEG‑Y格式地震数据的解析:SEG‑Y格式是地震数据的格式之一;包括三部分,分别为EBCDIC文件头、二进制文件头以及地震道;用N表示数据体的第N道数据道,则第N道道头和道数据读取位置分别为:3600+(N‑1)(240+sample_num*data_size)3600+(N‑1)(2400+sample_num*data_size)+240其中,sample_num表示SEG‑Y格式数据的总采样点数,data_size表示存储一个数据点所占的字节数;SEG‑Y格式是统一的,但由于微机和工作站的数据的存储格式不同,工作站高字节在前,低字节在后,而微机则是低字节在前,高字节在后;在数据读取时需要进行高、低位数据交换;步骤(2),初始化顶点缓存:自定义顶点结构,保存数据体的三维信息,从SEG‑Y读取数据到二维数组中,保存数据的二维数组记为data[trace_num][sample_num],其中trace_num表示SEG‑Y地震数据总地震道数,sample_num表示总采样点数;采用三阶贝塞尔曲面进行数据点的拟合,三阶贝塞尔曲面的表达式为:其中,表示伯恩斯坦多项式,pi,j是编号为i,j的控制顶点,表达式如下:且为整数且为整数一个三阶贝塞尔曲面片的确定需要16个控制点,对于得到的二维数组data[trace_num][sample_num],GPU在进行读取时,是按照一维数组进行读取的,因此需要进行二维数组到一维数组的转换,面片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面片都包含相邻边的数据,因此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]面片的空间关系分为上下左右四个方位,消除裂缝算法如下:设m为当前地震道数,取值为1,4,7…trace_num‑3,对于给定的地震道数m,n表示当前采样点数,取值为1,4,7…sample_num‑3;对于给定的m,n,为了确定由16个顶点组成的面片,其中16个顶点共分为4行,每行由4个顶点组成,则有:第一行顶点数据:data[m‑1][n‑1],data[m+0][n‑1],data[m+1][n‑1],data[m+2][n‑1]第二行顶点数据:data[m‑1][n],data[m+0][n],data[m+1][n],data[m+2][n]第三行顶点数据:data[m‑1][n+1],data[m+0][n+1],data[m+1][n+1],data[m+2][n+1]第四行顶点数据:data[m‑1][n+2],data[m+0][n+2],data[m+1][n+2],data[m+2][n+2];步骤(3),创建顶点布局:在自定义顶点结构中定义顶点的相关属性,此处只需要一个三维坐标信息,保存地震数据点的位置信息;步骤(4),设置图元拓扑类型:用IASetPrimitiveTopology设置D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST,使得GPU以面片的方式读取顶点缓存;D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST表示GPU会用以16个顶点组成的面片作为一个图元进行组装;步骤(5),曲面细分:准备好顶点缓冲后,在GPU中实现曲面细分算法,GPU以D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST组装方式对输入的顶点缓存进行读取,设u,v为曲面参数,取值范围为[0,1],对于给定的u,v使用公式:求出细分得到的顶点的三维坐标;具体步骤是:第一步:设置一个静态缓存来存储每一帧绘制时需要用到的数据,其中数据包括:透视矩阵、摄像机位置、细分因子、地震数据最大幅值和地震数据最小幅值;第二步:patch静态函数,该函数对每个由16个控制点组成的面片执行一次,在该函数中对每个面片的细分因子进行设置,该值为第一步中确定的细分因子取值;第三步:hull着色程序,该程序对每个输出控制点执行一次,设置细分domain为四边形,输出控制点的数量为16,并指定patch函数为第二步中的patch函数;第四步:domain着色程序,在该程序中对细分着色器中生成的顶点进行定位,使用公式:得到给定(u,v)取值后相应的顶点的坐标;步骤(6),顶点颜色插值:在GPU的像素着色阶进行顶点颜色的确定,记步骤(5)第一步中得到的幅值最大值最小值分别为MAX,MIN;对于给定顶点V的地震幅值Z,若其幅值为正,求Z与MAX比例,记为a,则该顶点颜色为:(1‑a,1‑a,1);若其幅值为负,求Z与MIN比例,记为b,则该顶点颜色为:(1,1‑b,1‑b)。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201610204785.3/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top