逼近可编辑曲面的系统和方法

文档序号:6656088阅读:235来源:国知局
专利名称:逼近可编辑曲面的系统和方法
技术领域
本发明主要涉及从3D数据集或3D点集自动地逼近可编辑曲面的系统和方法,该曲面可以以NURBS曲面的形式来描绘。
背景技术
非均匀有理B样条(NURBS)是表示和设计几何图形的工业标准工具。如Markus Altmann在www.cs.wpi.edu/~matt/courses/cs563/talks/nurbs.html处所示,使用NURBS有多种理由。它们为标准分析形状(例如圆锥)和自由形态形状提供了一个共同的数学形式。NURBS提供了设计多种形状的灵活性,并且能够通过数字上稳定和精确的算法来较快地评估。它们在仿射变换和透视变换下不变,并且是无理B样条与无理和有理贝塞尔曲线和曲面的通式。
然而,NURBS的一个缺点是需要额外的存储器来定义传统形状(例如圆)。这是由除了控制点之外的参数造成的,但这将允许以期望的灵活性来定义参数形状。NURBS形状不仅由控制点定义,而且还需要与每一个控制点相关的权重。例如,作为向量估值分段有理多项式函数的NURBS曲线C(u)可以定义为(1)---C(u)=sum(i=0,n){wi*Pi*Ni,k(u)}sum(i=0,n){wi*Ni,k(u)}]]>其中wi=权重Pi=控制点(向量)Ni,k=k次标准化B样条基函数
B样条递归地定义为(2)---Ni,k(u)u-titi+k-ti*Ni,k-1(u)+ti+k+1-uti+k+1-ti+1*Ni+1,k-1(u)]]>/1,如果ti<=u<ti+1Ni,0(u)=<\0,其它其中ti是形成节点向量的节点,并且U={t0,t1,…,tm}。
节点向量节点向量唯一地确定了如上文等式(2)所示的B样条。节点的编号(m+1)、Ni,k的次数(k)和控制点的编号(n+1)之间的关系由m=n+k+1给定。
假定节点向量U中的节点序列为非减的,即ti<=ti+1。每一个相继的节点对表示用于计算形状片断的参数值的区间[ti,ti+1)。
对于NURBS,所有形状片断的相对参数区间(节点长度)不需要相同,即节点间距是非均匀的,导致了如下形式的非周期节点向量(3)U={a,…,a,tk+1,…,tm-k-1,b,…,b},其中a和b以重数(multiplicity)k+1而重复。节点的重数影响了该节点处的参数连续性。非周期B样条(例如NURBS)在节点长度内是无穷可微和连续可微的,并且在节点处是k-M-1次连续可微的,其中M是节点的重数。相反,周期节点向量U={0,1,…,n}在任何地方都是k-1次连续可微的。考虑NURBS的节点向量,重数k+1的末端节点(tk,tn+1)与末端控制点P0、P0重合。
由于节点间距可以是非均匀的,每一个区间[ti,ti+1)的B样条不再相同,并且B样条的次数可以变化。考虑节点向量所表示的参数值的整个范围,不同的B样条在该参数值的范围上建立了如等式(2)所定义的连续(重叠)混成函数(blending function)Ni,k(u),在下文的表1中示出该函数。这些混成函数具有下面的性质1.对于所有的i,k,u,Ni,k(u)>=0;2.如果u不在[ti,ti+k+1)中,那么Ni,k(u)=0,这表示当Ni,k(u)非零时,有k+1个节点距离(knot span)的局部支持。
3.如果u在[ti,ti+1)中,非零混成函数是Ni-k,k(u),…,Ni,k(u);4.Sum(j=i-k,i){Nj,k(u)}=sum(i=0,n){Ni,k(u)}=1,(单位分解(partition of unity));5.在多个节点的情况下,0/0被认为是零。
如下文表2所示,第一和第四性质共同导致了凸包。控制点的折线建立由NURBS曲线所定义的形状。第二和第三性质说明了k+1个相继控制点定义了形状片断,并且控制点包括在k+1个相邻的形状片断中。因此,改变控制点或权重只对在等式(2)中给定的区间上定义的k+1个形状片断产生影响。
表1 表2
曲线/曲面定义可以使用有理基函数(4)---Ri,k(u)=wi*Nik(u)sum(j=0,n){wj*Nj,k(u)}]]>将等式(1)中对NURBS曲线的先前的定义改写为(5)C(u)=Sum(i=0,n){Pi*Ri,k(u)}可以以相似的方式来定义NURBS曲面S(u,v)=sum(i=0,n)sum(j=0,m)Pi,j*Ri,k,j,l(u,v)其中(6)---Ri,k,j,l(u,v)=wi,j*Ni,k(u)*Nj,l(v)sum(r=0,n){sum(s=0,m){wr,s*Nr,k(u)*Ns,l(u)}}]]>有理基函数具有与混成函数相同的性质。要强调的一点是它们在仿射和(甚至)透视变换下的不变性。因此,仅需对控制点进行变换以获得适当的NURBS形状变换。
算法可以使用齐次坐标有效地对NURBS进行评估。下面的步骤说明了执行评估的一种方法1.使控制点增加一维(例如,P=(x,y)->P’(x,y,l)),并将控制点与其对应的权重相乘,即在2维中Pi(xi,yi)->Pi,(wi*xi,wi*yi,wi)2.在齐次坐标中计算NURBSC’(u)=sum(i=0,n){Pi’(u)*Ni,k(u)}3.使用下面的式子将“齐次”NURBS映射回原始坐标系/(X1/W,X2/W,…,Xn/W),如果W不等于零map(X1,X2,…,Xn,W)=<\(X1,X2,…,Xn),如果W等于零
(7)---C(u)=map(C′(u))=sum(i=0,n){wi*Pi*Ni,k(u)}sum(i=0,n){wi*Ni,k(u)}]]>对于[ti,ti+1]中的u,在u处对曲线进行评估中仅存考虑的混成函数是Ni-k,k(u),…,Ni,k(u)。在C.deBoor,“A Practical Guide toSplines,”1978,New York,Springer-Verlag中描述了用于计算非零(non-vanishing)混成函数的有效算法。
权重如上所述,改变控制点Pi的权重wi仅影响区间[ti,ti+k+1)(在曲线的情况)。下面的表3示出了权重的几何含义。
定义点B=C(u;wi=0);N=C(u;wi=1);以及Bi=C(u;wi不等于{0,1}) 表3N和Bi也可以表示为N=(1-a)*B+a*PiBi=(1-b)*B+b*Pi其中a=Ri,k(u;wi=1)b=Ri,k(u)从a和b的表达式获得了下面的恒等式
(1-a)/a∶(1-b)/b=PiN/BN∶PiBi/BBi=wi上式被称作四个点Pi、B、N、Bi的交叉比(cross ratio/doubleratio)。根据这些表达式,可以导出形状修改的影响●Bi在直线段上扫过(sweep out);●如果wi=0,那么Pi对形状没有影响;●如果wi增加,那么对于j不等于i,b和曲线靠近Pi而远离Pj;●如果wi减小,那么对于j不等于i,b和曲线靠近Pj而远离Pi;以及●如果wi->无穷,如果u在[ti,ti+k+i]中,那么b->1且Bi->Pi问题已尝试在不同的技术领域中使用多种技术创建NURBS曲面。例如,国际公开号No.WO 02/37422和美国专利号No.6,765,570中提出了多种在分析和解释地震中用于手动地产生可编辑(NURBS)曲面的技术,这里一并引入作为参考。其它的常规应用提出使用本领域中公知的内插技术来创建可编辑(NURBS)曲面。这些技术可以被称为用于确定可编辑曲面的“精确拟合(exact-fit)”的方法。与可编辑曲面的“最佳拟合”逼进相比,精确拟合方法更可能产生较不均匀的(如果不是非均匀的)可编辑表面。此外,如果没有成本限制,对于地震数据的分析中经常遇到的大规模3D数据集来说,定义可编辑NURBS曲面的精确拟合方法可能是不切实际的。
在Shepard,D.,“A two dimensional interpolation functionfor irregular spaced data,”1968,pp.517-524,Proceedings 23rdACM National Conference中大致描述了用于将无序的点转换为曲面的其它常规方法。一种用于内插分散点的公知方法基于给定的点和权重函数来定义曲面值。虽然结果相对粗略,但其基本思想已经引出了许多其它方法。
另一种公知的方法(通常称为“薄板样条”方法)已经被并入医学成像的应用,并且能够精确地引导目标曲面使其穿过所有给定的点。参见Hardy,R.L.Desmarrais,R.N.,“Interpolation usingsurface spline,”1972,pp.189-197,Journal of Aircraft 9andDyn,N.,“Interpolation in Scattered Data by RadialFunctions,”1987,pp.47-61,In Chui,C.K.;Schumaker,L.L.;Ultreres,F.I.(ed)Topics in Multivariate Approximation。然而,这种技术要求大规模矩阵的求逆,这耗费了大量的计算,并且对于可能仅要求最优近似的大量输入点来说通常是不切实际的。
Hoppe,H.,et al.,“Surface Reconstruction fromUnorganized Points,1992,pp.71-78,Comput.Graph.26中描述了另一种用于将点云转换为曲面的常规方法。然而,这种方法假定输入点是均匀地分布在整个域上,这对于密集在一些区域中并在其它区域中不存在的输入点来说也是不切实际的。
因此,存在对从包括大量无序和/或非结构化的数据点的3D数据集或3D点集自动地逼近可编辑曲面的需求,该曲面可以以可编辑NURBS曲面的形式来描绘。

发明内容
通过提供用于自动地从3D数据集或3D点集逼近可编辑曲面的系统和方法,本发明满足了上述需求并克服了现有技术领域中一个或多个不足,其中3D数据集或3D点集可以包括大量非结构化和/或无序的数据点。
在一个实施例中,本发明包括一种用于从3D数据集逼近可编辑曲面的系统,该系统包括被配置为存储指令程序的计算机可读存储介质,能够执行指令程序以实现(i)从3D数据集选择点集;(ii)确定点集的最佳拟合平面;(iii)将至少一部分点集投影到最佳拟合平面上;(iv)根据投影点集来确定最佳拟合平面的边界;(v)将栅格投影到边界内的最佳拟合平面,该栅格包含多个栅格点;(vi)初始化栅格点;(vii)确定至少一部分栅格点的值;(viii)利用值来选择至少一部分栅格点;以及(ix)使用至少一部分选择的栅格点来描绘可编辑曲面。
在另一个实施例中,本发明包括一种用于从3D点集逼近可编辑曲面的系统,该系统包括被配置为存储指令程序的计算机可读存储介质,能够执行指令程序以实现(i)确定点集的最佳拟合平面;(ii)将点集投影到最佳拟合平面上;(iii)根据点集来确定最佳拟合平面的边界;(iv)将栅格投影到边界内的最佳拟合平面,该栅格包含多个栅格点;(v)将栅格点初始化为零;(vi)确定栅格点的值;(vii)细化(refine)至少一部分栅格点的值;(viii)基于值和细化值中的一个来选择至少一部分栅格点;以及(xi)使用选择的栅格点来描绘可编辑曲面,可编辑曲面表示点集到可编辑曲面的最优逼近。
在另一个实施例中,本发明包括一种用于从3D数据集逼近可编辑曲面的方法,包括步骤(i)从3D数据集选择点集;(ii)确定点集的最佳拟合平面;(iii)将至少一部分点集投影到最佳拟合平面上;(iv)根据投影点集来确定最佳拟合平面的边界;(v)将栅格投影到边界内的最佳拟合平面,该栅格包含多个栅格点;(vi)初始化栅格点;(vi i)确定至少一部分栅格点的值;(viii)利用值来选择至少一部分栅格点;以及(xi)使用至少一部分选择的栅格点来描绘可编辑曲面。
在另一个实施例中,本发明包括一种用于从3D点集逼近可编辑曲面的方法,包括步骤(i)确定点集的最佳拟合平面;(ii)将点集投影到最佳拟合平面上;(iii)根据点集来确定最佳拟合平面的边界;(iv)将栅格投影到边界内的最佳拟合平面,该栅格包含多个栅格点;(v)将栅格点初始化为零;(vi)确定栅格点的值;(vii)细化至少一部分栅格点的值;(viii)基于值和细化值中的一个来选择至少一部分栅格点;以及(xi)使用选择的栅格点来描绘可编辑曲面,可编辑曲面表示点集到可编辑曲面的最优逼近。
通过下文对多个实施例和相关附图的描述,本发明的这些和其它目的、特征和优点对于本领域中的技术人员来说将变得显而易见。


下文参考附图对本发明进行描述,附图中相似的单元具有相似的标号,其中图1是示出了用于实施本发明的程序的一个实施例的框图;图1A是主要示出了数据流进入图1所示的逼近模块的示意图;图2是示出了用于实施本发明的方法的一个实施例的流程图;图3示出了图2中的步骤212;图4示出了图2中的步骤216和步骤218;图5示出了图2中的步骤220和222;图5A示出了图2中的步骤224,并表现了图5中的区域A;图6示出了图2中的步骤228、步骤230和步骤232;图7示出了图2中的步骤236和步骤238;图8是示出了用于逼近图2中步骤240处绘制的可编辑曲面的输入数据点的图像;图9是图8中的部分图像的另一个透视图;图10是图9中的部分图像的另一个透视图。
具体实施例方式
对本发明的主题及其特征进行描述,然而,该描述自身并不意欲限制本发明的范围。所要求保护的主题也可以结合其它当前的或将来的技术,以其它方式来实现,包括不同的步骤或与这里描述的步骤相似的步骤的组合。此外,虽然术语“步骤”在这里可以用于表示所运用的方法的不同组成部分,但除非明确地说明了各个步骤的顺序,该术语不应被解释为暗示这里所公开的多个步骤之间的任意特定顺序。
本发明提供了改进的系统和方法,用于分析3D数据集和/或3D点集。可以在由计算机执行的计算机可执行指令程序的一般环境(例如程序模块)中来描述本发明。通常,程序模块包括例程、程序、对象、组件、数据结构等,它们执行特殊的任务或实现特殊的抽象数据类型。此外,本领域的技术人员可以理解,本发明可以利用多种计算机系统配置来实践,包括手持设备、多处理器系统、基于微处理器或可编程的消费电子设备、微型计算机、大型计算机等。本发明可以应用于任意数目的计算机系统和计算机网络。本发明可以在分布式计算环境中实践,在该环境中,由通过通信网络连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备的本地和远程计算机存储介质中。计算机可用指令形成了接口,该接口允许计算机根据输入源来做出反应。指令与其它代码段一同工作,响应于接收数据的源接收到数据,启动多个任务。
因此,可以在计算机系统或其它处理系统中使用硬件、软件或其组合来实施本发明。图1是示出了用于实施本发明的软件程序100的一个实施例的框图。程序100的底部是操作系统102。适合的操作系统可以包括例如来自微软公司的Windows操作系统,或是对于相关领域的技术人员来说是显而易见的其它操作系统。
菜单和开窗软件104覆盖(overlay)在操作系统102上。菜单和开窗软件104用于提供多个菜单和窗口,以便利于与用户进行交互并获得用户输入和指令。对于相关领域的技术人员来说显而易见的是,本发明可以使用任意数目的菜单和开窗程序。
基本图形库106覆盖在菜单和开窗软件104上。基本图形库106是计算机图形的应用编程接口(API)。例如,基本图形库106所执行的函数可以包括几何与光栅图元、RGBA或颜色索引模式、显示列表或立即模式、观看和建模变换、照明和明暗处理方法、隐藏曲面移动、alpha混成(半透明)、消除混叠、纹理映射、反馈和选择、模板平面和积累缓冲。
绘制应用程序108覆盖在基本图形库106上。本领域的技术人员可以理解,绘制应用程序108可以包括2D/3D地震数据解释(包括交互式层位和断层管理、3D可视化和属性分析)的工具套件。例如,LandmarkGraphics Corporation的SeisVisionTM平台是适用本发明的地震绘制应用程序。
逼近模块110覆盖在程序100的其它单元上。逼近模块110被配置为与表现预定对象(例如层位、断层)的3D数据集或包括任意的和/或非结构化的数据点的3D点集进行交互。以本领域中公知的方式,逼近模块110与绘制应用程序108、基本图形库106、菜单和开窗软件104以及操作系统102进行交互,并利用它们所实现的功能。逼近模块110可以用面向对象的编程语言(例如C++)来编写,从而允许对象和对象功能性的创建和使用。
可以使用并入了程序100和多个硬件组件的计算机系统来执行或实现图1中所示的程序100。硬件组件可以包括例如处理器、存储器(例如随机存取存储器和/或非易失性存储设备)、一个或多个输入设备、一个或多个显示设备和一个或多个接口设备。这些硬件组件可以根据多种配置而互相连接。非易失性存储设备可以包括诸如磁带驱动器、磁盘设备、半导体ROM或EEPROM之类的设备。输入设备可以包括诸如键盘、鼠标、数字化小键盘、轨迹球、触摸板和/或光笔之类的设备。显示设备可以包括诸如监视器、投影仪和/或头戴式显示器之类的设备。可以将接口设备配置为从一个或多个采集设备和/或通过网络从一个或多个远程计算机或存储设备来请求数字图像数据。
取决于所绘制的对象的类型,可以使用任意种类的采集设备。采集设备可以检测多种形式的机械能(例如声能、位移和/或压力/应变)和/或电磁能(例如光能、无线电波能、电流和/或电压)。
可以将处理器配置为对来自RAM和/或非易失性存储设备的指令和/或数据重新编程,并且将计算结果存储到RAM和/或非易失性存储设备。程序指令命令处理器基于这里描述的方法来对3D数据集和/或3D点集进行操作。可以通过多种机制将输入数据提供给计算机系统。例如,可以使用一个或多个接口设备来将输入数据分配到非易失存储器和/或RAM中。作为另一个例子,可以通过例如加载到一个非易失存储设备中/上的磁盘或磁带的存储介质,将输入数据提供给计算机系统。在这种情况下,输入数据将会被预先记录到存储介质上。
要注意的是,输入数据可以不是由采集设备所获得的原始数据。例如,输入数据可以是使用原始检测数据集的一个或多个处理操作的结果。处理操作可以由计算机系统和/或一个或多个其它计算机来执行。
可以在一个或多个软件程序或模块中实现本发明的方法,这些程序或模块存储在例如CD-ROM、磁盘、磁泡存储器、半导体存储器(例如多种任意类型的RAM或ROM)的任意种类的存储介质上。此外,软件程序和/或其结果可以在例如光纤、金属线、自由空间的多种载波介质上和/或通过任意种类的网络(例如互联网)来传输。
例如,在图1A中,3D数据集112可以包括任意的预定对象,例如地质异常(geoanomaly)、地物(geobodies)、层面、断层和/或包括任意的和/或非结构化的数据点的其它曲面或任意的3D点集。如果需要,可以将3D数据数据集112转换为3D点集114。在由逼近模块110进行处理之前,可以从转换的3D数据集112中选择整个3D点集114或其部分,以产生可编辑曲面的图像。
现在参考图2,示出了从3D数据集或3D点集来逼近可编辑曲面的图像的方法200。
在步骤202,3D数据集可以用于输入包括任意的和/或非结构化的数据点的预定对象或3D点集。
在步骤204,可以从3D数据集中选择对象,例如地质异常、地物、层面、断层和/或其它曲面。可以使用本领域公知的多种成像技术来预定这些对象。
在步骤206,使用本领域公知的转换技术,将选择的对象转换为3D点集。转换的3D点集包括任意的和/或非结构化的数据点,这些数据点对应于包括初始输入3D数据集的初始数据点。因此,3D点集可以包括形成任意曲面的任意的和/或非结构化的数据点。
在步骤208,可以从初始输入3D数据集(步骤202)或转换的3D点集(步骤206)中选择3D点集,该3D点集可以包括来自初始输入3D数据集或其部分的所有数据点。因此,选择的3D点集包括任意的和/或非结构化的数据点,这些数据点对应于包括初始3D数据集的初始数据点中的至少一部分。
在步骤210,对在步骤208处选择的3D点集进行分析以确定其是否包含主(长)轴(dominant axis)。如果能够确定3D点集的主轴,那么下一步骤212就不是必需的。对于在步骤204处选择的某些预定对象,主轴对于本领域的技术人员是显而易见的。
在步骤212,通过本领域公知的编程方法,将椭圆面304拟合到图3中所示的3D点集(点云)。3D点集由数据点302来表示。椭圆面304包括可以由长轴 中轴 和短轴 来表示的三个基轴(cardinalaxis)。然而在理想圆的情况下,所有三个主轴将具有相同的长度。椭圆面304的短轴向量与所有(world)坐标轴(x、y、z)相比较,以确定最佳拟合平面的原始方向,并因此确定应当使用下面三个表达式中哪一个来在步骤214处确定最佳拟合平面z=f(x,y)y=f(z,x)x=f(y,z)在步骤214,通过使用最小平方逼近来确定最佳拟合平面,以实现最佳拟合平面等式,从而确定最佳拟合平面。例如,假设T是包括3D数据集的n个数据点的矩阵,即T=α1α2···αnβ1β2···βnγ1γ2···γn11···1]]>其中(αi,βi,γi)=(xi,yi,zi)ifz=f(x,y)-Z dominant(αi,βi,γi)=(zi,xi,yi)ify=f(z,x)-Y dominant(αi,βi,γi)=(yi,zi,xi)ifx=f(y,z)-X dominanti∈[1,n]假设M是由T·T’(T’是T的转置)形成的4×4矩阵。通过使用LU分解,对矩阵M求逆,来找到最小平方、最佳拟合平面、等式,LU分解产生了下面等式中的系数A、B、C、D,该等式可以用于确定包括3D点集的数据点302的最佳拟合平面Ax+By+Cy+D=0在步骤216,通过本领域公知的编程方法,将包括3D点集的数据点302中至少一部分投影到图4所示的最佳拟合平面404上。投影到最佳拟合平面404上的数据点302越多,结果就越精确。然而,可以根据偏好来确定投影到最佳拟合平面404上的数据点302的数目。将投影到最佳拟合平面404上的数据点302表示为投影数据点402。可以用参数形式z’=f(x’,y’)来表示投影数据点402,其中x’,y’,z’表示最佳拟合平面404的正交坐标系,其中x’和y’与最佳拟合平面404平行,z’垂直于最佳拟合平面404。
在步骤218,根据数据点的极限值(最外面的投影数据点402)来确定最佳拟合平面的边界。在图4中,所示出的最佳拟合平面具有从最外面的投影数据点402明显可见的边界。
在步骤220,通过本领域公知的编程方法,将栅格投影到图5所示的有界最佳拟合平面404上。投影到最佳拟合平面404上的栅格可以由N×M来表示,其中N和M是预定的栅格参数。预定的栅格参数(N×M)可以相同(N=M)或不同(N≠M)。
在步骤222,将由图5所示的栅格上的交点所定义的每一个栅格点502初始化,优选地初始化为零。这样,可以确定图5所示的每一个栅格点502的栅格点值。
在步骤224处,通过在预定区域5A中扫描投影的数据点402,可以确定图5所示的每一个栅格点502的值。所估值的栅格点502越多,结果越精确。然而,可以根据偏好来确定被估值的栅格点502的数目。预定区域5A可以包括最佳拟合平面404中投影数据点402的全集或其子集。预定区域5A可以由对应于栅格上的空格的优选单元(节点)数来表示。例如,优选的单元数16可以表示为图5中的4×4预定区域5A。可选择地,优选单元数16可以表示为2×8预定区域。
针对预定区域5A内的每一个投影数据点402,用该点到图5A所示的栅格点502的相应距离(di)标识并记录数据点值(Ei)。栅格点502的栅格点值(Gi)可以由下面的标准化计算方程来确定G=Σi=0n-1[1{Σi=0n-1(1d1)}di]Ei]]>其中Gi是每一个位置处的栅格点502的栅格点值,Gi基于位于预定区域5A内的每一个投影数据点402的数据点值(Ei)以及被估值的到栅格点502的距离(di)。这个方程对所有不等于零的距离(di)都是有效的。对于那些等于零的距离(di),给栅格点值(Gi)分配数据点值(Ei),因为它是准确获知的。因此在图5A中,使用每一个数据点值(E1,E2,E3,E4,E5)及被估值的其到栅格点502的各个距离(d1,d2,d3,d4,d5),来确定栅格点502的栅格点值(Gi)。通过移动预定区域5A,可以应用同样的过程来确定剩余的栅格点502的栅格点值,这样每一个被估值的栅格点502位于预定区域5A中的相同位置。对于靠近或在最佳拟合平面404的边界的栅格点502,除了预定区域5A可以部分地位于最佳拟合平面404外部以保持预定区域5A内相同的栅格点位置之外,以相同的方式来确定栅格点值。因此,在考虑确定靠近或在最佳拟合平面404的边界的栅格点502的值时,要扫描的投影数据点402不会出现在最佳拟合平面404外部。
在步骤226,一旦确定了所有的栅格点值(Gi),可以参考步骤228至236中描述的方式对栅格点值进行细化。
在步骤228,栅格密度增加(例如加倍),并使用前面的栅格点值(Gi)和本领域公知的内插技术,将新栅格点的新栅格点值(Gi’)线性内插到前面的栅格点502之间。
在步骤230,使用步骤214中描述的等式和预定区域(可以和图5所示的预定区域5A相同),来确定多个新的(最佳拟合)平面。换句话说,在每一个投影数据点402处,确定(计算)新的(最佳拟合)平面,以拟合周围预定区域内的投影数据点402和新栅格点。例如在图6中,x’表示与先前栅格间距相比在栅格密度上的增量。因此,新的(最佳拟合)平面602穿过周围预定区域内的投影数据点402A和新栅格点606A。同样地,新的(最佳拟合)平面604穿过周围预定区域内的投影数据点402B和新栅格点606B。这个步骤提高了步骤228中执行的内插的精确度,并且确定了每一个投影数据点402的新的(最佳拟合)平面。
在步骤232,通过使用重新评估的新栅格点值来取代预定区域内的每一个内插的新栅格点值,可以对内插的新栅格点值(Gi’)进行重新评估,其中重新评估的新栅格点值基于所有新栅格点值的加权平均,其中所有新栅格点与穿过预定区域和预定区域内的投影数据点的新的(最佳拟合)平面相交。例如在图6中,通过使用分别与新的(最佳拟合)平面602、604相交的新栅格点606A、606B的值的加权平均来取代先前内插的新栅格点值,可以确定新栅格点612的重新评估值,其中新的(最佳拟合)平面602、604分别穿过预定区域并包含投影数据点402A、402B。
在步骤234,可以将高斯核(Gaussian kernel)应用于每一个重新评估的新栅格点值,以平滑产生的重新评估的新栅格点值,使这些值具有更加自然的连续性。可以以本领域公知的方式来执行对重新评估的新栅格点值进行的高斯平滑。对高斯平滑处理的多种修改对于本领域的技术人员是显而易见的,并按照需要应用,以改进这里描述的平滑处理。
在步骤236,通过返回步骤222并重复之前描述的一些或全部步骤,可以进一步细化重新评估的新栅格点值中的至少一部分。然而,在重复步骤224时,预定区域5A步进地减小1,使得周围预定区域将表示为(4-1)×(4-1)。然而,如果不对重新评估的新栅格点值进行细化,那么过程前进到步骤238。同样,如果根据步骤226不对栅格点值进行细化,过程可以直接前进到步骤238。
在步骤238,可以针对控制点,对栅格点值和/或重新评估的新栅格点值进行采样。采样处理简单地选择步骤236所描述的过程的最后重复,这样可以选择最后确定的值作为控制点。例如在图7中,最佳拟合平面700可以包括栅格点702的多个值,这些值可以表示为Gi,Gi’,Gi2...Gin。相似地,例如栅格点704、706和708可以具有多个值。因此,可以整体或部分地对每一个栅格点最后确定的值的进行采样(选择)以产生一组控制点,用于以任意分辨率逼近可编辑(NURBS)曲面。
在步骤240,可以使用至少部分选择的控制点和用于创建NURBS曲面的通常公知的绘制技术,来描绘(绘制)可编辑曲面。用于描绘可编辑曲面的控制点越多,结果就越精确。换句话说,基于所使用的选择的控制点的数目,可以对可编辑曲面进行更加精确的最优逼近。然而,可以根据偏好来确定用于描绘可编辑曲面的控制点的数目。
例如在图8中,同时描绘了输入数据点802和可编辑曲面804以说明数据点802之间的空间关系,其中数据点802可以用于步骤202处的输入以逼近可编辑曲面804。数据点802包括表示预定对象(可编辑曲面曲线)的地震数据,它们可以以国际公开号No.WO02/37422和/或美国专利号No.6,765,570中描述的方式来手动地产生。可以按照需要或偏好,根据多种公知的地震绘制技术来细化输出分辨率。
在图9中,已经对图8中的图像进行了编辑,以示出部分数据点802和相应的可编辑曲面804,用于解释地震事件。
在图10中,数据点802已经被去除,从而仅显示了可编辑曲面804,也可以用于解释地震事件。
因此,本发明可以应用于地震数据的地球物理学分析。此外,本发明可以和国际公开号No.WO02/37422和/或美国专利号No.6,765,570中描述的一个和多个系统组件整合,用于从多个地震数据点创建可编辑曲面,其中地震数据点可以包括例如x、y、z的坐标和表示例如层面或断层的预定对象的数据值。作为本发明结果而自动绘制的地震图像表示可编辑NURBS曲面,可以对该曲面进行交互式的编辑和操作,并且与用于产生NURBS曲面的常规技术相比,该曲面可以降低输入数据点表现的信噪比。
然而,本发明也可以应用于其它类型的3D数据集,例如医疗数据和工程数据。因此,可以设想,在不背离由所附权利要求及其等同物所限定的本发明的精神和范围的前提下,可以对公开的实施例进行多种改变和/或修改。
权利要求
1.一种用于从3D数据集逼近可编辑曲面的方法,包括步骤从3D数据集选择3D点集;确定3D点集的最佳拟合平面;将至少一部分3D点集投影到最佳拟合平面上;根据投影的3D点集来确定最佳拟合平面的边界;将栅格投影到边界内的最佳拟合平面,该栅格包含多个栅格点;初始化栅格点;确定至少一部分栅格点的值;利用值来选择至少一部分栅格点;以及使用至少一部分选择的栅格点来描绘可编辑曲面。
2.根据权利要求1所述的方法,其中3D点集包括任意的曲面。
3.根据权利要求2所述的方法,还包括步骤将椭圆面拟合到3D点集;以及基于椭圆面来确定3D点集的主轴。
4.根据权利要求3所述的方法,其中主轴用于确定最佳拟合平面。
5.根据权利要求1所述的方法,其中3D点集包括3D数据集和部分3D数据集之一。
6.根据权利要求1所述的方法,其中最佳拟合平面由3D点集的主轴来确定。
7.根据权利要求1所述的方法,其中最佳拟合平面的边界由包含在投影的3D点集中的多个点极限值来确定。
8.根据权利要求1所述的方法,其中投影的栅格基于预定栅格参数。
9.根据权利要求1所述的方法,其中每一个栅格点由栅格上的交点来定义。
10.根据权利要求1所述的方法,其中栅格点被初始化为零。
11.根据权利要求1所述的方法,其中栅格点值由栅格点的预定区域内的投影的3D点集中的一个或多个点以及从预定区域中每一个点到栅格点的距离来确定。
12.根据权利要求1所述的方法,其中可编辑曲面表示3D点集到可编辑曲面的最优逼近。
13.根据权利要求1所述的方法,其中可编辑曲面表示NURBS曲面。
14.根据权利要求1所述的方法,还包括步骤细化所述至少一部分栅格点的至少一部分的值;以及基于值和细化值之一来选择至少一部分栅格点。
15.根据权利要求14所述的方法,还包括步骤对于使用值和细化值选择的栅格点,使用细化值来取代值。
16.根据权利要求1所述的方法,还包括步骤将3D数据集转换为3D点集。
17.一种用于从3D点集逼近可编辑曲面的方法,包括步骤确定3D点集的最佳拟合平面;将3D点集投影到最佳拟合平面上;根据3D点集来确定最佳拟合平面的边界;将栅格投影到边界内的最佳拟合平面,该栅格包含多个栅格点;将栅格点初始化为零;确定栅格点的值;细化至少一部分栅格点的值;基于值和细化值之一来选择至少一部分栅格点;以及使用选择的栅格点来描绘可编辑曲面,所述可编辑曲面表示3D点集到可编辑曲面的最优逼近。
18.根据权利要求17所述的方法,其中最佳拟合平面由3D点集的主轴来确定。
19.根据权利要求17所述的方法,其中最佳拟合平面的边界由包含在投影的3D点集中的多个点极限值来确定。
20.根据权利要求17所述的方法,其中投影的栅格基于预定栅格参数。
21.根据权利要求17所述的方法,其中每一个栅格点由栅格上的交点来定义。
22.根据权利要求17所述的方法,其中栅格点值由栅格点的预定区域内的投影的3D点集中的一个或多个点以及从预定区域中每一个点到栅格点的距离来确定。
23.根据权利要求17所述的方法,其中可编辑曲面表示NURBS曲面。
24.根据权利要求17所述的方法,还包括步骤对于使用值和细化值选择的栅格点,使用细化值来取代值。
25.根据权利要求22所述的方法,其中细化值的步骤包括通过增加栅格密度来形成新栅格,新栅格包含多个新栅格点;确定新栅格的值;将新平面拟合到新栅格点;重新评估新栅格点的值;以及平滑新栅格点的值。
26.根据权利要求25所述的方法,还包括步骤将新栅格点初始化为零;以及确定新栅格点的新值。
27.根据权利要求26所述的方法,其中新栅格点值由新栅格点的另一个预定区域内的3D点集中的一个或多个点以及从所述另一个预定区域中的每一个点到新栅格点的距离来确定,其中所述另一个预定区域小于所述预定区域。
28.根据权利要求26所述的方法,还包括步骤重复权利要求25中的步骤。
29.根据权利要求25所述的方法,其中对新平面加权。
30.根据权利要求25所述的方法,其中重新评估新栅格点的值。
31.根据权利要求25所述的方法,其中平滑新栅格点的值。
32.一种用于从3D数据集逼近可编辑曲面的系统,该系统包括被配置为存储指令程序的计算机可读存储介质,能够执行该程序指令以实现从3D数据集选择3D点集;确定3D点集的最佳拟合平面;将至少一部分3D点集投影到最佳拟合平面上;根据投影的3D点集来确定最佳拟合平面的边界;将栅格投影到边界内的最佳拟合平面,该栅格包含多个栅格点;初始化栅格点;确定至少一部分栅格点的值;利用值来选择至少一部分栅格点;以及使用至少一部分选择的栅格点来描绘可编辑曲面。
33.根据权利要求32所述的系统,其中3D点集包括任意的曲面。
34.根据权利要求33所述的系统,还包括步骤将椭圆面拟合到3D点集;以及基于椭圆面来确定3D点集的主轴。
35.根据权利要求34所述的系统,其中主轴用于确定最佳拟合平面。
36.根据权利要求32所述的系统,其中3D点集包括3D数据集和部分3D数据集之一。
37.根据权利要求32所述的系统,其中最佳拟合平面由3D点集的主轴来确定。
38.根据权利要求32所述的系统,其中最佳拟合平面的边界由包含在投影的3D点集中的多个点极限值来确定。
39.根据权利要求32所述的系统,其中投影的栅格基于预定栅格参数。
40.根据权利要求32所述的系统,其中每一个栅格点由栅格上的交点来定义。
41.根据权利要求32所述的系统,其中栅格点被初始化为零。
42.根据权利要求32所述的系统,其中栅格点值由栅格点的预定区域内的投影的3D点集中的一个或多个点以及从预定区域中的每一个点到栅格点的距离来确定。
43.根据权利要求32所述的系统,其中可编辑曲面表示3D点集到可编辑曲面的最优逼近。
44.根据权利要求32所述的系统,其中可编辑曲面表示NURBS曲面。
45.根据权利要求32所述的系统,还包括步骤细化所述至少一部分栅格点的至少一部分的值;以及基于值和细化值之一来选择至少一部分栅格点。
46.根据权利要求45所述的系统,还包括步骤对于使用值和细化值选择的栅格点,使用细化的值来取代值。
47.根据权利要求32所述的系统,还包括步骤将3D数据集转换为3D点集。
48.一种用于从3D点集逼近可编辑曲面的系统,该系统包括被配置为存储指令程序的计算机可读存储介质,能够执行程序指令以实现确定3D点集的最佳拟合平面;将3D点集投影到最佳拟合平面上;根据3D点集来确定最佳拟合平面的边界;将栅格投影到边界内的最佳拟合平面,该栅格包含多个栅格点;将栅格点初始化为零;确定栅格点的值;细化至少一部分栅格点的值;基于值和细化值之一来选择至少一部分栅格点;以及使用选择的栅格点来描绘可编辑曲面,所述可编辑曲面表示3D点集到可编辑曲面的最优逼近。
49.根据权利要求48所述的系统,其中最佳拟合平面由3D点集的主轴来确定。
50.根据权利要求48所述的系统,其中最佳拟合平面的边界由包含在投影的3D点集中的多个点极限值来确定。
51.根据权利要求48所述的系统,其中投影的栅格基于预定栅格参数。
52.根据权利要求48所述的系统,其中每一个栅格点由栅格上的交点来定义。
53.根据权利要求48所述的系统,其中栅格点值由栅格点的预定区域内的投影的3D点集中的一个或多个点以及从预定区域中的每一个点到栅格点的距离来确定。
54.根据权利要求48所述的系统,其中可编辑曲面表示NURBS曲面。
55.根据权利要求48所述的系统,还包括步骤对于使用值和细化值选择的栅格点,使用细化值来取代值。
56.根据权利要求53所述的系统,其中细化值的步骤包括通过增加栅格密度来形成新栅格,所述新栅格包含多个新栅格点;确定新栅格的值;将新平面拟合到新栅格点;重新评估新栅格点的值;以及平滑新栅格点的值。
57.根据权利要求56所述的系统,还包括步骤将新栅格点初始化为零;以及确定新栅格点的新值。
58.根据权利要求57所述的系统,其中新栅格点值由新栅格点的另一个预定区域内的3D点集中的一个或多个点以及从所述另一个预定区域中的每一个点到新栅格点的距离来确定,其中所述另一个预定区域小于所述预定区域。
59.根据权利要求57所述的系统,还包括步骤重复权利要求25中的步骤。
60.根据权利要求56所述的系统,其中加权新平面。
61.根据权利要求56所述的系统,其中重新评估新栅格点的值。
62.根据权利要求56所述的系统,其中平滑新栅格点的值。
全文摘要
公开了一种系统和方法,用于从3D数据集或3D点集自动地逼近可编辑曲面,该曲面可以以NURBS曲面的形式来描绘。
文档编号G06T17/30GK101052997SQ200580019487
公开日2007年10月10日 申请日期2005年4月29日 优先权日2004年4月29日
发明者肖恩·A·斯派塞, 徐子韬 申请人:哈利伯顿兰德马克绘图公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1