首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于OpenGL的三维油藏可视化模型
来源:本站整理  作者:佚名  2009-06-23 10:57:28



1 引言
   
通过地震、测井可得到关于油藏地层测试点孔隙度、渗透率等物性参数,但这些数据数量庞大,难以直接进行地质分析。为了解油层结构和分布,需要将油藏地层模型在计算机上再现,并对其进行一些交互式操作及初步处理。
    系统实现方法是:首先组织数据(几何顶点,物性参数值等)及提取可视面,并与所需要的目标结合,实现对模型的绘制。其次,提供对模型的分解和剖切方法,实现由数据驱动的对模型的操作控制。

2 数据处理与参数的颜色索引
2.1 系统的地质数据
   
系统读入的原始网格数据示例如下:


    第一行数据的前3个数据数据分别表示X,Y,Z轴方向上的网格个数,第4~6个数据分别表示X,Y,Z轴方向上的原点坐标,而第7~8个数据表示沿X,Y轴方向的网格间距大小。第二行数据"2"表示以下是两列数据,第一列数据(如940.700)表示深度值,第二列数据(如73.000)表示对应点的参数值。
    由于网格结点在xoy平面上是规则的顺序排列,给出已知的沿x,y方向的网格间距dx,dy,网格数Nx,Ny和几何坐标系原点坐标x0,y0,z0,则任一网格结点Node的空间坐标和参数为:

   
式中:i的范围为[O,Nx-1],j的范围为[0,Ny-1];k为结点Node(i,j)处深度的序数,其值与深度的排列方式有关。dpk,sk为第k点处的深度和物性参数。
2.2 处理原始数据
   
由于原始数据采用大地坐标,为方便绘图,应对数据进行坐标变换。将X,Y,Z上数据范围变换到-1~1之间,经过缩放变换,才能在视图区显示出图形。原始数据在测量时可能存在误差,因此在读入数据后需对数据进行有效性检验。
2.3 参数的颜色索引
    OpenGL的颜色索引模式通过建立一个颜色索引表(又称彩色表)确定所绘制物体的颜色。彩色表的建立可通过指定彩色表两端的基色和尾色,插值计算出中间其它颜色,分别赋予相应索引号。在给模型着色时,将读人数据点对应的参数值转化成彩色表上的索引号,便可确定参数的颜色。由于彩色表上的索引号对应的参数是离散的,应对参数值在彩色表中对应的位置作四舍五人以精确给出其索引号。设参数存储在数组parameter中,color_num为彩色表长度。将参数转化为颜色索引号p的代码段如下:

对应的索引号

   

    以上创建出来的颜色可能较单调,一些位于中间部分的参数值对应的颜色区别不明显。一种改进方法是将彩色表分成4段,每一段只控制一种颜色分量的变化,这样彩色表的颜色变化种类大大增加了,使位于中间部分的参数值颜色区分很明显,可更直观的反映出油藏情况。
    基色和尾色通常根据油藏描述的实际要求指定,例如类蓝色(表示水)和类红色(表示油),分别对应物性参数(如渗透率)的最小值和最大值。

3 建立三维地质数据模型
3.1 绘制三维地质模型的基本思想
   
实现三维地质模型绘制的关键步骤是对数据体建模。由对读入数据的排列结构分析可知,原始网格数据形成了一个三维地层模型。除了在垂直方向(Z方向)上的两个面有上下起伏外,其余的面均是平行于ZOY,面或ZOX面的平面。如图1所示。

    地层模型的可视面即底面、顶面、左面、右面、前面及后面,因此只画这6个面的外侧就可以绘制出整个6面体。问题便转化成提取这6个面上的数据,用OpenGL的绘图技术对每一个面分别进行绘制。
3.2 三维地质数据体模型的生成
   
模型立方体的6个面由很多小4边形组成,可采用OpenGL画连续4边形的方法将每一个面画出来。填充颜色则可采用OpenGL的平滑(SMOOTH)着色方式,定义出顶点的颜色后,OpenGL便自动地对4边形内的颜色插值计算,进行颜色渐变绘制。着色之前采用Z缓存(Z_buffer)技术通过对物体进行深度测试的方法实现消隐。
    以底面创建为例,考虑一般情况,设x轴上的网格个数为x_lenth,z轴的数据存储在数组z_data中,当前绘制的4边形片序数为循环变量j,各顶点的颜色值由参数值转化成颜色索引值确定,并由向量模式给出。自动提取底面数据并绘制底面的程序段为:

   
   

[1] [2]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:98,960.94000 毫秒