一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种用于地质面的曲面拼接方法与流程

2023-07-22 09:11:40 来源:中国专利 TAG:


1.本发明涉及数学地质、计算几何、计算机图形学、数值模拟与计算等领域,尤其是一种用于地质面的曲面拼接方法。


背景技术:

2.地质面拼接,是指将两个相邻的局部地质面拼接为一个整体地质面。地质面光滑拼接,则进一步要求相邻地质面在重合区域内的形状基本一致。之所以需要对地质面进行拼接,是因为复杂的地质面往往存在多重值问题,这样就不得不将地质面分成若干局部地质面并为它们分别建立网格面模型,最后再将各个网格面拼接起来。目前,国内外学者已经对曲面(网格面是曲面的一种)拼接有了深入研究,并提出了一些曲面光滑拼接技术,但是这些技术往往只针对特定曲面,且没有考虑多坐标系交互的问题,都是在同一坐标系下执行曲面光滑拼接操作。
3.离散光滑插值算法(dsi)是mallet学者于1989年提出的,专为建模自然物体的几何形状和物理特性而设计的,经过发展,离散光滑插值算法已经成为地质三维建模领域的核心技术。离散光滑插值算法的主要思想是,在使目标函数最小的前提下,利用已知点集l的属性值,求未知点集i的属性值,从而得到符合要求的属性函数属性函数中可以包含多种属性,比如在地质三维建模过程中常用到的顶点空间坐标、渗透率、地震强度、切向量和法向量等。
4.在地质三维建模领域中,离散光滑插值算法能够较好地解决单值和多值曲面的生成问题,适用于构建空间几何模型和属性模型,而且支持多源地质数据的融合和各式各样的空间约束关系,比如法向量约束等。但是,该算法时间复杂度较高,执行速度较慢。


技术实现要素:

5.本发明的目的在于:在不同坐标系下根据多源地质数据生成地质面并进行光滑拼接。以往的方法大多只支持一种或两种地质数据,而且很少考虑坐标系的因素,或是在同一坐标系下进行地质面拼接。本发明的输入条件为各地质研究机构给出的k个地质面的数据,包括钻孔数据、地质剖面图数据和断层数据,用以描述地质面的几何与拓扑特征。通过算法的处理,在k个局部坐标系中生成与输入的地质面数据高度拟合的光滑网格面,并且相邻网格面在重合区域内是无缝拼接的,从而将k个网格面拼接为一个整体,用以模拟现实的地质面,供地质研究人员进行观察分析。
6.本发明的方法可以概括为:通过分区处理输入的多个地质面数据,形成初始网格面,在每个面的目标点集上建立记录着包括坐标和渗透率在内的所有属性值的向量函数,形成各自线性约束,并收集每个地质面在重合区域内的形状信息作为新的约束,使得每个地质面在重合区域内同时受到自己的控制点数据和其他地质面的形状信息牵引,最终在这些牵引力的作用下,使得地质面在重合区域内的形状一致,从而达到光滑拼接的效果。
7.与现有技术相比所具有的优点是:
8.方法简单易于实现,计算量小,可靠性好,利用协同离散光滑插值算法实现了局部坐标系下的多个地质面的光滑拼接,能保证多个地质面在重合区域内的形状趋于一致,且每个地质面在非重合区域内的构造效果不变,便于在此发明的基础上实现任意形式的地质面的光滑拼接。
附图说明
9.图1是摘要附图;
10.图2是多重值问题示意图;
11.图3是初始网格面;
12.图4是重合区域内的网格点集;
13.图5是拼接后但未经边界裁剪的光滑地质面;
14.图6是凸包示意图;
15.图7是拼接后且经过边界裁剪的光滑地质面;
具体实施方式
16.本方法详细介绍了一种用于地质面的曲面拼接方法,包括如下步骤:
17.首先是步骤200输入多个地质面的数据。地质面是三维地质模型中的重要一类,包含地层面、断层面等曲面。地质面数据包含钻孔数据、地质剖面图数据、断层数据。钻孔数据是地质研究人员在野外钻探现场记录并整理的第一手技术资料,它对于三维地质面模型的生成起到了直接或间接校正作用,是三维地质面建模过程中最为重要的一类地质数据。地质剖面图数据是地质研究人员利用收集到的地球物理勘探资料、地震剖面特征和测井数据,并结合地质学知识解释分析后得到的地层和断层在剖面上的构造分布图。断层数据则主要包括断层观测点、断层产状、断棱、断层边界线和断层面等数据。从输入的上述三类地质面数据中可以提取到地质面上某些关键点(称之为控制点)的坐标和地质面在控制点处的法向量等信息,这些信息可以较好地反映地质面的几何形状和物理属性。将这些控制点和法向量的信息转化为约束条件,施加于计算机生成三维地质模型的过程中,就可以引导计算机构建出能够较好模拟地质面特性的三维地质模型。
18.步骤210是处理地质面数据,为每个地质面构建最小二乘坐标系,并生成多个初始地质面。首先是处理地质面数据,得到控制点数据、法向量数据。地质面数据分为钻孔数据、地质剖面图数据和断层数据三种,钻孔数据本质上就是一些分布在地质面周围的点数据,因此每个钻孔点都是一个控制点,应该让计算机构建的光滑地质面尽可能接近这些控制点。地质剖面图数据主要包括地层线、断层线、辅助线等线数据,为了确保地质面尽可能接近这类线,可以对每条线按照一定的加密密度进行采样取点,从而得到一批点数据,并将这些点作为控制点来约束地质面的构建。断层数据相较于前两种地址数据更为复杂,需要分类讨论。断层数据主要有断层观测点、断层产状、断棱、断层边界线和断层面等,而能够应用到光滑地质面建模中的只有断层观测点数据、断层产状数据和断层数据。断层观测点数据可类比钻孔数据的处理方式,将其转化为控制点数据;断棱数据与地质剖面图数据的地层线、断层线和辅助线等线数据类似,可以采用相同的处理方式;断层产状数据给出了断层面在某点处的倾向、倾角和走向信息,根据这些信息可计算出地质面在该点应有的法向量,得
到地质面在某点的法向量数据。
19.其次是为每个地质面构建最小二乘坐标系。上文曾提及,地质面数据大多存储在由地质研究机构设定的各式各样的建模局部坐标系下,因此我们需要将各种坐标系下的数据转移到同一坐标系下,即球系坐标系下,从而将来自不同地质研究机构的地质数据统一起来。但是,在实际建模过程中又会出现多重值问题,即在复杂地质面中,存在同一(x,y)坐标对应多个高程值z的情况,如图2所示。这种情况往往不能通过常规的建模方式来解决。解决方案是,将地质面切分为几个部分,每部分均无多重值问题,从而可以分别为各个局部地质面建模,最后再将局部地质面拼接起来得到理想的整体地质面。在对各个局部地质面建模时,将基于各个局部地质面的控制点数据,为每个局部地质面建立最小二乘坐标系,而不是各个局部地质面共用同一个坐标系。最小二乘坐标系的构建过程如下:
20.1)计算控制点的重心;
21.2)计算出相对于重心的控制点数据的协方差矩阵以及该矩阵的最小特征值所对应的特征向量,该向量就是最小二乘平面的法向量;
22.3)查找法向量中不为0的分量,并在该分量所对应的坐标轴上寻到最小二乘平面上的另一个点数据,再将该点与重心所构成的单位向量作为x轴正向,法向量作为z轴正向,重心作为坐标原点;
23.4)借助右手螺旋定则,叉乘得到y轴正向(z
×
x),从而成功构建出精准的最小二乘坐标系。
24.通过上述方法构建起来的最小二乘坐标系,确保了坐标系中的控制点到坐标系原点的平均距离最短,避免了使用大坐标系时可能会出现的控制点坐标分量数值较大从而带来较大的计算误差的问题。
25.最后,在各个最小二乘坐标系下构建初始网格面。首先要将处理地质面数据后得到的控制点数据和法向量数据转换到最小二乘坐标系下,收集各个控制点坐标的x分量和y分量的最小值和最大值,这样就可以构建出一个最小的矩形将全部控制点包围起来,这个最小矩形就是初始网格面的外轮廓。然后,根据网格加密宽度划分网格面,将外轮廓所包围的矩形区域划分为一个个小矩形网格,并得到所有网格的顶点——网格点。容易发现,采用这种方法划分网格可以直接确定网格点坐标的x、y分量,因此只需要迭代求解得出z分量的值,就可以确定网格点的位置,进而构建出整个网格面了。最后,统计控制点坐标z分量的平均值,并把该值作为初始值赋给网格点坐标z分量,这样就构造出了一个初始网格面,如图3所示。但是这一网格面并不能很好地满足控制点约束和法向量约束,因此需要通过迭代求解不断修改各网格点的z分量值,以得到更优的网格面。
26.步骤220是建立属性函数和重合区域内线性约束,并内层迭代求解生成网格地质面。令输入的地质面个数为k个,基于k个地质面数据建立属性函数线性方程组的基本策略如下:
27.假设地质面i(i=1,2,......,k)的网格点集ωi中有mi个节点,每个节点α有ni个属性分量,属性函数是定义在节点集ω上的向量函数,记录着每个节点的所有属性值,如它们的空间位置(x,y,z),渗透率,震源强度等,因此属性函数由ni·
mi个属性值组成,每个属性值对应一个线性约束并由此组成ni·
mi维线性
方程组接着将这k个矩阵{bi,i=1,2,......,k}组成分块对角阵同理得到属性函数以及向量浅拷贝一份得到
28.对于重合区域,收集每个地质面在重合区域内的形状信息,并转化为线性约束。这里以求地质面i和地质面j的重合部分为例,首先通过以下三步获取地质面i位于重合区域内的网格点数据:
29.1)对于地质面i上的各网格点数据,在最小二乘坐标系下,判断其是否位于地质面i的凸包多边形内。如果是,则保留,否则,则丢弃无用信息。;
30.2)将第一步收集到的网格点数据坐标转换到球系坐标系下。然后再依次转换到地质面j所处的最小二乘坐标系下;
31.3)在地质面j所处的最小二乘坐标系下,遍历点集中的所有网格点,判断他们是否位于地质面j的凸包多边形内。如果是,则保留,否则,则丢弃无用信息。
32.通过上述步骤,得到重合区域内网格点集,如图4所示。
33.为了确保地质面在重合区域内的形状趋于一致,我们需要让地质面i在重合区域内的网格点数据尽可能出现在地质面j上,我们会将这些网格点数据转换为模糊控制三角约束,具体构建方式如下(以网格点为例):
34.1)将网格点p坐标转换到地质面j所在的最小二乘坐标系下,得到点p


35.2)将点p

投影在地质面j上,得到投影点ip。该投影点ip可由地质面j上的某三角分区p(s)上的三个顶点(α0,α1,α2)线性表示为其中{λ0(ip),λ1(ip),λ2(ip)}是重心坐标,构建模糊控制三角约束该约束的目的是希望在同一坐标系下网格点p与投影点ip在空间位置属性{x,y,z}上的差异为0.0。
36.我们利用离散光滑插值算法dsi不断更新线性方程组属性函数的值,而不需要对上述约束形式做任何变动,设置每轮迭代次数iters,内层更新属性函数的步骤具体如下:
37.1)逐顶点更新线性方程组中与参数gv(αi)和有关的项;
38.2)逐顶点更新线性方程组中与参数γv(αi)和有关的项;
39.3)如果节点α是地质面i上的节点,而且发现在其属性值的更新过程中,需要引入地质面j上的节点的属性值参与计算(说明节点α的属性值参与了如所示的这种跨不同地质面的线性约束),就自动将节点β坐标转换到地质面i所在的最小二乘坐标系下得到新点β

,使用新点β

的空间坐标进行计算。
40.4)如果节点α是地质面j上的节点,而且发现在其属性值的更新过程中,需要引入地质面i上的节点的属性值参与计算(说明节点α的属性值
参与了如所示的这种跨不同地质面的线性约束),就自动将节点β坐标转换到地质面j所在的最小二乘坐标系下得到新点β

,使用新点β

的空间坐标进行计算。
41.不断迭代直到到达最大迭代轮数iters或网格提前收敛。
42.步骤230是根据步骤220的结果,重新统计每个地质面在重合部分的形状信息,并将这些信息转化为新的约束,对线性方程组进行更新优化,直到达到外层最大迭代次数。由于网格点p的属性值在迭代过程中不断更新,这导致转换到地质面j所在的最小二乘坐标系下点p

在j上的投影点ip是变动的,上述线性约束的表示形式也需要进行相应的改变,具体策略为:令最大迭代轮数为rounds,每轮都要重新计算每个地质面在重合区域的形状信息,并将这些信息转化为新的线性约束,进而更新线性方程组重复步骤220直至达到最大迭代轮数为rounds,使得每个地质面在重合区域内同时受到自己的控制点数据和其他地质面的网格点数据的牵引,最终,在这些牵引力的相互作用下,最终生成保证多个地质面在重合区域内的形状趋于一致且每个地质面在非重合区域内的构造效果不变的地质面,如图5所示。
43.步骤240是获取多个地质面的网格点数据,并分别进行边界裁剪。多次迭代执行步骤220和步骤230后得到的网格面能够较好地满足控制点约束和法向量约束,能够在几何形状和物理属性上更好地拟合真实的地质面。而且由于已经将相邻网格面在重合部分的形状作为一种约束施加给建模过程,这就使得各网格面构建完成之后,就与相邻网格面是无缝拼接在一起的,从而免除了对各个网格面专门进行拼接的步骤,提高了计算效率。步骤210中曾提及,各个初始网格面的外轮廓是矩形,这就决定了经过若干次迭代后得到的更优的网格面的外轮廓也是矩形的,但实际的地质面形状很少是矩形,这就需要对矩形的网格面进行边界裁剪,保证网格面的边界与地质面的实际构造情况一致。
44.边界裁剪操作由两步组成。第一步,在最小二乘坐标系下对控制点求凸包,凸包是计算几何的概念,可以将凸包简单理解为由最外层的控制点相互连接而成的凸多边形,如图6所示,它能够包含所有的控制点。本发明采用scan convex hull算法求控制点凸包,并将凸包当作地质面的实际边界。第二步,将第一步得到的凸包与初始网格面在xoy平面上求交,裁剪掉初始网格面突出边界的区域,并插值计算新增的边界网格点的坐标z分量值,保证网格面的边界形状与凸包多边形一致,以得到符合实际地质构造的地质面。效果如图7所示。
45.当然,本发明还可以有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表