当前位置: 首页 > >

勘探决策支持系统中的应用研究_图文

发布时间:

中国海洋大学 硕士学位论文 地震数据体绘制技术在勘探决策支持系统中的应用研究 姓名:李虎 申请学位级别:硕士 专业:地质工程 指导教师:孟凡顺;王金铎 20090611

地震数据体绘制技术在勘探决策支持系统 中的应用研究 摘要
体绘制技术是科学计算可视化中的一种重要方法,它能够从体数据集中抽取内 在的本质信息,并借助图形图像技术展示出来。由于体绘制技术是将三维的离散数 据直接转换为二维图像而不必生成中间几何图元,所以又称为直接体绘制。它适合 生成原始地震数据的整体图像,并能够清晰的显示其中的细节信息,在地质勘探领 域的应用越来越广泛。

随着油田地震勘探技术的发展,地震数据的容量急剧增大,为体绘制技术带来 了更大的挑战。本论文采用多分辨率的八叉树结构管理地震数据体,将大地震数据 体分割成多个小数据体,并逐层生成低分辨率的数据。用多分辨率的方法进行大数 据体的体绘制,克服了存储容量的限制,在保持图像质量的前提下加快了体绘制速 度。本论文中改进了算法中的选择条件、绘制条件和剔除条件,更有效提高了地震 数据体绘制的速度。 本论文在上述算法的基础上设计实现了勘探决策支持系统三维可视化模块中的 地震数据体绘制*台。并且在*台中应用了提前终止光线算法和基于GPU的三维纹 理加速算法,进一步提高地震数据体绘制的速度。 地震数据体绘制技术在勘探决策系统中的应用,将为油田的勘探决策提供更加 强有力的支持,对于提高地震勘探和钻探的准确度和成功率有重要意义。

关键词:体绘制技术:八叉树;多分辨率绘制

Application Research of Seismic Data Volume Rendering Technology in the Exploration Decision Support System Abstract
Volume rendering is
intrinsic information
one

of the main methods in scientific visualization field.The
call

ofvolume dataset
aS

be visualized by volume
110

rendering.Volume

rendering is also known

direct

volume rendering,for

intermediate geometry
can

primitives

are

generated during

its visualization process.It

generate the image of

seismic dataset with high quality details and context。Volume Rendering technology in
geological prospecting in the
area

of application more widely.

W触oil seismic
been

exploration development,the size of seismic data.set

generated has

increased dramatically.Suc蠹large scale datasets pose immense challenges to
use multi-resolution

volume rendering.In this paper,we

techniques for volume rendering,

which manage original dataset in hierarchical octree

structures.Separated seismic dataset
not

into many small datasets,and created low-resolution data every layer.This method
only decreases storage limitation of

volume rendering,but also increases

rendering speed

without sacrificing rendering quality。We improve selection n畦es and rendering rules in

multi-resolution

volume

rendering

process.We improve

the algorithm of selecting
to further

conditions,rendering conditions and excluding conditions
rendering

increase the

speed of seismic data。

Finally,a

volume rendering framework of Exploration Decision Support System
developed。And
utilize Early Ray Termination method

has been designed and

and

GPU-based 3D
seismic data.

Texture Rendering method to further increase the rendering speed of

The application of seismic data volume rendering Decision Support System,will provide great


technology in

the Exploration

stronger support for exploration decision

and is

significance to improve seismic

exploration and drilling accuracy

and Success rate.

Key words:volume rendering:hierarchical octree=multi—resolution rendering

独创声



本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究 成果。据我所知,除了文中特别加以标注帮致谢的地方外,论文中不包含其链入已 经发表或撰写过的研究成果,也不包含未获得

!洼;垫遗

直墓丝蠡要堑测直题的!查拦互窒2或其他教育机构的学位或证书使用过的材料。
与我一同工作的同志对本研究所做的任何贡献均已在论文中佟了明确的说明并表示 谢意。

学位论文作者签名:

签字罄期:2,《k∥胃I/鑫

学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,有权保留并向 医家有关部门或枧构送交论文的复露件和磁盘,允许论文被套阕和借阅。本人授权 学校可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或扫描等复制手段保存、汇编学位论文。同时授权中国科学技术信息研究所将 本学位论文收录到《中国学位论文全文数据库》,并通过网络向社会公众提供信息 服务。 (保密的学位论文在解密后适用本授权书)

学位论文作者签名:/参‘瑟夕
签字日期:》啼石月∥日

导师签

…妒≥声名,/曰

地震数据体绘制技术在勘探决策支持系统中的应用研究

l引言

1.1本课题研究背景
勘探工作是油田工作的主线。勘探信息是油田勘探过程中产生的重要信息,这 些信息资源的科学管理和应用,对油田的现代化管理是必不可少的,对避免决策失 误、提高勘探的成功率都有着非常重要的意义。随着油田勘探工作的不断深入,勘 探数据在勘探生产、科研、管理中的作用越来越大,在地质综合研究、地质解释、 圈闭评价、储层评价、盆地模拟、油藏描述、测井解释、井位论证、探井生产管理 等方面都离不开大量的勘探数据的支持。经过多年的建设,勘探数据库已基本建成, 数据量在不断增大,数据质量也越来越好,在油田的勘探生产、科研和管理等各个 领域已得到广泛应用。


勘探决策就是在勘探过程中对影响勘探投资效果和效益的关键环节进行多方案 优化决策。物探部署、井位部署、勘探施工从钻井、录井、测井、试油和完井的具 体措施的讨论是决定勘探投资和勘探效益的最重要的决策环节。普遍来看,国内勘 探决策的一般形式是:决策者根据专家对现场工作人员和研究人员提供的地质综合 研究成果和相关原始资料的论证意见进行决策的群体决策模式。 随着勘探技术的发展,获取的勘探资料越来越丰富,电子化程度越来越高,给 勘探决策提出了更高的要求。而传统的决策模式已无法适应新技术发展的要求,一 些资料和研究成果在决策现场难以展示和及时提供,制约了专家群体对大量资料的 认识和评判。通过“勘探决策支持系统建设与应用"项目,能够实现勘探数据和研 究成果的资产化管理、勘探业务流程信息化支撑、勘探研究过程的专家协同、科学 规范的勘探决策、有效实现监控生产、提高决策效率及效果、积累决策经验、充分 借鉴前人成果,这是对未来石油工业的综合技术应用、决策管理方式的新探索,对 中国石化乃至国内石油工业都具有积极的意义。 勘探决策支持系统以勘探数据库为依托,以辅助决策基础*台为支撑,从勘探 过程中井位部署、生产管理这两个决策点出发,为决策者提供决策所需的数据、信 息和背景材料,帮助明确决策目标和进行问题的识别,为正确决策提供必要的支持。 勘探决策可视化*台,是勘探数据和信息展示的最主要手段,它依托于项目数


≈lm女体%“&木#自g女策i*§‰十∞&月研R

据库,实现各类数据的现场可视化显示。在井位部署论证会上,为项目组与专家提 供各类工区数据的显示,提供丰富的解释成果数据显示,在含有丰富地面信息的GIS 底图上能够显示工区的概貌,利用井筒可视化显示功能显示井的综合录井图,从而 为研究与决策人员提供更加直观的决策依据。 刀押嘞。舳“““艘2”‘…
Ⅲ*}#“c““

…塑』i砸且赢一二””J巨主蜀!n n-j
wfI)sE…i}^%一☆]Ⅷ*
swl“

}匦iF园圃圃圈 圈圆圊 " 厕翮厦翰丽痢
≈“J口0 j

L——鱼!咝塑 9型≮一——_j 廿 o
)£Bm

M{,k…*

I——一

}际函司匝蕊丽司r丽面钉n丽瓦]

%㈣

fⅫ#¥)iriii丽目黼m
∞H



CIb呲s)

r画嚣口
▲ ▲ ‘ 0

匮菌i团ii絮!同霜i蕊盂匮ii
圈1.1?勘探决策支持系统总体框架设计
如图1 I所示:勘探决策支持系统采用流行的Web Service三层体系结构来实现, 即数据层、服务层和应用层。在数据层,主要指勘探数据库、开发数据库、决策支 持项目库等数据源,以及地震数据体文件、成果图档等非结构数据。在服务层,根

据业务逻辑划分不同的业务组件,例如数据服务、扩展服务、框架机制等。在应用
层,建立可视化展示及决策支持模块,包括工区底图、地震剖面、井筒可视化、OIS

遥感等可视化功能.建立协同工作环境,提供勘探井位部署流程和探井生产运行管
理流程支持。

勘探决策支持系统在胜利油田应用两年多以来,已经成为胜利油田勘探信息化 的标志性系统。决策系统为研究人员提供项目研究的数据支持与成果资料的管理和 共享;为管理部门提供及时的项目进度,提高勘探项目的管理水*及工作效率:为 决策人员提供准确可靠的决策依据,降低决燕风险,提升勘探决策水*。

地震数据体绘制技术在勘探决策支持系统中的应用研究

1..2本课题研究目的和意义
随着油田地震勘探各项技术的应用与发展,勘探工作者对地震成果的要求也越 来越高;面对目益复杂、隐蔽的油藏情况,为提高钻探的成功率,需要为勘探工作

者提供一个全新的三维地质构造形态及其三维属性特征。科学计算可视化技术的出
现,为实现这个思想提供了成熟的技术支持。科学计算可视化技术应用于地震资料, 产生了三维地震可视化技术。三维地震可视化不但能够提高地震解释的效率、精度 和完整性,而且容易理解显示集成大量的数据,大大提高了解释人员对三维数据体 的理解程度。 在勘探决策支持系统中,与地震数据可视化有关的模块包括底图浏览器、剖面 浏览器等,都是二维*面的可视化模块。在二维剖面上,反射面的形态是看不到的, 即使在三维切片上也无法看到,而在三维可视化环境中,我们可以直接从三维数据 体中看到各个反射面的三维形态及相互之间的空间结构关系。那些片面的、孤立的 信息在三维空间中能互相联系起来,可以使油田决策者、生产科研专家同时从各个 角度观察三维地震数据体,而不是只从一个角度观察(二维图形),并且可以用任 何方式确定位置、旋转、拉伸,以帮助分析这些信息。它不仅使地球科学家们能更 深刻地理解各种地质现象的发生、发展及影响,而且使他们的想象力更加丰富多彩, 使他们能够在地质构造和三维地震数据中翱翔,对提高地震勘探的准确度和成功率 起到至关重要的作用。 因此,通过该课题的研究,在勘探决策支持系统中引入三维可视化功能,能够 实现地面地貌地物信息和地下地质信息、生产信息和研究管理成果的有机结合,高 效利用现有资源,实现勘探数据和研究成果的资产化管理。在决策现场充分展示研 究成果,以多种方式灵活调用决策需要的各种信息,为专家提供决策依据,提高决 策的准确性。达到决策的科学化,智能化,改变传统的勘探决策方式,提高石油行 业的整体竞争力。这是对石油工业未来综合技术应用、决策管理方式的新探索,对 中国石化乃至国内石油工业的信息化发展都具有积极的意义,具有重要的社会效益。

1.3国内外研究现状
从80年代末开始,地震勘探三维可视化技术得到了快速发展。通过十几年的研


地震数据体绘制技术在勘探决策支持系统中的应用研究

究开发,出现了一批可视化应用软件。国外比较著名的有Landmark公司.的 EarthCube、Schlumberger公司的GeoViz以及Paradigm公司的三维Canvas和 VoxelGeo等,它们基本上代表了当今地震勘探三维可视化应用的最高水*。这些软 件包可将二维地震、三维地震、测井曲线、地质分层、井轨迹、网络化层面、断层 面等进行完整的三维立体显示,用户可以用鼠标控制旋转角度来观察地质目标,直 观便捷。 ●Landmark公司的EarthCube EarthCube提供了一个完全一体化、三维、实时的地震解释系统。最具特色的是 用户可以自由地对数据进行操作,调整颜色、透明度对三维地质体直接识别、可视 化显示和解释,并能与现有的SeisWorks/---维的任一项目以及与之有关的

OpenWorks数据库一起应用。各种传统的和基于立体的显示手段,使解释员能以从
前无法想象的方式来观察数据体,反映构造和地层现象,为用户提供从剖面到三维 体全方位认识、研究地质体的最佳手段。 EarthCube具备层面、断层和异常体解释的能力,它可以将三维体内有意义的地 质体或某一目的层段定义显示出来,并且将它保存为特有的数据体Voxbody。 Voxbody根据客户定义振幅范围,以单种子点或多种子点的方式进行追踪(种子点 可保存),或沿着某一目的层(层面、断面、井径)作雕刻,从主体中剥离出来。
?

Schlumberger公司的GeoViz

GeoViz在常规显示时,只显示数据体的6个面,来保证显示的速度。在透视方 式时,将要显示的数据体数据全部载入到内存中,所以对内存要求较高。 ?Paradigm公司的三维Canvas和VoxelGeo 三维Canvas由于在三维显示中充分利用磁盘缓存,还具有抽稀设置(数据体 可以有lxl,2x2,4x4,8x8几种抽稀设置),所以能够显示很大的数据体,而VoxelGeo 将分析的数据体直接读入内存,受到系统内存的制约。Paradigm这样介绍三维 Canvas的特点的:采用特殊数据存储格式以及先进的可视化技术,可以实现大数据 体浏览、多属性体漫游解释。突破了计算机物理内存限制,使可视化解释成为了可 能。 在国内的石油公司、地球物理公司、计算中心等单位普遍使用的地震软件大都 是从国外引进的,并以Landmark公司和Schlumberger公司的解释系统居多,这些 解释系统都偏重于三维解释或三维建模等深层次功能,具有较好的可视化功能。但


地震数据体绘制技术在勘探决策支持系统中的应用研究

是,这些大型软件都只能在工作站环境下应用,不仅对使用人员的技能要求比较高, 而且各种软件需要的数据五花八门,难以统一。 *几年,国内也出现了一些地震勘探方面的三维可视化软件,例如OAT公司的 OpenPetro、GNT公司的GIGAviz等,也提供了在地震三维解释或三维建模等方面 的功能。但是由于三维可视化的复杂性,国内软件在功能全面性和稳定性等方面还 无法和国外的大型软件相比。 通过分析上述比较成功的国内外大型地震勘探相关的三维可视化软件,发现大 部分系统都采用了Open (硅图公司Silicon

Inventor作为三维可视化的开发环境。Open Inventor是SGI
lne.)公司开发的基于OpenGL的面向对象三维图形软

Graphics

件开发工具包。此软件包原是基于Unix/motif操作系统的,由TGS公司(模板图形 软件,Template
Graphics

Software)将其移植到Windows操作系统下。它是一种相

对独立的窗口系统,这种工具软件便于程序员快速、简洁地开发各种类型的交互式 三维图形程序。 事实上,Open Inventor已经成为在Windows、Unix、Linux交叉*台上用C++ 和Java语言开发三维图形的标准,是一种极为强大的开发工具包,它包含了450多

个类库,以及简易的编程使用界面,使得开发者可以快速开发模型以及图形应用程

序£n。Open

Inventor支持大量的三维图形功能:高级多通道处理能力并支持多通道

扩展,体数据的交互式切割与漫游,大模型的可视化,处理大数据机的能力,实时 交互分析。 由于Open

Inventor是基于OpenGL的API函数库,主控程序是由C++或者Java

承担,因此上,在符合大规模项目开发惯例的同时,有着非常好的兼容性。 因此,在本文中使用Open Inventor作为三维可视化开发环境。

1.4本文研究内容

1.4.1论文内容

本文首先对该课题的研究背景、研究目的和意义进行了讨论,并介绍了国内外
研究现状。 其次,对体绘制的基本概念及基本算法进行了讨论。介绍了体绘制算法的基本


地震数据体绘制技术在勘探决策支持系统中的应用研究

流程,和广泛采用的几种体绘制算法。 然后,讨论了地震数据体的体绘制问题。介绍了如何创建多分辨率八叉树结构, 以及基于多分辨率八叉树结构地震数据体绘制过程等。 最后,本文详细介绍了地震数据体的体绘制技术在勘探决策支持系统中的设计 和实现。

1.4.2论文结构
第一章是引言,针对勘探决策支持系统的项目背景和应用情况进行了概述,并 指出勘探决策支持系统在三维可视化方面的缺陷。通过深入研究国内外地震勘探三 维可视化的研究现状,确定了本课题的研究方向。 第二章首先介绍了科学计算可视化和三维可视化的概况和基本流程,其次介绍 了体绘制的基本概念、绘制方程和*似合成公式,随后介绍了体绘制的几种常用算 法:光线投射法、抛雪球(Splatting)算法,错切-变形(shear.warp)算法和多遍重 采样算法等,并在最后讨论了三种提高体绘制速度的方法。 第三章主要讨论了大规模数据体的体绘制问题,提出了基于多分辨率八叉树结 构的大规模数据体的体绘制算法。本章详细说明了数据体八叉树结构的建立方法、 多分辨率数据的生成方法以及八叉树的快速遍历和体绘制方法。 第四章详细介绍了地震数据体的体绘制技术在勘探决策支持系统中的设计与实 现,并且具体描述了多分辨率八叉树结构体绘制算法和步骤,以及使用的加速体绘 制的方法,讨论了实现过程中的细节问题,并给出了部分代码做示例。 最后一章总结了论文所做的工作。



地震数据体绘制技术在勘探决策支持系统中的应用研究

2体绘制技术介绍

2.1科学计算可视化
科学计算可视化是以计算机图形学为基础发展而成的一门新兴的应用学科,是 一种特殊的计算方法121。它把数学符号转换为几何图形或图像,使研究者能够观察 它们的模拟和计算过程,并进行交互控制。科学计算可视化为人们提供了一种不可 见信息方法,丰富了科学发现的工程,使人们的研究方式发生了根本性的变化。 科学计算可视化的目标就是把由数值计算或实验获得的大量数据转换成人的视 觉可以直接接受的计算机图像。一副图像能把大量的抽象数据有机的结合在一起, 展示数据所表现的内容及其相互关系,使人们摆脱直接面对大量抽象数字组合成的 复杂情形,而使把握全局成为可能。他为科研人员提供了前所未有的机会来理解与 洞察计算中发生的一切,发现通常情况下发现不了的现象,因而丰富了科学发现的 途径,使科研人员可获得意料之外的启发与见解,从而提高科研工作水*与效率, 缩短获得研究成果的周期,通过科学计算可视化还可以驾驭科学计算,控制科学发 现的过程。科学计算可视化技术的出现,对于加快科学进程无疑是有很大的帮助。 科学计算可视化将图形生成技术、图像处理技术和入机交互技术结合在一起, 其主要功能是从复杂的多维数据中产生图形,也可以分析和理解送入计算机的图像 数据。它涉及到计算机图形学、图像处理j计算机辅助设计、计算机视觉及人机交 互技术等几个领域。

2.2三维数据场可视化
三维数据场可视化是科学计算可视化的核心领域[31,该技术的研究成果在医学、 气象学以及地质勘探等领域已经得到广泛的应用。三维数据场可视化主要是对定义 在三维空间的各种数据进行分析和处理,通过对二维数据序列的处理获得客体对象 的三维显示效果,并根据显示效果或交互操作对三维实体对象做出客观的定性或定 量分析的理论、方法和技术。



地震数据体绘制技术在勘探决策支持系统中的应用研究

2.2.1三维数据场可视化的数据类型
三维空间数据的类型直接决定着它的可视化算法,我们这里所说的数据类型包 括两层含义:其一是数据本身的类型,其二是数据分布及其连接关系的类型。 1.数据本身的类型


科学计算可视化中,需要可视化的数据可分为三种不同的类型,即标量、矢量 和张量。标量是指可以用一个不依赖坐标系的数字表征其性质的量,标量没有方向。 常见的标量有密度、温度、质量等。矢量是指需要用不依赖于坐标系的数字及方向 表征其性质的量。常见的有位移、速度、加速度等。将矢量按以坐标变换为基础的 定义加以推广,即可得到张量定义。因此,我们可以把标量视为零阶张量,矢量视为 一阶张量。 2.数据分布及其连接关系的类型 在实际应用中,无论科学计算还是空间上的测量数据通常都是离散的,因此, 科学计算可视化的对象一般是指空间上离散的数据。三维空间上的离散数据之间连 接关系的类型有以下几种: (1)结构化数据 结构化数据是指在逻辑上组织成三维数组的空间离散数据。也就是说,这些空 间离散数据的各个元素具有三维数组各元素的逻辑关系,每个元素都可以有它自己 所在的层号、行号和列号。结构化数据根据各个元素的物理分布不同,又可以分为 以下四种类型: ①均匀网格结构化数据; ②规格网格化数据; ⑨矩形网格结构化数据; ④不规则网格结构化数据; (2)非结构化数据 非结构化数据由一系列的单元构成,但它不能组织成三维数组,这些单元可以 是四面体、六面体、三棱柱或者四棱锥等。这些单元的面可以是*面,也可以是曲 面,其边可以是直线段,也可以是曲线段。非结构化数据常常出现在有限元分析和 计算流体力学中,在它的数据结构中,必须给出每个数据点的空间位置及其相互间 的连接关系。


地震数据体绘制技术在勘探决策支持系统中的应用研究

(3)结构化和非结构化混合型数据 为了使得数据的表示最为方便,所需的计算量也较小,需要将结构化数据和非 结构化数据结合起来使用,从而形成了混合型类型。

2.2.2三维数据场可视化的基本流程
无论是何种类型,其可视化的基本流程基本相同,可以用图2.1的几个主要步 骤表示【31。

数据生成

』上

数据精炼和处理

』土
可视化映射

』上
绘制


显示 图2.1.三维数据场可视化流程 (1)数据生成。即可由计算机数值模拟或测量仪器产生数据。计算机数值模拟 的结果形成数据文件。文件格式由科学计算工作者来定义,因它是已知的,可以比 较方便地输入计算机。但是,有些测量仪器输出数据的文件格式却是不公开的,必 须得到仪器制造厂家的配合才能弄清数据文件格式,将其输入计算机。 (2)数据的精炼与处理。因为应用对象的不同,此步的功能也会各不相同。对 于数据量过大的原始数据,需要加以精炼和选择,既要适当减少数据量,又要最大 限度地减少有用信息的丢失。反之,当数据分布过分稀疏而有可能影响可视化的效 果时,需要进行有效的插值处理。最常见的处理方法是消除噪声、参数域变换以及 法向计算等。 (3)可视化映射。它是核心部分。它是将经过处理的原始数据转换为可供绘制



地震数据体绘制技术在勘探决策支持系统中的应用研究

的几何图素和属性。而这里所说的映射指的是包括可视化方案的设计,即如何用形 状、光亮度、颜色以及其他属性表示出原始数据中人们感兴趣的性质和特点。 (4)将第三步产生的几何图素和属性转换为可供显示的图像,所用的方法包括 视见变换、光照计算、隐藏面消除以及扫描变换等计算机图形学中的基本技术。可 以用已有的图形软件包及图形硬件在图形工作站上完成以上功能。 (5)图像变换和显示。包括图像的几何变换、图像压缩、颜色量化、图像格式 转换以及图像的动态输出等。

2.3体绘制技术简介
三维空间数据场可视化方法大致可分为两大类:面绘制、直接体绘制【41。面绘 制首先在三维空间数据场中构造出中间几何图元,然后再由传统的计算机图形学技 术实现画面绘制。面绘制有多种算法,各种算法的不同点在于所采用的*似表面的 几何单元不同或几何单元尺度不同,典型的算法有:MC方法(Marching Cubes移 动立方体)、MT方法(Marching Tetrahedral移动四面体)、剖分立方体法(Dividing Cubes)等。面绘制适用于绘制表面特征分明的组织和器官,对数据分割要求高,且 物体内部信息取法保留,对于精细组织和器官的三维显示,常常效果不佳。 体绘制技术是科学计算可视化的一个重要研究方向;此技术在一定程度上脱离 了传统图形学的点、线、面的束缚,对象不再是以点、线、面等传统图形学表示形 体的方法组成的三维实体,而是由体素作为基本的单元,数据场是由大量的体素组 成的(51。对于此类数据场的绘制方法不同于传统的面绘制方法。它采用体光照模型 直接从三维数据场中绘制出各类物理量的分布情况。由于放弃了等值面等几何表示 方法。因此,体绘制常被称为直接体绘制。其实质为重新采样与图像合成。

2.3.1体绘制的基本概念
体绘制技术是一种基于光学映射的方法,这种方法通过模拟光线在物体内部的 一系列光学现象,使得到的体绘制图像更具真实感、便于分析和想象。对于一个通 用的可视化系统,需要提供多种可视化工具以满足不同对象或同一对象的不同表示。 光学映射法将三维数据场映射到一个具有透明特性,由体素作为基本造型单元 的系统。通过该系统描述光线穿过体数据场,在一定光照条件下呈现出来的各种亮
10

地震数据体绘制技术在勘探决策支持系统中的应用研究

斑、颜色等照明特性,从而反映数据场的整体信息和内部信息。光学法的优点就是 可以一次性地反映整个数据场的全部信息,特别是内部信息,但是计算量较大。 具体模拟的过程为【5】:光线在一个由数据体表示的传播媒介中传播,这种媒介 是由有色、半透明的胶体构成的,胶体的颜色和不透明度由标量数组决定。当光线 通过数据体时,将与胶体发生作用,如光线可能被吸收或散射掉,胶体自身还可能 在发光。此外还有许多其他类型的交互作用,如磷光现象和荧光现象。由于体绘制 的目的是数据可视化而不是物理现象的精确模拟,我们可以忽略光学模型中与可视 化关系不大的部分。在简化的光学模型中,体绘制算法产生的图像是通过计算光线 如何到达图像的每个像素得到的。

2.3:2体绘制方程
体绘制算法的输入是三维标量数组,我们将这个数组称为数据体(data volume), 简称体(volurae),数组中的每个元素则被称为体元(voxel)。有些体绘制算法认 为每个体元代表一个具有恒定标量值的小立方体。 光线传播遵从传输理论(Transport Theory)中的波尔兹曼方程(描述粒子流如 光子通过环境时的分布统计规律)。这里简单地引用一下传输理论在图形学中应用 的结果【61。 光子流在一个封闭的环境中很容易达到*衡状态,即在特定方向范围内通过给 定空间区域的光子数目不随时间发生变化。因此,考虑数据体内点r的微分体内沿 方向w的角微分区域运动的光子,对各种类型的交互引起的光子数量的改变量求和, 则实际变化量应当为0。

我们不用光子数,而用面辐射强度(radiance)来写能量*衡方程。设L(r,w)为
面辐射强度,它表示在点’.按方向w由光子所传输的功率密度。那么能量*衡方程指 的是光学的面辐射强度的方向导数等于在数据体内因各种交互而得到或是取得能量 之和:

wVL(r,们=一咖(r)L0w)+g(r,w)+r Ko,ur,-÷w)上(r,w,)加


(2.1)

地震数据体绘制技术在勘探决策支持系统中的应用研究

其中≯◇)称为灭绝系数(extinction),它等于光子沿光线单位距离被吸收或散
射掉的概率。

s(nw)称为发射函数(emission),用来表示有数据体所发出的光子。 鬣(r,w’-÷w)称为散射核(scattering kernel),它等于在单位距离立方体内光子
从方向w’散射到w方向的概率。 式(2.1)是一阶微分方程,它可以写成等价的积分形式如下:

L0,呐=-ir(r,rb)/.占(咯,呐+』e—f(r,r’)Q(t-’,w)ar’
(2.2)

其中f(r,0是沿从r到5的直线路径对灭绝系数的积分:

f(r,0=,咖(r,)由,T(r,0代表从t-到s的路径。
k(吃,w)指明包围属具体的封闭曲面的边界函数,咕是光线从t_沿W方向同封闭
曲面的交点。 e(r,w)代表发射与散射两项之和,即:

Q(r,w)=£(r,们+,耳(r,w,-÷w)L(r,w,)咖
它可以被看作是能量*衡方程中获得能量的来源函数。 积分形式表明:在光线上任一点的面辐射强度等于从体边界外进入的面辐射强 度加上体内其它交互所作的贡献,所有贡献都乘上一个衰减系数(依赖于源点到测 量点之间的距离)。 现在,我们对积分形式的方程(2.2)作一系列假设,就可以得到体绘制方程。 首先,只考虑单次散射,即所有到达图像的光子在离开光源后只散射一次。第二, 忽略光源到散射点之间的光子吸收现象。第三,吸收是各向同性的。最后,考虑最 简单的边界条件:进入数据体的能量只是来自有限的点光源。有了这些假设,我们 得到体绘制方程:

㈧=f五ee’弧铀。们出’

地震数据体绘制技术在勘探决策支持系统中的应用研究

(2.3)

在这个过程中,面辐射强度被重新参数化为一维位置变量z(表示沿视线的距 离),积分上限为%,即光纤离开数据点的点。 绘制时对每条光线按上述方程(2.4)进行数字积分,用户需指明从标量值到光

学模型中各参数(如吸收因子、发射函数等)的映射。 2.3.3体绘*坪铣晒
从能量*衡方程简化得到了体绘制方程,那么下面我们将给出体绘制方程的一 个数值解法。 由体绘制方程(2.3),用矩阵规则来*似计算方程中的积分,有:
以一l

pf.I住一1

f=l

工(z)=∑e一乞j=o妒izlz.¥i3X--∑g;4z?兀e一即4善
i=O f20

J20

(2.4)

其中,毛=£0-I-秘z),妒f=妒@-I-泌x)。么x为沿光线的采样距离。上式右端

的表达式可以用数字合成“ol,e'lr"符来简化。如果先做一下定义: 口t=1一e一即缸,采样点的不透明度。 ci=(黾/aE)?△z,采样点的颜色。

q=cl?口f,颜色和不透明度的部分积。
由这些定义,体绘制方程可写成:









州∑渤 Ⅲ兀芦
q 2

厂●一一

,_.



吁l

=co+ci(1一口o)-I-…-t-iT.n一1(1一口o)…(1一口钉一2)
co

D1槲q 01,Pr

c;2…o矽盯%一l
(2.5)

式(2.5)就是体绘*坪铣晒剑隽颂寤嬷品匠痰氖Ъ扑惴椒āF 中,OVe'l"算子的定义如下:
13

地震数据体绘制技术在勘探决策支持系统中的应用研究

沿着视线方向,设介质A覆盖介质B,两者的色彩与不透明度分别为c口、D口、 巳、仇,则两者前后叠加所体现出的色彩为: c=ca0口+(1—0正)乞D扫
体绘制时,沿着体素影响在像素上的叠加顺序递推地合成像素色彩,其合成的 迭代算子有由前往后和由后往前两种。 由前往后的算子为f7】:

c口卯=(1一D∞c)厶州‰十c— D舯c=(1一D∞c)‰+D们c
(2.6)

由后往前的算子为:

C眦=(1一‰)c.一+‰‰
D钟c=(1一q一)D一+D'一
(2.7)

此处,c删,和D'栅,表示沿着叠加顺序最新遇到的体素影响的色彩与非透明度。
2.4常见的体绘制算法
体绘制技术的处理对象是三维数据场,而数据场又分为规则数据场和不规则数 据场。由于不规则数据场中体素的形状不同,大小不一,所以研究和开发三维不规 则体数据的可视化算法是一个复杂的问题,我们在这里暂时不作讨论。对于规则数 据场,它的体绘制研究趋于成熟,根据不同的应用情况,常用的有四种体绘制算法: 光线投射算法(RayCasting),抛雪球算法(Splatting),错切一变形算法(Shear-Warp) 和多遍重采样算法(Multipass Resampling)。区分每一类算法的基本依据是算法遍 历数据体的顺序和体元投影到图像的方法。每类算法都有其性能上的优、缺点,且 特定的体绘制加速技术只适用于某些特定的算法。 大多数体绘制由六个嵌套的循环构成:在三维数据体上的三重循环和在重采样 滤波器上的三重循环、循环顺序对算法的性能影响较大。我们用到的分类依据正好

14

地震数据体绘制技术在勘探决策支持系统中的应用研究

是循环的顺序,循环顺序的不同,可以得到不同的体绘制算法【8】。

2.4.1光线投射算法(RayCasting)
光线投射算法是一种以图像空间为序的体绘制方法,它从图像空间的每一象素 出发,按视线方向发射一条射线,这条射线穿过三维数据场,沿着这条射线选择K 个等距的采样点,并由距离某一采样点最*的8个数据点的颜色值和不透明度值作 三次线性插值【71,求出该采样点的不透明度值和颜色值。再将每条射线上各采样点 的颜色值和不透明度值由前向后或由后向前加以合成,即可得到发出该射线的象素 点处的颜色值,从而可以在屏幕上得到最终的图像。 光线投射算法从图像中每个象素向数据体投射视线,并沿视线积分计算颜色和 不透明度,从而得到结果图像。光线投射是图像序(image order)的算法,因为其 外层循环在图像像素上迭代: for(int j=l;j<---imageHeight;j++) for(hat i=l;i<--imageWidth;i++)
for(int k=1;k<--rayLength;lc抖)

foreach(int X in resamplingFilter[i][j][k]) foreach(int Y in resamplingFilter[i][j][k])
foreach(int


in

resamplingFilter[i][j][k])

ImagePixel[i][j].Add(voxcl[x][y][z】); 算法2.1光线投射算法 最外两层循环在图像*面上循环,第三层循环沿着光线的采样点循环,内三层 循环在重采样滤波器重构图像空间一个采样点时所用到的体元上循环。循环体则是 将体元值乘以重采样滤波器的权值后加到目标像素中。 光线投射又叫后投影算法(backward projection),因为在计算体元到像素的映 射时,视线从像素投射到数据体,光线从数据体向后射向图像。 光线投射的主要缺点是不能够按存储顺序来访问体数据,因为视线可能从任何 方向穿过数据体。因此,他要花费较长的时间来计算采样点的位置,即地址算术的 额外开销较大。基于空间数据结构的加速技术使这个问题更加严重,如需要计算光 线与包围盒交点等。另一个缺点是光线投射不能很好的利用空间局部性,存储开销
15

地震教据体结d技术#№撵*镕i持系统十∞&月*究

大.使处理器中的硬件Cache效率不高等。

2.4.2抛雪球算法(Splatting)
与光线投射不同,抛雪球算法是反复对体素进行运算,它用一个称为足迹 (Footprint)的函数计算每一个体紊投影的影响范围,用高斯函数定义强度分布(中
心强度大.周边强度小),从而计算出其对图像的总体贡献,并加以合成,形成最后

的图像。由于这个方法模仿了雪球被抛在墙上所留下的一个扩散状痕迹的现象.因 此而得名“抛雪球算法”,如图2.2所示:

合成

———————●

图2.2抛雪球算法

抛雪球算法在数据体上循环选代,在计算体元对图像的贡献时,它把体元同滤 波器进行卷积,从而将体元值的贡献分布到邻*的像素区域上,这就是SplaYing过 程。这类算法是对象序(o町ect order)的算法,因为外层循环是对像空问中的体元
上的迭代的: fov(int

zffil;z<-一columoDcpth;H、
for(intx=l;x<-气,olumeWidth;x-H-)

for(int y=l;F-=volumcl-lcight;yH)

fow.ach(intkinm8呷l础Fnt叫x】M[目)
forcach(iatj

inr蛐apllngFih叫x]【蝴[司)
resamplingFilter[x]M【司)

foreach(intiin

ImagePixcl[i][j]Add(voxol[x]M【z】); 算法2.2抛雪球算法 同光线投射相比,这里的内外层循环正好对换了.三个外层循环在数据体的体
16

地震数据体绘制技术在勘探决策支持系统中的应用研究

元上迭代,第四层循环在图像空间的重采样滤波器深度维上迭代,最内两层循环在 单个体元所能影响的像素上迭代,循环体则差不多。 抛雪球算法又称向前投影算法(forwardprojection),因为体元直接向图像空间 投影,和光线有相同的方向。抛雪球算法是对象序的算法,按存储顺序去访问体数 据,这一点优于光线投射。但是,精确计算滤波器的脚印和重采样权值的代价很高, 因为滤波器依赖于视向的选择,视矩阵变化了,滤波器脚印也就要缩放、旋转或* 移。而且,在透视投影中每个体元的脚印各不相同。此外,选择滤波器时要避免在 图像上出现缺口或太多的重叠。由此可见,实现一个高效率且产生高质量图像的滤 波器是很困难的。 从理论上讲,只要采用同样的滤波器权值,抛雪球算法可以产生与光线投射算 法完全相同的图像。但是,由于抛雪球算法计算滤波器的困难性,人们常用*似方 法。

2.4.3错切一变形算法(Shear-Warp)
从前两节可知,图像序的体绘制算法如光线投射法由高效高质量的采样,而对 象序的算法如抛雪球算法则按存储次序访问体数据,由简单的地址算术运算。在本 节我们介绍一类同时具有以上优点的算法,这就是错切一变形分解算法。错切一变 形算法是对象序的算法,但它却同时具有图像序算法的优点。 从对像空间到图像空间映射的任意性,使对象序的体绘制算法在实现高质高效 的滤波与投影时一样复杂,而图像序的算法又不能很好的利用空间相关性。解决这 个矛盾的办法是:首先把数据体转换到一个中间坐标系统,这个中间坐标系统和对 象坐标系由简单的映射关系,并能高效地投影N-维图像*面上,如图2.3所示。 我们称此中间坐标系统为:“错切对像空间",它的定义特征是:在错切对像空间 中所有的视线均与第三坐标轴*行。从对像空间到错切对像空间的变换为错切 (shear)变换。

地震数据体绘制技术在勘探决策支持系统中的应用研究

图2.3错切.变形算法 一个基于错切变换的体绘制算法可以描述如下: 1、讲述具体的每个切片依次变换到错切对象空间。数据体的切片走向有三种选 择,应该选择与视线方向最接*垂直的方向。*移与缩放因子可以是浮点数,以减 少采样误差。 2、按从前到后的词序用ov@r算符来合成重采样后的切片,也就是把变换后的 数据体切片投影到错切对像空间中的中间图像上。 3、将二维中间图像经过二维扭曲(wrap)变换即可得到图形空间中的结果图像。 在算法中生成中间图像,基于以下原因:在因子分解视矩阵时,可得到一个重 采样和合成的高效算法,因为切片中的体元扫描线和中间图像中的像素扫描线是互 相*行的,二维扭曲变换计算代价相对三维体绘制来说要小。 按循环分类法,Shear-Warp算法可表示为: for(int z=1;z<=volumeDepth;z++)
for(int

y=1;y<=imageHeight;y抖)

for(int x=1;x<=imageWidth;x++) foreach(int j
in

resamplingFilter[x][y])
i in

foreach(int

resamplingFilter[x][y])

imagePixel[x][y].Add(voxel[x][y][z】); 算法2.3错切.变形算法 最外层循环在数据体的切片上迭代,接下去两层循环在中间图像的像素上迭代, 最内两层循环在此像素有贡献的当前切片内的体元上迭代。此处用到的是二维采样 滤波器。
18

地震数据体绘制技术在勘探决策支持系统中的应用研究

错切一变形分解算法有如下性质: l、中间图像的像素扫描线与数据体切片上的体元扫描线相*行; 2、透视投影时,统一数据体切片中的全部体元用相同的因子来缩放; 3、*行投影时,将切片投影到中间图像时,所有切片有相同的比例因子,故可 选择一单位比例因子,使体元扫描线内的体元与中间图像的像素一?对应。

2.4.4多遍重采样算法
第四类算法是多遍重采样算法。对整个数据体在图像空间中进行重采样变换, 使重采样后的体元的排列与图像坐标空间的视主轴相*行。然后,沿着视主轴方向 对体元进行合成计算。合成计算同光线投射方法一样,不过此处的视线总是与坐标 轴相*行。 对数据体进行重采样采取多遍方式:将视变换矩阵因子分解为一系列简单的错 切(shear)和缩放(scale)变换,并对数据体依次进行这些简单变换。每个错切和 缩放变换均可用一个一维重采样滤波器并按扫描线次序实现。例如,仿射变换可用 三遍重采样实现,第一遍重采样x方向的体扫描线;把新得到的结果作为第二遍的 输入,再按Y方向重采样体扫描线;此时的结果输入到第三遍中,并按z方向重采 样体扫描线,按循环顺序分类法,多遍重采样算法可以表示如下: outputWidth=volumeWidth木XSC&IIe for(hat z=1;z<--volumeDepth;别斗) for(int y=l;y,_VolumeHeight;y++) for(hat x=1;x<=outputWidth;)【抖) for(int t=tmin;t<--tmax;t++) output[x][y][z】.Add(voxel[x/x鼢lc+t】[y】[z】); 算法2.4多遍重采样算法 外三层循环在数据体上迭代,内循环在一维滤波器核上迭代。如果滤波器核的 大小是m个体元,一个n遍算法对单个体元所做的运算共n宰m次。而一个用三维 滤波器的单遍算法对单个体元的运算为m3次。因此,如果滤波器核大于l,则三遍 重采样算法比单遍算法所需的运算量要少。

19

地震数据体绘制技术在勘探决策支持系统中的应用研究

2.4.5上述几种算法的比较
光线投射算法最主要的问题是不能按照物理存储的顺序来存取体数据,因为视 线方向是任意的,导致视体与体素可以以任意方向相交。任何与视点相关的参数的 改变,都会引起光线投射算法的完全重绘制。这样就不得不花大量的时间去计算采 样点的位置及其属性值。改进的方法,一般是通过光线提前终止和空间数据结构等 算法来减少计算量,提高体绘制的速度。 抛雪球算法能够按照体数据的存储序来存取对象,同时只有与图像相关的体素 才被投射和显示,可以大大减少体数据的存取数量。但当观察方向发生变化时,要 重新计算重构函数空间卷积域在*面上的投影区域,并且要对投影区域中相对应的 每个体素重新进行旋转和比例变换,这样计算量也相当大。 剪切.变形算法是将三维离散数据场的投影,变换分解为三维数据场剪切变换和 二维图像的变形两步来实现,从而将三维空间的重采样过程变换成二维*面的重采 样过程,大大减少了计算量。该方法有个局限就是三维数据场的数据在向中间坐标 系(错切物体空间)变换时,观察方向必须与三维坐标系中的某一轴重合,否则它 的优点不复存在。

2.5体绘制算法的优化
用体绘制来可视化三维数据是高效率且灵活多变的方法,但它有一个关键的弱 点阻止了它的广泛应用,即现存的体绘制算法在计算代价上过于昂贵。体绘制的高

额计算代价源自典型数据集的过于庞大。一个几兆字节的数据集是很常见的事,对
如此大的数据集进行交互式的体绘制需要极大的处理能力和极高的存储器带宽。人 们经常采用的加速体绘制的方法有:提前终止光线的计算,利用空间数据结构的相 关性,利用图形硬件实现加速等方法【9】等。

2.5.1提前终止光线的计算
一个常用的体绘制加速技术是提前终止光线计算(Early Termination)。在

Ray

光线投射算法中实现提前终止光线的算法很简单:算法按从前到后的顺序沿光线积 分,一旦光线上的积累不透明度大于事先预定阈值时,就停止计算,此后的体元便
20

地震数据体绘制技术在勘探决策支持系统中的应用研究

可跳过。提前终止光线计算有两种变现形式,第一种是俄罗斯轮盘赌法,它根据一 个光线不透明度增加而增大的概率值来决定是否终止运算;另一种是贝塔加速法, 它随着光线随离视点距离的增加而减少采样频率。 这种优化技术的目的是小区数据体中被遮挡住的体元。用光线投射绘制数据集, 以95%不透明为阈值时,提前终止光线可以加速1.6.2.2倍。 虽然图像序算法的实现提前终止光线计算非常简单,对象序算法可不是这样。 在Splatting算法中实现提前终止光线的最原始方法是在一个体元投影到像素之前, 先检查一下像素的透明度。这个方法可以减少浓淡、重采样和合成等运算,但依然 要访问数据体中的每个体元,因为要确定体元到像素的映射关系。

2.5.2利用空间数据结构的相关性
利用空间数据结构(Space
Data

Structure)来探索数据的相关性,是一个非常成

熟得体绘制加速技术。在可视化一个典型的数据集时,常常使一部分体元对图像有 贡献,而另外一些体元却没有贡献。空间数据结构的目的是对数据的相关性进行编 码,从而容易地查找出相关的体元。 空间数据结构常用的包括八叉树和金字塔、k-d树,行程编码(run
encoding)

和sheds等。体绘制算法利用这些数据结构可以快速地跳过那些不相关的体元。 利用空间数据结构的算法需要有一个预处理步骤来计算数据结构,如果进行连 续的多次绘制,则与计算的代价可以接受。但是,由于一旦分类映射发生变化(如 体元的不透明度改变),空间数据结构就得重新计算,因而目前基于空间数据结构 的算法,尚不能交互式地绘制分类体。

相关性优化所能得到的加速比依赖于数据集。根据研究人员分析,典型的分类
体都有较高的相关性,透明体元所占的比例常达70%.95%,因此用相关性可以减少 大量的计算。用八叉树相关性加速图像数据集可达3.5倍。 对数据体建立八叉树,存储最大最小标量值的信息,使等值面的判断更简单。 空间数据结构还被用来编码体元不透明度的统计信息,从而使沿视线上的采样频率 适应性的改变。

21

地震数据体绘制技术在勘探决策支持系统中的应用研究

2.5.3利用图形硬件实现加速
传统图形硬件通常支持图像的融合,并且可能支持多种融合因子的计算,以此 产生多种融合效果,在体绘制中采用的由前到后和由后到前两种合成方式时依据的 颜色和不透明度合成公式在传统图形学*台中通常也得到了支持。 目前,利用图形硬件实现体绘制的加速有两种方、法【10】:一种是直接应用单元投 影算法,然后通过利用图形硬件实现多边形扫描转换,在多边形扫描的同时实现图 像的融合;另一种方法是基于三维纹理映射硬件技术之上,此方法首先将数据场中 的每一个数据点转换成颜色和不透明度,这样就将数据场定义成了纹理,每一个纹 理(texel)都具有相应的颜色和不透明度,通过图形*台提供的函数接口设置投影 方向、投影*面、颜色融合公式,由图形硬件对定义的三维纹理进行重采样,按照 融合公式进行颜色和不透明度的融合计算。 基于硬件加速的三维纹理绘制算法相比其他加速的体绘制算法提供了最为快速 的体绘制,在一些中规模数据场体绘制的时候,基本能够实现实时绘制,因此得到 了极好的应用。

地l&*件培翻拄¥{勘镕*镕支持i统十∞&月"R

3基于八叉树的地震数据体绘制技术

*年来,随着地震勘探技术的飞速发展.人们对地震数据的需求也不断提高,

从而促进了科学仪器性能和精度的不断提高,地震数据的规模已达到100G的数量 级。如此大规模的地震数据体一方面给可视化工作提供了丰富的素材,可同时也对 可视化技术提出了更高的要求。如何在普通的微机上,交互甚至实时的高质量的绘
胄0地震数据体,结成了亟待解决的问题。



l地震数据体文件格式简介
地震数据体的原始文件通常都是sEGY数据文件,SEGY数据文件由文件头和

数据体两部分组成。数据体由一道一道的数据组成,每一道数据又由道头和采样数
据组成.其文件格式见圈3.I。第一部分是文件头。由3600个字节组成,分为参数 卡和二进制头。参数卡部分由40个组成,每个参数卡长度为80字节,共3200字节, 为EBCDIC字符集.需要转换成AscⅡ码后才能显示;二进制头为400字节,记录

整个数据体的数据采样间隔、每个数据道的采样个数、数据格式等相关的信息。第
二部分是道数据块,分为道头和采样点两部分.其中道头由2舯字节组成,记录采

样点数、采样间隔、遭所属的大地坐标位置以及道在工区中的纵横测线号等信息。 采样数据紧跟道头之后,其长度为采样数与采样点字节数的乘积。文件头与道头的 数据使用整型,而道采样数据使用浮点型{”】。

数据体



文件头



道数据块的头

苣数据块


23

采样点

图3 I-地震数据体文件格式 整个文件的数据存放格式和顺序:

地震数据体绘制技术在勘探决策支持系统中的应用研究

I兰!盟塞堡笪基!!鱼QQ皇蔓!!鲎墼塑垫!I鲎塑堡丛兰L:::::l
每个道数据块的数据存放格式和顺序:

巨堕堕望墨!丝Q圭堇!l墨壁盛!l墨登盛三L:::::f
存放的顺序是:根据地震数据体的定义参数,从最小的线号开始,先将一条完 整的测线存放完毕后,再存放下一条测线,直到所有的测线都被存放。 例如:一个地震数据体的定义参数为: 最小线号rain 最大线号max 线间隔inc
linc=138, line=500,

linc=l, cdp--86,

‘最小CDP号min

最大CDP(max_cdp)=500,
CDP间隔inc cdp=l,

那么道数据在数据体文件中存放的(LINE,CDP)序列为:

3.2多分辨率八叉树结构
为了解决大规模地震数据体的显示效率问题,采用的主要方法是数据分块和数 据抽稀。数据分块基于分而治之的思想,将大规模数据分成小块,分别绘制,最后 将各小块的绘*峁铣勺钪胀枷瘛J莩橄∈腔诩跎俨裳愕乃枷耄酶俚 点来描述数据体,用低分辨率的数据来代替原始数据,以节省内存存储容量。最常 用的方法是使用八叉树算法由上到下逐层来分割数据,并由下到上逐层抽稀生成低 分辨率数据,从而建立多分辨率八叉树结构。 如图3.2所示:多分辨率八叉树结构是指,在分割成八叉树结构以后,不仅仅
24

№麓m据#绘Ⅻ技术t自女女镕i持幕统中的&用ⅫR

只有叶子节点上保存有相应的数据,而在每层的每个节点上都存有相应的数据。每 一层保存的都是不同分辨率的数据体,与原始数据体的数据范围相同,但是分辨率 不同。层次越高,分辨率越低;反之,层次越深,分辨率越高;晟深层叶子节点保
存最原始的数据。

鸯 萤_塞晷
行计算,进一步提高绘制速度‘1”。

一}常


1诅酽

图3.2.八叉树多分辨率层次结构

通过多分辨率技术既可以剔除部分子树和叶节点,又允许在一定条件下以低分
辨率节点代替其整棵子树,节省了内存存储容量,减少了频繁切换显存数据的开销,

大大提高了绘制速度,同时还提供了很大的灵活性与扩展性。也为将来采用集群并

3.2

1地震数据体八叉树结构的建立
为了解决内存存储容量限制的问题,在不影响绘*峁那疤嵯拢】赡芴岣

数据体的绘制速度,在此采用将数据体划分为层次结构的方法。将数据体划分为较 小的数据块,使得我们匏眵以块为单位管理和储存数据,能够以块为单位绘制和操
作数据。在基于GPU绘制大规模数据体时,现存容量的限制也可以通过管理和切

换较小的数据块而得到解决。进行体绘制时,也可以灵活的选用访问规则,以最有
效的方式遍历层次树结构。在不影响绘制质量的前提下,跳过部分节点或者绘制部

分低分辨率节点,加快绘制速度。 创建八叉树时需要考虑的问题是叶节点的大小。叶节点越小,原始数据集就被 划分得越精细,我们可以操作的数据单元粒度就越小,在创建八叉树和体绘制遍历 八叉树结构的时候,灵活性就越大。但是,与此同时,树的高度也会随之增大,带 来的负面影响是我们不得不为非叶节点存储更多的低分辨率数据。而这些数据是独
25

地震数据体绘制技术在勘探决策支持系统中的应用研究

立于原始数据之外的,是冗余的,会造成更大的存储容量的开销。除此之外,体绘 制时遍历八叉树和数据块排序的时间也会增加,因此,我们必须在灵活性和空间、 时间效率之间做一个权衡。本文中,当某节点数据量小于某一特定的数值时(如 64K),就停止继续划分子节点。

?八叉树结构定义
用八叉树来表示三维形体,并研究在这种表示下的各种操作及应用是在进入80 年代后才比较全面地开展起来的。这种方法,既可以看成是四叉树方法在三维空间 的推广,也可以认为是用三维体素阵列表示形体方法的一种改进【1 31。

图3.3.八叉树层次结构图 如图3.3所示,八叉树是一种层次结构,可用如下形体分解的方法递归定义【14】: 即三维形体可放在一个边长为2“的立方体内,y£C,八叉树的每个节点与C中的 一个子立方体相对应。 若V=C,则y的八叉树仅有一个根节点。 若y≠C,则将C分解成8个相等的子立方体,每个子立方体与树根的一个子节 点相对应,子立方体边长为原立方体边长的l/2,分解过程可通过节点所对应立方 体的数据特性而定。子立方体内数据不一致,即部分占据(partail),则需进一步 分解该立方体。分解过程直到子立方体全部一致全占满或全空白(empty),或子立 方体己达到规定的分解精度为止,如分解精度以图形输出设备的分辨率为限。 八叉树结构充分利用了形体在空间上的相关性,可以非常方便地实现坐标到节 点编码的转换,而这些恰是其它表示方法比较难以处理的地方。而且由于八叉树结 构的有序性及层次性,对显示精度和速度的*衡、隐线和隐面的消除等,带来了很
26

№l教据#绘d技术在&探决《主持幕‰中的&用研究

大的方便,特别有用。

3.2.2多分辨率数据的生成

根据创建规m幢立八叉树,将原始数据集进行分解,刨建原始数据集的不同层
次。显示层次越高,需要的数据越小,即用更模糊的数据来*似原始数据。上层数
据分辨率一般为下层数据的八分之一。

多分辨率八叉树结构,每个非叶节点划分为八个字节点,每个节点都保存有自 己范围内的数据。八叉树的叶节点分辨率与原始数据集的分辨率相同,层次越高的 非叶节点数据量越小但分辨率越低。生成低分辨率数据的方法既可以采用*均法也
可以采用二次采样的方法。父节点的几何大小是子节点的八倍,但数据大小与子节 点相同,所以分辨率是子节点的八分之一。

二次采样法是指每隔若干个数据点采样一次,作为低分辨率的数据值。即假设
A是一个有2。个元素的线性数组,其中保存了原始数据。B是A的低分辨率数组,

由n个原素构成.则B尸A2i,i=0,l~,n_l。
*均法则是将与低分辨率数据点相邻的高分辨率数据求*均值,将*均值作为

低分辨率数据。*均法生成的低分辨率数据集有模糊的效果,而二次采样法生成的
低分辨率数据失真比较严重。

生成多分辨率数据时,与创建八叉树结构的顺序不同,是由下向上,由深到浅 的顺序生成的。首先从最底层的原始数据开始,计算出上一层的低分辨率数据,然
后逐层向上生成,直至生成根节点的低分辨率数据。如图3.4所示:

一L
图3.4.多分辨率数据生成示意图

地震数据体绘制技术在勘探决策支持系统中的应用研究

3.2.3八叉树坐标转换算法
按定义直接建立多分辨率八叉树,在将地震数据体表示为八叉树结构的一系列 递归分解过程中,关键是要将采样点的坐标变换成为八叉树结构中从根到相应节点 的路径,这包括建立结构时从根到该节点的构造路径与查询结构时从根到该节点查 找路径两方面。由此可见,给定地震数据体任一点坐标,找出其在八叉树表示中的 相应位置,这种从空间坐标点到八叉树中位置码路径表示的对应转换,完全是根据 对采样点的动态操作而随机要求的,且具有使用频度高的特征,需要寻求一种快捷 准确的实现转换算法。

设地震数据体处于世界坐标系卜2们,z仉】X【--2m,2饥】×[-2仇,2m】中,为
方便于八叉树表示,可将其转化为屏幕坐标系即Z竹x 率基值。
Z俺x

Z竹,其中礼是空间分辨

设空间任一点%(~,%,毛),其中工q,均,zq∈J;0≤q<2住
其他位二进制整数形式为:
Z守=工,l-1X,I-2…z1工O

%=%一互%一2…ylyo
z口=z_一1z铲2?;?ZIZ0 写成2的幂次多项式可得:
n一 = 戈 铲工 Z





.+



n一






L。







上.





2O =

州∑啪





同理





一∑御

y 2







一∑m





采样点在八叉树中的编码就是从八叉树根到叶子的路径值,空间分辨率为2住的

八叉树上,从根到任一叶子最大路径深度不超过他,令任一点屹k,%,z口)的路径为
巳。则有

地震数据体绘制技术在勘探决策支持系统中的应用研究

弓2(厶一lP谊一2…^Po),Pf∈(o,1,2,3,4,5,6,7)
为了得到这个路径,我们提供了3个实现算法【15】: (1)坐标*移判定法 根据八叉树递归定以,以整个地震数据体空间为限,等分为8个子空间,.每次 将对象分在8个象限,判别其处于某个空间编号区,即可得出本次分解的象限编码, 每次分解时子立方体的边长减少一半;以此类推,直到最深一层,这样'1次分解所 得的扎个编号即为&路径。
void

OctreeBrabch(point,morton)



intX,Y,z; int xd,yd,zd; int

index,i,j,div,div2;

div=Math.Pow(2,n);
div2=div/2; xd=yd=zd=O;

//循环计算每一层的编码 for(i=O;i<n;i++) { //坐标原点*移 X=(point.X—xd)/div2; Y=(point.Y?yd)/div2; z=(point.Z-zd)/div2; //判断处于哪一个象限 if(x<O.5&&y<O.5&&z<O.5) (
index=O;


else

if(x>---O.5&&y<O.5&&z<O.5)


地震数据体绘制技术在勘探决策支持系统中的应用研究


index=1; xd+---div2;


else

if(X<0.5&&y>O.5&&z<O.5)


index=2; yd+=div2;


else

if(x>=O.5&&y>=O.5&&z<O.5)


index=3; xd+=div2; yd+---div2;


else

if(x<O.5&&y,_0.5&&z>--O.5)

index=4; yd+=div2;


else

if(x>=O.5&&y<O.5&&z>=0.5)


index=5; xd+=div2; yd+=div2;


else

if(x<O.5&&y>O.5&&z>=0.5)


index=6; yd+=div2;
:如

地震数据体绘制技术在勘探决策支持系统中的应用研究

zd+--div2;


else

if(x>=O.5&&y<O.5&&疹=O.5)


index=7; xd+=div2; yd+--div2; zd+=div2;

} //每次子立方体边长减少一半
div2=div2‘/2;

∥形成第1次分解路径位置码morton(n.i) morton[n-i]=index; ) ) 算法3.1坐标*移判定法 (2)计算位置码法 从空间位置角度分析,把分解8个子立方体在空间位置数字用3位二进制码

(豇。,五,£f)表示。在数据体中与z轴垂直的分面标为z中分面,与y轴垂直的分面称为y
中分面,与z轴垂直的分面称为z中分面,如图3.5所示:

31

地震数据体绘制技术在勘探决策支持系统中的应用研究



(0,0,0)

,1)

(0,1,0)

图3.5.立方体位置码

由图3.5可看到,图中点就是象限号的表示,如(1,o,1)就是5象限的标识,其
中最末位1表明位于x中分面的右部,中间位0表明位于y中分面的下部,最高位l 表明位于z中分面的后部。

位置码(玉l,五,£1)与子立方体位置有直接对应关系,在z轴上位于x中分面右侧的
子节点位置码均比左侧相邻节点位置码增加l,在y轴上位于),中分面上侧的均比下 侧的相邻节点位置码增加2,在z轴上位于z中分面前侧的均比后侧的相邻节点位置

码增加4,由于‰,J『z,f z∈(o,1】故可将分解得到的象限位置编号iTulexz用下式表示:
毒r磁8石z=fl+2×歹l十4 x七l 因此,求采样点在八叉树结构中的路径,可通过在分解子数据体的过程中,每 次变换分解范围,求出相应空间位置码而得到。
void

OctreeBrabch(point,morton)


hat x,y,z; int Xd,yd,zd;

缸index;

地震数据体绘制技术在勘探决策支持系统中的应用研究

inti,div2;

div2=Math.Pow(2,n-1);
xd=yd=zd=0;

for(i=O;i<n;i++) { //确定分解坐标原点 X=(point.X—xd)/div2; Y=(point.Y-yd)/div2; Z=(point.Y-zd)/div2; //计算象限编号
index=4?Z+2*y+x; xd=xd+X掌div2; yd=yd4Y木div2; zd=zd牟z*div2; div2=div2/2;

∥形成第i次分解路径位置码morton(n—i) morton[n-i】-index;

算法3.2计算位置码法 (3)移位计算法

空间任一采样点%(_,yq,z目)的路径弓=(厶一1^一2…B%)





%一1
z俨2

%一1 %一2

x竹一1

厶一l=(zn-a22+%一12+x铲1) 厶一2=0铲222十%一22十Xn-2)

工圹2

zi

y‘

石f

B=(z£z2+yf2+x‘)

地震数据体绘制技术在勘探决策支持系统中的应用研究

zo

Yo

X0

厶一1=(z铲122+%一l 2"1-"zn--1)

欲求取xf,yl,zf位,只需在x窖,y口,z口的相应位置进行逻辑乘,在具体实现中可用 逻辑位移运算来实现。
void

OetreeBrabch(point,morton).


int xd,yd,zd; int index;

inti;
xd=yd=zd=0;

for(i’=n-I;》=0;i) { ∥取Xi xd=(point.X&1); //Xq右移一位
point.X>>=l;

∥取Yi且乘2(用芹移一位实现) yd=(point.Y&1)<<1; //Yq右移一位
point.Y>>=1;

//取Zi且乘4(用芹移两位实现)

zd=(point.Z&1)“2;
//Zq右移一位
point.Z>>=l;

∥计算象限编号 index=xd+yd+zd; //形成路径位置码 morton[i】=index; ) )
34

地震数据体绘制技术在勘探决策支持系统中的应用研究

算法3.3移位计算法

上述三种算法均可将空间任一采样点K转换成为八叉树路径Pq,尽管3个算法
运算数量级相同,但运算量大有差别。第一种算法判定运算及算术运算太多,第二 种算法虽然比第一种算法较好,但还是采用乘法、加法算术运算,第三种算法主要 采用逻辑按位运算,执行速度更快,思路简捷。

3.3体绘制与八叉树的遍历
在原始数据体被划分为多分辨率八叉树结构以后,我们需要对这棵八叉树进行 遍历,根据预设的选择条件,选择需要绘制的节点,并按照一定的顺序进行直接体 绘制。

3.3.1选择条件的设置
遍历八叉树时,每访问一个节点,就对此节点应用预先设置的选择条件,判断 对该节点应该采取什么动作。选择条件与可能采取的动作有如下三种: (1)如果访问节点满足剔除条件,则当前访问节点以及所有子节点都将被剔除。 (2)如果访问节点满足绘制条件,则说明当前访问的节点分辨率已经达到绘制 要求。所以用当前访问的节点绘制即可,其所有子节点都不需要绘制。 (3)前两个条件都不满足,说明当前访问节点分辨率过低,不满足绘制条件。 在递归遍历其子节点。

3.3.2剔除条件
如前所述,访问一个节点时,最先应用的选择条件便是剔除条件。可见,剔除 条件的设置对于绘制效率的影响是十分巨大的。 (1)空节点显而易见应该被剔除。 (2)八叉树上的每个节点,不论是非叶节点还是叶节点,都保存了它自己的几 何信息,一般情况下是几何空间中的长方体。我们将当前访问的节点对应的长方体 投影到视*面上。如果投影后得到的多边形面积与根节点长方体投影面积之比小于 预先设计的缺省值,则说明此节点满足剔除条件;否则说明此节点对结果影响足够
35

地震数据体绘制技术在勘探决策支持系统中的应用研究

大,不能剔除。

3.3.3绘制条件
当前访问的节点如果不满足剔除条件,下一步就对其应用绘制条件。如果满足 绘制条件,说明此节点的分辨率已经满足绘制要求,使用此节点的数据绘制即可, 不需要再绘制更精细的子节点,提高绘制速度。当前访问节点作为绘制条件的输入, 即可能是叶节点,有可能是非叶节点。如果是叶节点,那么它已经是最高分辨率, 必然需要绘制,认为它满足绘制条件。所以,只有非叶节点才有必要进行下面定义 的绘制条件测试。 .此处定义的绘制条件是节点与视点的距离。首先,计算视点到当前访问节点长 方体中心的距离。如果此距离大于长方体对角线的距离,则认为此节点非常远,对 绘*峁挠跋觳皇呛艽螅私诘愕姆直媛始纯陕阋螅私诘懵慊嬷埔蟆 否则,不满足绘制条件,需要再递归遍历其分辨率更高的子节点。

3.3.4绘制顺序

直接体绘制算法的图像合成阶段,必须按照一定的顺序对采样点的颜色和不透 明度进行合成,一般分为由后向前的图像合成和由前向后的图像合成两种。无论使 用哪种合成算法,都要求我们在绘制时按照一定的顺序进行。由于地震数据体的八 叉树结构是在预处理阶段建立的,所以结构是确定的。但是随着用户变化视角的位 置,子节点的绘制顺序也随之变化。这就要求我们对需要绘制的子节点进行排序。 排序集可以在遍历完成后,对已经选择好的绘*诘慵校灰部梢栽诒槔本涂 虑顺序问题,按照顺序进行遍历。本文采用后一种方法,按照由后向前的顺序遍历 八叉树,一旦访问的节点满足绘制条件,就立即进行绘制。具体方法时采用深度优 先的遍历,在访问某非叶节点的子节点时,将其所有字节点根据距离视点的远*进 行向前排序,并且按照此顺序访问子节点。

3.4采样点转换函数
为了观察地震数据体中感兴趣的部分,要求生成具有透视效果的颜色图像,因

ml散*体绘制技术在勘探决*支#§统+∞应月日R

此,不透明度反映了数据对可视图是否有影响、有多少影响,颜色则决定这种影响
的反映。

从数据到颜色及不透明度的映射关系成为转换函数【旧。如何选取适合的转换函
数,实现对颜色和不透明度的管理是三维可视化很重要的部分。

3.4.1分区定值

以体素为基础的体绘制中,每一个数据采样点被转换成一个体素(如图3.6)。

而每个采样点的值(某种地震属性)映射为体素的RGB色彩值|三l及可被用来标定 数据透明度的暗度变量(Alpha),从而将地震数据集转化为由体素组成的体。在这 个转换过程中,每个地震道被转换成一个体素队列,每个体素拥有与地震属性相对 应的颜色和透明度值。



图3.6.地震数据与体素关系 而数据被定标为8位的数串,并显示为表示体索值分析的一个直方(如图3 7)。

在体绘制中,利用分区定值,通过暗度的应用可以得到高质量的体绘*峁局荨 分区定值之一种迭代和系统性的处理方法,其基础是可视化中最重要的工具一 一暗度编辑器,分区定值将直方图划分为3个垂向区带,及对应于峰值振幅的3个
区带(见图3.7),区带1(Z1)包括最高振幅,区带2(z2)包括中等振幅,区带

3(z3)包括最低振幅。3个色彩标尺被设计用来对应于一个区带。在每一区带内, 数据点的个数一般与振幅强度成正比。调节不透明时,离最大振幅值越远的调节的
37

地l数据体绘制拉术在勘探决燕支持系统十∞&月研究

大小就越小。换言之,由于盟中体素的相对百分比最高,其上不透明度的调节就
相对小些,这是因为z2上的细小调节会对可视化产生很大影响。另一方面,z1上

的体素数量比较少,其上相对较大的不透明度调节对图像的影响也很小。

闰3 7.暗度编辑器

地质学家要清楚第区分特征,关键是要增强特征间的对比。特征增强主要包括 基础颜色标尺、背景色,以及不透明度级间的颜色变化。
实际应用中,通常将这256种基色不透明度的变化分成几种色调。背景色在前 景与背景的对比中起着关键作用,特别是在z2中不透明度低的敏感振幅的增强中, 黑色与一系列颜色的对比最为强烈。对于绝大多数的可视化而言,黑色为晟好的背

景色。一般将颜色分为两类:高不透明度级上对比度较好的颜色、低不透明度级上 对比度较差的颜色。这点非常重要,特别在处理z2上的敏感特征时。恐上的振幅 还可以进一步细化成子区带以便对非常敏癌的振幅做更多的对比。因此,在对恐
及其子区带可视化时,其不透明度级一般少于50%,只有在不透明度较低时颜色才 能一直明亮。

地震数据体采样点的数据变化范围很大,感兴趣的数据段也各不相同,没有什 么规律。因此需要一种可以灵活使用的转换函数。为了能够包容各种转换函数,并 便于调节,研究过程采用不透明度曲线与可调节标尺作为转换函数。 地震数据剖面在二维显示中,研究人员在使用剖面显示方式时,最常使用的蓝 白红三色显示方式,已经基本上成为了惯例和标准。因此,在地麓数据的体绘制中, 依然采用蓝自红三色来反映振幅。 不透明度曲线中,不透明度值处于O-I之间,0表示完全透明,l则表示完全不
38

地震数据体绘制技术在勘探决策支持系统中的应用研究

透明。而颜色标尺使用蓝白红三种颜色来反映振幅信息,其中红色代表所在的类, 蓝色代表最小负振幅所在的类,白色则代表两类振幅之间的振幅。

3.4.2转换函数的生成
数据体中的所有体元都要被赋予不同的颜色值(R,G,B)和不透明度值(Alpha), 这就需要依据分类对数据体进行遍历。换言之,地震数据提(x,Y,z)处记录的原 是振幅信息,现在则变成了颜色和不透明度信息。 最简单的处理方法,就是依据分类结果直接给体元赋予颜色和不透明度值。先 依据数据匪类生成数据体的索引文件,建立索引映射值与颜色及不透明度的映射关 系,从而实现对所有体元的赋值。 1、数据到颜色的映射 要想对数据体中所有体元赋以正确的颜色,必须依据准确的数据分类,而要将 颜色的调节变化尽快地显示在最终图像中,则需要快速地映射方法,采用做引映射 的方式能够快速的实现图像更新。其主要过程如下: 1)生成统计数据 均衡化的分类方法将原始数据集S划分为256类Ai,i=0,…,255。

A=∥l口≤彳(妁<a/+I),f=[q…25*
255

s=U以 枷
f(X)=f,X∈彳,,i=【0….,255】
其中,X为地震数据体上某采样点的坐标值,A(X)为X处的振幅值,ai、al+l 为振幅范围,f(X)代表地震数据体X处的索引值,即类别号。 由原始数据文件生成相应的统计文件,统计文件中的数值代表地震数据体中该 采样点的类别号。 2)建立颜色映射表 生成统计文件后,接着应为这些索引值建立与颜色的映射关系。 2、数据到不透明度的映射 采用上述方法生成统计文件并建立了颜色映射表之后,接着考虑建立数据到不 透明度的映射关系。由于地震数据变化的范围很大,用户感兴趣的数据段可能也不


39

地震数据体绘制技术在勘探决策支持系统中的应用研究

相同,并无规律可循。因此,所有体元的不透明度值应当允许用户自由调节,本文 是有交互式窗口中可任意拖动的不透明曲线来确定不透明度的映射关系,通过曲线 上的点喜爱那个队变化的情况计算求取不透明度值。

地震数据体绘制技术在勘探决策支持系统中的应用研究

4体绘制技术在勘探决策支持系统中的设计实现

前面三章对体绘制技术的基本原理和绘制算法、基于多分辨率八叉树的地震数 据体结构作了详细的介绍。本章主要对地震数据体的模型设计和体绘制实现过程进 行介绍。 在本文的地震数据体绘制过程中,采用最基本的光线投射算法进行体绘制,在 此算法基础上,分别采用了2.5节中提到的三种加速体绘制的办法: 首先,采用多分辨率八叉树结构重新组织地震数据体,利用空间数据结构的相 关性。 其次,利用基于GPU加速的三维纹理体绘制算法。 最后,在具体计算并绘制采样点时,根据设定的阈值,提前终止光线的计算。

4.1体绘制实现过程

根据上面的描述,实现地震数据体的体绘制,主要分下列三步: 第一步,创建多分辨率八叉树层次的地震数据体文件。 将原始的地震数据体文件,按照八叉树结构重新组织,逐层生成多分辨率数据, 并根据八叉树结构生成相应的索引文件,最后将数据文件和索引文件一并上传到服 务器; 第二步,下载地震数据体文件和索引文件到本地。 通过服务层的Web Service统一接口服务,读取项目库中的地震数据索引,下载 地震索引文件、数据体文件和统计数据到本地,为本地体绘制提供数据基础; 第三步,遍历多分辨率八叉树地震数据体文件,并使用光线投射算法进行体绘 制。 遍历多分辨率八叉树地震数据体文件,根据选择条件、剔除条件和绘制条件, 使用光线投射算法进行地震数据体绘制,并使用提前终止光线算法和基于GPU的 纹理加速方法。 在三维可视化模块中,地震数据体的三维显示方法分为面绘制和体绘制两种, 面绘制方法主要显示地震数据体的六个面,在这里我们不再所讨论,下面主要讨论
41

地震数据体绘制技术在勘探决策支持系统中的应用研究

地震数据体的体绘制过程。

4.1.1采用的数据模型

地震数据体的数据模型主要由4个部分组成:描述数据,索引文件,数据体文 件和统计数据。
1.

描述数据

记录地震数据体的各项基本属性信息,包括开始Line号、结束Line号、Line 步长、开始CDP、结束CDP、CDP步长、开始Time、结束Time、采样率等等。 描述数据存储在项目数据库中,主要是为了程序中检索地震数据时使用。
class SeismicVolume



long

volumeID;//数据体编号 seismicVolumeName;//数据体名称

string long long long long long

startLine;//起始Line号 endLine;//终止Line号 incLine;//Line步长 startCDP;瓣妻始CDP endCDP;//终止CDP

10ng incCDP;//CDP步长
long

startTime;//起始时问

long endTime;//终止时间
long

sampleRate;//采样率

long bytesPerSample;//采样字节
float

clipValue;//剪切值

string type;//数据体类型 string

segyPath;//数据文件路径

datetime description;//描述信息
string string

dateCreated;//60建日期 createdBy;//仓sJ建人
42

地震数据体绘制技术在勘探决策支持系统中的应用研究

datethne string

dateLastModified;//最后修改日期

lastModifiedBy;//最后修改人


2.

索引文件

索引文件中记录整个八叉树结构,从八叉树根节点开始,逐层记录各个子节点 的编码和数据范围等节点信息。 索引文件由索引头结构和索引项组成。索引头结构,实际上是描述数据的内容; 索引项是八叉树叶节点编码由高层到底层,按照节点编码顺序由小到大的顺序存放。 索引文件保存为XML文档,各节点记录自己的morton码和八个子节点信息, 下面是一个四层的八叉树索引文件示例:
<Root> <childs> <OCTree> <morton>0</morton> <childs> <OCTtee>

<morton>00</morton>
<childs> <OCTree> <morton>000</morton> </OCTree>

<OCTree>

<morton>007</morton>
</OCTree> </childs> </OCTree>

<morton>07</morton>
43

地震数据体绘制技术在勘探决策支持系统中的应用研究

<childs>

<OCTree>

<morton>OTO</morton>
</OCTree>

<OCTree> <morton>077</morton> </OCTree> </childs> </OCTree> </childs> </OCTree>

●●●

</childs> </Root>

3.数据体文件 数据体文件中记录经过多八叉树重新组织以后的数据体数据内容。 数据体文件由数据头结构和数据体组成。数据头结构,实际上是描述数据的内 容,包括原Seg.Y文件中的文件头信息(3600字节)和所有的道头信息(每道240 字节):数据体按照八叉树叶节点编码由高层到底层,由小到大的顺序依次存放各 个数据块。每个数据块是按照线号有小到大、道号有小到大;时间(深度)有小到 大的顺序保存。空的道数据填充零。 如图3.2所示,首先存储根节点的低分辨率数据,然后逐层向下存储更高分辨 率的数据,最后存储原始数据分割后的分辨率最高的数据。
4.

统计数据

统计数据是为了快速操作数据体而创建的数据结构,包含最小振幅值,最大振 幅值,实际最小值,实际最大值和(最大值.最小值)256等分后的分布百分比。
class SeismicStatistic


double

minValue;//最小值
44

地震数据体绘制技术在勘探决策支持系统中的应用研究

double

mMaxValue;//最大值

double realMinValue;//实际最小值 double

realMaxValue;∥实际最大值

float percent[256];//(最大值一最小值)256等分,分布情况

4.1.2创建多分辨率八叉树结构的过程
创建多分辨率夕≮叉树结构的过程主要分为以下三个步骤: (1)地震数据体八叉树结构 首先,定义八叉树节点的存储结构,主要包含了:八叉树节点的Morton编码、 夕℃个子节点的指针、该节点是否叶子节点、该节点的数据,以及该节点数据的范匿 (最大最小Line号、最大最小CDP、最大最小Time)等。
class Octree


string

morton;//,st.叉树位置编码,8进制数

Octree[8】child;N定义个子八叉数 bool isLeaf;∥判断是否戈叶子节点 byte[】octreeData;//叶子节点的数据或数据指针
float float float float

maxLine;//最大Line号 minLine;//最小Line号 maxCDP;H最大CDP号 minCDP;//最小CDP号

float maxTime;//最大时闻 float

minTime;N最小时间

) 各个子节点的表示: Child[O]一,new Octrce(morton,rlHalf,bounds.Leit,bounds。Front,fbHalf, bounds.Top.tbHalf,data);N左前上节点 Child[1】一new Octree(morton,bounds.Rie巫;rlHalf,bounds.Front,tbHalf,
15

地震数据体绘制技术在勘探决策支持系统中的应用研究

bounds.Top,tbHalf,data);//右前上节点 Child[2】=new Octree(morton,rlHalf,bounds.Left,bounds.Front,fbHalf,tbHalf, bounds.Bottom,data);//左前下节点 Child[3]=new Octree(morton,bounds.Right,rlHalf,bounds.Front,fbHalf,tbHalf,

bounds.Bottom,data);//右前下节点
Child[4】=new Octree(morton,rlHalf,bounds.Left,tbHalf,bounds.Back,

bounds.Top,tbHalf,data);l|表.后上节燕.
Child[5]=new Octree(morton,bounds.Right,dHalf,fbHalf,bounds.Back,

bounds.Top,tbHalf,data);//右后上节点
Child[6]=ncw Octree(morton,rlHalf,bounds.Left,tbHalf,bounds.Back,tbHalf, bounds.Bottom,data);//左后下节点. Child[7】=new Octree(morton,bounds.Right,rlHalf,tbHalf,bounds.Back,tbHalf,

bounds.Bottom,data);//右后下节点
其中:
float float float

tbHalf=(float)((bounds.Top.bounds.Bottom)宰0.5);∥上下中分面

rlHalf=(float)((bounds.Right-bounds.Left)宰O.5);//芹右中分面 fbHalf=(float)((bounds.Front—bounds.Back)宰0.5);//前后中分面

(2)递归创建地震数据体八叉树 其次,通过递归的过程逐级创建八叉树的各个节点,如果满足minSize (64"64"64)条件,将生成叶子节点;否则生成非叶子节点,继续向下分割。下面 是创建八叉树的伪代码: CreateOctree(Octree oetree) { //满足小于等于64*64*64这个条件,将不继续分割

if(Math.AbsCoounds.Top—bounds.Bottom)<_minSize&&
Math.AbsCoounds.Right?bounds.Left)<=minSize&& Math.Abs(bounds.Front-bounds.Back)<--minSizO { //octree是叶子节点
octree.isLcaf=truc;
4^

地震数据体绘制技术在勘探决策支持系统中的应用研究

//按照叶节点的范围,获取的数据体数据并赋值 octree.octrecData=赋值数据体数据; )
else

{ ∥只要大于64*64*64,将继续分割下去直到结束 for(int i_o;i<8;i+卜) { //octree不是叶子节点
octree.isLeaf=false;

//morton指八叉树位置编码 octree.child[i].morton=octrec.morton+i.ToStrin90; CreateOetree(child[i]); ) //创建完当前节点的八个子节点后 ∥再根据其子节点的数据,牛成当前节点的低分辨率数据 //详见下面的步骤(3) CreateLevelOctree(octree); ) ) (3)创建多分辨率八叉树结构 与一般八叉树的创建不同,在创建多分辨率八叉树时,除了每个叶节点上有原 始数据外,每级的中间节点上都有低分辨率的数据。在生成低分辨率数据时,采用 *均法比二次采样法产生的数据更加真实可靠,它是在原数据基础上生成的模糊数 据,更能体现数据体内部数据的轮廓。 所以,在上面递归创建八叉树算法的基础上,再增加*均法生成低分辨率的算 法。与创建八叉树的顺序正好相反,生成多分辨率的顺序是从最底层开始,由叶子 节点的最原始数据生成上一层的低分辨率数据,再利用生成的低分辨率数据生成再 上层的低分辨率数据。 下面给出非叶子节点创建低分辨率数据方法的伪代码:
47

地震数据体绘制技术在勘探决策支持系统中的应用研究

CreateLevelOctree(Octree octree) { octree.isLeaf=false;//非叶子节点
hat int int

lineCount=maxLine-minLine+1;//Line数 cdpCount=nmxCDP-minCDP+1;//CDP数 timeCount=maxTime.minTime+1;//时问数

//使用三级循环,计算八个采样点数据的*均值,赋给低分辨率数据中某 采样点。 for(int { for(int j=O;j<cdpCount;j++) { for(int k=0;k<timeCount;k-}+) { //首先,取出计算用的八个采样点的值 //clipValue[i,j,k]……clipValue[i+1,j+1,k+1] //然后,计算八个采样数据的和 surnClipValue=clipValue[i,j,k】+clipValue[i+1,j,k】+ clipValue[i,j+l,k】+clipValue[ij,k+l】+ elipValue[i+1,j+1,k】+clipValue[i+1,j,k+1】+ clipValue[i,j+1,k+1]+clipValue[i+lJ+l,k+1]; ∥最后,计算一个*均值,作为新采样点的数据 newClipValue[i/2j/2,k/2】=sumClipValue/8; //由于每个方向上都使用了两个数据, //所以每个方向都多增一次
i++;

i-O;i<lineCount;i抖)

j++;
l【++;

) )
48

地震数据体绘制技术在勘探决策支持系统中的应用研究

4.1.3地震数据体的遍历和体绘制过程
图4.1描述了遍历八叉树并应用选择条件、绘制条件和剔除条件进行地震数据 体绘制的完整过程。

图4.1.基于八叉树的体绘制流程 第一步,将地震数据体八叉树结构的根节点压进遍历堆栈,从根节点开始递归 遍历。 第二步,判断堆栈是否为空,如果为空则结束绘制;否则进入第三步。


49

地震数据体绘制技术在勘探决策支持系统中的应用研究

第三步,从遍历堆栈中弹出访问节点,准备绘制。 第四步,判断节点是否满足剔除条件。是则进入下一循环,否侧进入第五步。 第五步,判断节点是否叶子节点。是则绘制此节点;否则进入第六步。 第六步,判断节点是否满足绘制条件,主要是指是否满足绘制精度。是则绘制 此节点;否则进入第七步。 第七步,由前向后排序子节点,按顺序压进遍历堆栈。进入下一级循环的第二 步。 以下面的伪代码为例,从根节点开始,递归遍历整个八叉树,简要说明八叉树 的遍历和绘制过程。 SearchOctree(string monon.Octree octree) { //如果不满足剔除条件 if(!CanExelude(octree)) { //如果是叶子节点 if(oetree.isLeaO { //绘*诘 Render(octree); ) ∥如果满足绘制条件
else

if(CanRender(octree))

{ //绘*诘 Render(octree); ) //如果当前节点不是叶子节点,遍历子节点
else


int j=mt(moaon.subslring(O,1));
50

地震数据体绘制技术在勘探决策支持系统中的应用研究

//递归遍历
return

SearchOctree(morton.substrig(1),child[j]);

} ) ) 在具体体绘制时采用光线投射算法,在采样计算过程中,利用颜色和不透明计 算公式(2.6)或(2.7),沿着光线的方向,对每个采样点循环采样。在采样循环中, 使用提前终止光线的计算方法,根据不透明度阈值来判断采样是否结束。当阈值达 到95%时,提前终止光线,停止采样循环,返回颜色和不透明度。 体绘制方法的伪代码如下:
Render(OcU'ee octree)

{ //首先,在图像*面上做两层循环
for(int j=1;j<=imageHeight;j++)

{ for(int i=1;i<=imageWidth;i++) { ∥其次,沿着光线的采样点循环 for(int k=l;k<=rayLength;k++) { //如果不透明度达到阈值(95%),则提前终止光线,停止采 样 if(Oacc>--0.95) {
break;

) ∥如果不透明度没有达到阈值,则继续计算并累加 Cnew=g(P);//计算颜色值,P迭代点,见4.1.5 Onew=f【P);//计算不透明度,见4.1.5 ∥沿着由前向后迭代的采样顺序,计算采样点的颜色和不透明


51

地震数据体绘制技术在勘探决策支持系统中的应用研究

度 Cacc+=Cncw幸Onew?(1一Oacc); Oacc+=Onew宰(1-Oacc); //下一个迭代点
P+_pStcp;

) //最后一个输出的Cacc、Oacc就是最终屏幕上要显示的颜色和不 透明度。 RenderSample(P,Cacc,Oacc);//绘制采样点 )

4.1.4利用转换函数获取采样点属性
根据前面介绍的采样点转换函数, 定义颜色映射表和不透明度映射表,其结构 定义如下: //颜色映射表
hashtable ColorInfo


int

colorlndex;//颜色编码 color;//颜色值

Color

) //不透明度映射表
hashtable AlphaInfo


int int

colorlndex;//颜色编码 Alpha;//不透明度值

) 映射表中,不透明度值统一为l, 依次进行颜色赋值。调节颜色标尺或不透明
52

地震数据体绘制技术在勘探决策支持系统中的应用研究

度曲线,其变化都会反映在全局映射表中。 计算地震数据体采样点时,从创建数据体八叉树结构时生成的统计数据文件中, 查找到当前采样点振幅值的颜色编号,然后,根据颜色编号到颜色映射表中,查找 到相应的颜色值和不透明度值;最后,绘制该采样点。 伪代码示例如下:
float hat

sampleValue=value(1ine,cdp,time);//读取采样点振幅值

eoloelndex=SeismicStatistic.percent[sampleValue];//获取颜色编号 color=Colotlnfo[eolorlndex];//从颜色映射表中读取颜色值 alpha=Alphalnfo[colorlndex];//从不透明度映射表中读取不透明度值

Color Alpha

4.1.5利用GPU加速地震数据体绘制
随着现代图形硬件加速技术的进步,新一代的图形显示硬件集成了以
GPU(Graphics Processing Unit,图形处理器)为核心的可编程顶点着色器和可编程像

素着色器,为实现实时体绘制技术提供了硬件支持。随着可编程图形显示硬件的发 展,在Open
Inventor

API中均提供了直接操作GPU的编程接口,用户可以充分利

用图形显示硬件的加速机制获取实时的真实感图形/图像绘制效果。

正如Macedonia㈣所说:“GPU已经进入计算的主流。"我们的目标就是利用
GPU的并行计算能力来加速深度图像的绘制过程,同时保持较高的真实感效果。 GPU绘制流水线的高速度和并行性以及*年来发展起来的可编程功能为图形处理 以外的通用计算提供了良好的运行*台。 基于GPU加速的三维纹理体绘制算法分为以下三个步骤: (1)生成数据纹理。将数据值存入三位数组,并且装载进三维纹理显存中。需 要计算光照时,可以用显存空间来节省绘制时间,在此步骤中将每个数据点的梯度 信息业存入三维纹理中。 (2)生成二维纹理。根据地震数据体的特点,将物质分类并设置好映射关系, 并采样为二维查找表,载入二维纹理中。 (3)采样及绘制。在物体空间生成采样代理多边形,并计算出多边形顶点对应 得纹理坐标。根据纹理坐标查找出此数据点的数据值和梯度信息。再到二维纹理中 查找对应的颜色值、不透明度值等光学属性。最后,由后向前的顺序合成出最终的
53

地震数据体绘制技术在勘探决策支持系统中的应用研究

结果图像。 在Open Inventor中,支持Cg编程(Cg是NVIDIA公司推出的面向GPU编程 的语言),主要是通过Cg着色器来进行顶点着色(VertexProfile)或片段着色
(FragmentProfile)。

为了使用Cg着色器,我们必须在程序中建立一个着色上下文(CGcontext), 为每个着色器建立一个CGprogram,而每个着色器你都可以为它指定一个单独的显 卡适配参(CGprofile),CGprofile是用来告诉Cg如何选择最适合你显卡的方式来 对顶点着色或片段着色。Cg着色器可以在任何你虽要用到的地方被载入,载入的时 候只需要给程序传递一个Cg着色器函数入口名,或是Cg着色器文件名。 把Cg着色器程序文件作为Open Inventor的资源程序添加到展示根节点的

SoShaderProgram(着色器)中,在Open

Inventor程序运行时,cg着色器将GPU Inventor程序展示使用。调用示例如

绘制的结果返回给SoShaderProgram,供Open
下:

∥l、定义SoShaderProgram,并添加到OIV的展示根节点下
SoShaderProgram shaderProgram=ncw SoShaderProgram0;

sceneRoot.AddChild(shaderProgram); //2、指定Cg着色器程序文件,添加给SoShaderProgram
SoVertexShader vertexShader=Dew

SoVertexShader0;

vertexShader.sourceProgram.setValue("../Data/wave.cg”); shaderProgram.shaderObject.SetValue(vertexShader);

因此,在Open Inventor中使用Cg着色器编程不需要对原有程序做很多修改,
只需要调用一下Cg着色器程序文件即可。 下面是Cg着色器程序的一个示例: ∥Cg着色器输入参数
struct appdata


float4 position:POSITION; float3

//位置

normal:NORMAL; //颜色

float3 color:DIFFUSE; float3

VertexColor:SPECU蛾.//顶点颜色


地震数据体绘制技术在勘探决策支持系统中的应用研究




//Cg着色器输出参数
struct vfconn





float4 HPOS:POSITION; float4 COLO:COLOR0;

//位置 //颜色




//Cg着色器丰程序 //Cg着色器输入参数、Cg着色器输出参数,由Cg着色器自动处理 //uniform输入参数,由调用Cg着色器的程序赋值
vfconn main(appdata IN,uniform float4

Kd,uniform

float4x4

ModelViewProj)


vfconn OUT;

OUT.HPOS=mul(ModelViewProj,IN.position);//计算位置 OUT.COL0.xyz=Kd.xyz?IN.VertexColor.xyz;//计算颜色
OUT.COLO.W=1.O;
return OUT;



4.2本文算法总结
本系统中采用多分辨率八叉树作为数据体的结构,根据该结构来决定八叉树体 元的遍历次序。在进行体绘制遍历数据体时,根据剔除条件和绘制条件来判断是否 绘制当前节点,其绘制速度比使用原始数据直接体绘制时提高很多。当数据体文件

越大、数据越多时,绘制速度的提高越明显。在纹理计算方面使用了提前终止光线
算法和基于GPU的纹理绘制技术,在减少计算量的同时利用GPU在纹理绘制方面 的优势,有效提高了地震数据体绘制的速度。 本算法存在的问题是,在体绘制时采用的是最基础的光线投射算法,该算法由
55

笼震数据体绘鹾技术在勘攥决蓑支持系统巾熬应矮研究

予采用六层循环,与其他方法相比较绘制速度较慢。如果能够采用错切变形等算法, 体绘制的速度会进~步得到提高。

地l散*体绘制技木&勘探女策支#矗统十∞&月日究

5绘制效果

在本系统中,以埕岛一桩海地区的桩海连片三维地震数据体为例。

首先-用最侠的速度显示该地震数据体分辨率最低的数据;然后在不影响前台
操作的基础上.后台加载高分辨率的数据,前台根据数据体的八叉树体元,加载一
部分显示一部分,直至全部刷新完成。下面是各种体绘制的展示效果:

图4.2-首先加载低分辨率地震数据的显示效果

图4 3一加载最高分辨率地震数据的显示效果

镕l#女体bⅫ#¥&№操*∞i持系‰十的应用日究

上圈中地震数据体绘制的灰边,是采样值0的数据,是地震数据体在转换过程
中产生的,可以通过设置数据透明度的方法去掉。去掉0振幅值以后的显示效果如 下:

图44.设置数据透明度界面

图4.5.去除空数据后的显示效果

在Op印lnvenWr中,地震数据体绘制时是通过显示地震切片的方式来实现的,
可以通过设置显示的切片数量,来提高体绘制的绘制质量。增加切片数量后的显示 效果如下:

图4 6.高质量的显示效果
58

地震敦镕#%制拉术在勘探击*支#系‰中的&月”%

地震数据体绘制时,可以通过增加光照的方式.来增加体绘制的真实感。增加 光照以后的显示效果如下:

图4 7一增加光照以后的显示效果 地震数据体绘制时,振幅有强有弱,去掉小振幅值的数据,可咀把地下较明显 的构造面显示出来。去掉小振幅值数据以后的显示效果图如下:

圈4 8.去除低振幅值后的显示效果

地震数据体绘制技术在勘探决策支持系统中的应用研究

6结束语

本文从科学计算可视化出发,介绍了三维数据场可视化技术的产生、发展、现 状,以及三维数据场可视化中的体绘制技术。并重点研究了地震数据体绘制技术在 勘探决策支持系统中的实现和应用。本论文主要工作如下: (1)介绍了科学计算可视化和体绘制技术的相关概念以及当前的发展情况,同 时详细的介绍了体绘制技术的特点,实现原理和实现过程。 (2)论文对体绘制中几种典型常用的算法进行了描述,并且介绍了几种常用的 提高体绘制算法效率的有效方法。 (3)提出了基于八叉树的地震数据体数据结构,介绍了八叉树结构的创建和转 换相关算法,以及体绘制与八叉树的遍历流程。 (4)最后介绍了地震数据体绘制技术在勘探决策支持系统中的设计和实现,采 用多分辨率八叉树来组织地震数据体,使用提前终止光线的计算方法和基于GPU 的纹理绘制技术,从而提高了体绘制的速度。 下一步,将继续追踪研究并改进本文中的体绘制算法,进一步提高体绘制效率, 以达到实时绘制的效果。并研究其他勘探数据的三维可视化功能,例如:层位、井 斜轨迹、测井曲线、合成记录等,为勘探决策提供全面的三维可视化支持。 本论文应用体绘制技术,对地下地质构造形态进行立体的、多方位的展示和观 察,以研究地质构造的宏观特征和构造细节。此技术将是勘探决策支持系统可视化 功能的有效扩充,为油田的勘探决策提供更加强有力的支持,对于提高地震勘探和 钻探的准确度和成功率有重要意义。

60

地震数据体绘制技术在勘探决策支持系统中的应用研究

参考文献
n, 闫锋欣.侯增选.张定华等,Open Inventor程序设计从入f-j至tJ精通,北京:清华大学出版社,
2007

李晓梅.黄朝晖,科学计算可视化导论,北京:国防科技大学出版社,1996 唐泽圣,三维数据场可视化,北京:清华大学出版社,1999 口口H 石教英.蔡立文,科学计算可视化算法与系统,北京:科学出版社,1996 洪歧等,体绘制技术,计算机应用技术,2004.10 芦眄 , , 王文成,三维数据场体绘制技术的研究和实现,【博士学位论文】,北京:中国科学院软件 研究所,1998 刘如娟,基于体绘制技术的三维数据场可视化,【硕士学位论文】,太原:太原理工大学,
2003

口,

陈莉,三位矢量场可视化的基础算法研究,【博士学位论文】,杭州:浙江大学,1996 隅p ,, 许元飞,三维数据场可视化中体绘制技术的研究,【硕士学位论文】,西安:西安科技大学,
2005

n n 伽U

童欣等,基于空间跳跃的三维纹理硬件体绘制算法,计算机学报,1998.21(9):807.812 中国石油天然气总公司,SY厂r5453.1996,中华人民共和国石油天然气恒业标准.地震数据 处理成果带存档记录格式,北京:中国石油化工股份有限公司油田事业部编,1997.09.01

口刁

杨传琦,大规模数据体绘制及多维传输函数技术的研究与实现,【硕士学位论文】,杭州: 浙江大学,2006
David




ERogcrs,计算机图形学的算法基础,北京:机械工业出版社,2002

罗振东,廖光裕计算机图示学原理和方法,上海:上海复旦大学出版社,1993 耿国华.周明全,一种从空间物体到八叉树转换的简捷算法,西北大学学报,1996。8:289.292 陈少强.黄毓瑜,一个微机体可视化系统及其在地球物理中的应用,工程图学学报,
2000.3:103.107


n 如邮*q

n刀

晏靖靖,三维地震数据场直接体绘制的方法研究,[硕士学位论文】,南京:南京理工大学,
2004

【1 8】

Macedonia M,The

GPU enters

computing’s

mainstream,IEEE

Computer

Society,

2003.36(10):106?108

61

地震数据体绘制技术在勘探决策支持系统中的应用研究

致谢
本文的研究工作是在班主任姜效典教授、导师孟凡顺教授的悉心指导下完成 的。在此,我深深地感谢导师在我攻读硕士研究生期间对我学*和研究给予的关心 和指导。两位老师渊博的知识、严谨的治学态度、拼搏创新的精神和工作作风,深 值我敬佩和终生学*,激励我努力探索科学真理。 课程学*期间,得到中国海洋大学张维刚教授、张金亮教授、刘怀山教授、李 三忠教授、李广雪教授,以及姜素华、许淑梅、刘喜武等教授的谆谆教诲和无微不 至的关心和帮助。各位老师不辞辛苦,多次来到胜利油田进行授课和指导,通过各 门学位课程的学*,开阔了自己的研究思路,更系统的掌握了专业基础理论知识, 进一步扩大了知识面,在论文选题及创新方面有了许多启迪,受益匪浅。 感谢物探研究院王金铎老总的大力支持和帮助,感谢周围的同事们为我的研究 工作提供了大量的资料。 感谢王明方、刘长治、杨玉军、王玉娟、步长城等师兄弟们为我提出的许多宝 贵意见和建议,使我受益匪浅。 最后,再次感谢所有的老师、同事、同学对我的关心和帮助!

地震数据体绘制技术在勘探决策支持系统中的应用研究

个人简历
1976年2月19日出生于山东省利津县。 1994年9月考入西北大学计算机科学系计算机软件专业,1998年7月毕业并 获得学士学位。 2005年9月考入中国海洋大学海洋地球科学学院地质工程专业,攻读工程硕士 学位至今。


地震数据体绘制技术在勘探决策支持系统中的应用研究

发表的学术论文
【1】李虎.异构数据库之间数据迁移技术的研究与实现. 中小企业管理与科技,2007.11:49-51

【2】李虎,刘曼.三维技术在定向井井身轨迹设计中的应用.软件导刊,2008.5:23-24 【3】李虎.基于RBAC的二维访问控制模型设计. 中国高新技术企业,2008.10:i23

地震数据体绘制技术在勘探决策支持系统中的应用研究
作者: 学位授予单位: 李虎 中国海洋大学

本文链接:http://d.g.wanfangdata.com.cn/Thesis_Y1503030.aspx




友情链接: