CN109559376B - 一种三维地形生成方法及装置 - Google Patents
一种三维地形生成方法及装置 Download PDFInfo
- Publication number
- CN109559376B CN109559376B CN201811393416.9A CN201811393416A CN109559376B CN 109559376 B CN109559376 B CN 109559376B CN 201811393416 A CN201811393416 A CN 201811393416A CN 109559376 B CN109559376 B CN 109559376B
- Authority
- CN
- China
- Prior art keywords
- terrain
- dimensional
- skeleton
- generating
- smoothing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Remote Sensing (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明实施例提供了一种三维地形生成方法及装置,在采集到的地形数据中,提取所述地形数据中各地形点的地形特征参数;基于所述地形特征参数,在预设的四叉树模型中生成三维地形的地形骨架;基于所述地形特征参数,将所述地形数据中符合规则格网分布的地形特征点插入到在所述四叉树模型中生成的地形骨架中;对插入所述地形特征点后的地形骨架进行平滑处理,生成三维地形。这样,可以提高三维地形的绘制速度,降低地形生成时间,加速地形简化,减少数据的运算量。
Description
技术领域
本发明涉及三维地图技术领域,尤其是涉及一种三维地形生成方法及装置。
背景技术
随着科学技术的不断发展,大规模地形场景的绘制以及三维真实感绘制技术逐渐成为国内外计算机图形学领域关注的热点,广泛应用在模拟飞行、虚拟战场、三维游戏等虚拟现实系统中。但是,目前对三维地形绘制的工作,涉及的数据不仅范围较广,而且逼真度需求较高,导致绘制工作负荷大,运算量大,而且绘制出的三维地形的流畅度和清晰度一直是亟待解决的问题。
发明内容
有鉴于此,本发明提供一种三维地形生成方法及装置,以提高三维地形的绘制速度,降低地形生成时间,加速地形简化,减少数据的运算量。
本发明实施例提供了一种三维地形生成方法,所述方法包括:
在采集到的地形数据中,提取所述地形数据中各地形点的地形特征参数;
基于所述地形特征参数,在预设的四叉树模型中生成三维地形的地形骨架;
基于所述地形特征参数,将所述地形数据中符合规则格网分布的地形特征点插入到在所述四叉树模型中生成的地形骨架中;
对插入所述地形特征点后的地形骨架进行平滑处理,生成三维地形。
进一步的,所述基于所述地形特征参数,在预设的四叉树模型中生成三维地形的地形骨架,包括:
基于所述地形特征参数,确定所述地形数据中符合预设地形分布的地形特征点;
基于符合预设地形分布的地形特征点,在预设的四叉树模型中生成三维地形的地形骨架。
进一步的,在所述对插入地形特征点后的地形骨架进行平滑处理,生成三维地形之后,所述方法包括:
对所述三维地形进行校正处理。
进一步的,所述对插入所述地形特征点后的地形骨架进行平滑处理,生成三维地形,包括:
使用以下公式对所述三维地形中的每个地形特征点进行加权平均计算:
其中,Vi为第i个地形点,Vj为Vi的邻接地形点,Ai为Vi的邻接地形点集合,m为Vi的邻接地形点集合中邻接地形点的数量,ΔVi为Vi的加权平均量;
使用以下公式计算Vi的平滑顶点:
Vi′=Vi+λΔVi;
其中,Vi′为替换Vi的平滑顶点,λ为第一平滑系数,0<λ<1;
使用计算出的Vi′替换所述三维地形中的Vi,完成所述三维地形的一次平滑处理。
进一步的,所述对插入所述地形特征点后的地形骨架进行平滑处理,生成三维地形,还包括:
在对所述三维地形进行预设次数的平滑处理后,在进行所述预设次数的下一次平滑处理时,使用以下公式计算Vi的平滑顶点:
Vi′=Vi+μΔVi;
其中,μ为第二平滑系数,μ<-λ。
进一步的,在所述对插入地形特征点后的地形骨架进行平滑处理,生成三维地形之后,所述方法包括:
对所述三维地形进行渲染处理。
本发明实施例还提供了一种三维地形生成装置,三维地形生成装置包括:
提取模块,用于在采集到的地形数据中,提取所述地形数据中各地形点的地形特征参数;
第一生成模块,用于基于所述地形特征参数,在预设的四叉树模型中生成三维地形的地形骨架;
插入模块,用于基于所述地形特征参数,将所述地形数据中符合规则格网分布的地形特征点插入到在所述四叉树模型中生成的地形骨架中;
第二生成模块,用于对插入所述地形特征点后的地形骨架进行平滑处理,生成三维地形。
进一步的,所述第一生成模块具体用于:
基于所述地形特征参数,确定所述地形数据中符合预设地形分布的地形特征点;
基于符合预设地形分布的地形特征点,在预设的四叉树模型中生成三维地形的地形骨架。
进一步的,所述三维地形生成装置包括:
校正模块,用于对所述三维地形进行校正处理。
进一步的,所述三维地形生成装置包括:
渲染模块,用于对所述三维地形进行渲染处理。
进一步的,所述第二生成模块具体用于:
使用以下公式对所述三维地形中的每个地形特征点进行加权平均计算:
其中,Vi为第i个地形点,Vj为Vi的邻接地形点,Ai为Vi的邻接地形点集合,m为Vi的邻接地形点集合中邻接地形点的数量,ΔVi为Vi的加权平均量;
使用以下公式计算Vi的平滑顶点:
Vi′=Vi+λΔVi;
其中,Vi′为替换Vi的平滑顶点,λ为第一平滑系数,0<λ<1;
使用计算出的Vi′替换所述三维地形中的Vi,完成所述三维地形的一次平滑处理。
进一步的,所述第二生成模块还用于:
在对所述三维地形进行预设次数的平滑处理后,在进行所述预设次数的下一次平滑处理时,使用以下公式计算Vi的平滑顶点:
Vi′=Vi+μΔVi;
其中,μ为第二平滑系数,μ<-λ。
本发明实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的三维地形生成方法的步骤。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述的三维地形生成方法的步骤。
本发明实施例提供的三维地形生成方法及装置,在采集到的地形数据中,提取所述地形数据中各地形点的地形特征参数;基于所述地形特征参数,在预设的四叉树模型中生成三维地形的地形骨架;基于所述地形特征参数,将所述地形数据中符合规则格网分布的地形特征点插入到在所述四叉树模型中生成的地形骨架中;对插入所述地形特征点后的地形骨架进行平滑处理,生成三维地形。与现有技术中的三维地形生成方式相比,本发明通过从采集的地形数据中提取地形特诊参数,并在四叉树模型中生成地形骨架,再将特定的地形特征点插入地形骨架,平滑处理后生成三维地形,这样可以提高三维地形的绘制速度,降低地形生成时间,加速地形简化,减少数据的运算量。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明一实施例提供的三维地形生成方法的流程图;
图2为本发明另一实施例提供的三维地形生成方法的流程图;
图3为本发明一实施例提供的三维地形生成装置的结构图之一;
图4为本发明一实施例提供的三维地形生成装置的结构图之二;
图5为本发明一实施例提供的电子设备的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
经研究发现,传统的三维地形绘制,涉及的数据不仅范围较广,而且逼真度需求较高,导致绘制工作负荷大,运算量大,而且绘制出的三维地形的流畅度和清晰度一直是亟待解决的问题。
基于此,本发明实施例提供一种三维地形生成方法,以提高三维地形的绘制速度,降低地形生成时间,加速地形简化,减少数据的运算量。
请参阅图1,图1为本发明一实施例提供的三维地形生成方法的流程图。如图1中所示,本发明实施例提供的三维地形生成方法,包括:
步骤101、在采集到的地形数据中,提取所述地形数据中各地形点的地形特征参数。
该步骤中,三维地形生成装置可以先获取到预先采集的地形数据,然后在预先采集到的地形数据中,来提取所述地形数据中包含的各个地形点的地形特征参数。
其中,地形数据,可以是预先通过全球定位系统(Global Positioning System,GPS)等方式采集到的地形中各地形点的数据。
其中,地形特征参数,可以是用于表示地形点特征的参数,如地形点的三维坐标、阴影度、地形性质等。
为了便于使用,采集到的地形数据,可以使用数字高程模型(DEM)以高程点记录格式进行存储,其包括一系列等间隔的地形高程值,在地形上按照网格规则采点,地形上的点被整齐地排列在网格上,并把各点的高程值按顺序存在文件中。其中高程点记录格式分为区域边界点记录和区域内部点记录,文件标准格式为:点名、点属性、北坐标、东坐标、高程值。
步骤102、基于所述地形特征参数,在预设的四叉树模型中生成三维地形的地形骨架。
该步骤中,所述三维地形生成装置在提取到所述地形特征参数后,为了便于计算和快速生成三维地形的地形骨架,所述三维地形生成装置可以从提取到的地形特征参数中,选取一定数量的地形特征参数,然后使用选取的一定数量的地形特征参数,在预设的四叉树模型中生成三维地形的地形骨架。
地形骨架是地形生成过程中的控制环节所在,在满足给定地形参数的条件下,决定了地形的整体结构和特征。
其中,选取一定数量的地形特征参数,可以是从提取到的地形特征参数中随机的选取表示一定数量地形点的地形特征参数,也可以是按照某种预设的选取规则,或者按照需要生成的地形骨架的规则等,来选取出一定数量地形点的地形特征参数。
本实施方式中,选择在四叉树模型中生成地形骨架,并且在后续过程中可以进一步的在四叉树模型中生成三维地形,可以减少数据的处理量,并且提高绘制速度,有利于后续数据的处理。
其中,四叉树模型,可以是把整个地形作为根节点,先把根节点分割成四等分的子块,如果检查到某个子块的所有格网都达到所要求的渲染或者数据处理等需求的精度,就不需要再往下分割;否则就把该子块再分割成四等分更小的子块,这样递归分割下去,直到所有子块中的地形格网都达到所要求的渲染或者数据处理等需求的精度,由此形成四叉树模型。四叉树的节点信息可以通过索引直接在数组中读取,同时还需要一个存储内容为:某个节点是否需要被继续分割的信息的数组,该数组应该和地形数据的数组大小相同,仅表示地形数组中某一点是否应该被再分割为更小的网格。
步骤103、基于所述地形特征参数,将所述地形数据中符合规则格网分布的地形特征点插入到在所述四叉树模型中生成的地形骨架中。
该步骤中,所述三维地形生成装置在生成所述地形骨架后,可以根据所述地形特征参数所表示的地形点的特征,来从采集到的所述地形数据中进行筛选,筛选出符合规则格网分布的地形特征点,接着可以使用种子填充算法将筛选出的地形特征点插入到在所述四叉树模型中生成的地形骨架中,即插入到四叉树模型中。
种子填充算法是利用栈结构的搜索算法,可以首先作区域内还是区域外的判断,然后选择区域内部的一象素点作为种子,然后首先将种子着色;接着以种子为基点搜索相邻的象素点,这里可以以4连通(或8连通)方式搜索相邻的象素点;每一个新搜索到的象素点在入队之前,都需要作两次判断:一个是是否在边界,另一个是是否已作过种子,均不满足条件的象素点就入队,否则丢弃;最后,队首的象素点出队,判断其是否已着色(是否重复入队),符合条件的着色并作为新的种子,进行新一轮搜索,如此反复,直到队列空,搜索结束。最后将符合上述筛选条件的地形点,按照划分插入到地形骨架中。
步骤104、对插入所述地形特征点后的地形骨架进行平滑处理,生成三维地形。
该步骤中,所述三维地形生成装置在将地形特征点插入到地形骨架之后,就可以对插入所述地形特征点后的地形骨架进行平滑处理,从而来构造三维地形的表面,以完整的生成三维地形。
地形的局部细节决定了地形的局部结构和形状,它是在地形骨架的基础上逐层产生的,通过插值及平滑处理,可以很好地描述地面形状的数据处理方法,并可用随机过程和几个可选参数产生需要的几何纹理细节。
本发明实施例提供的三维地形生成方法,在采集到的地形数据中,提取所述地形数据中各地形点的地形特征参数;基于所述地形特征参数,在预设的四叉树模型中生成三维地形的地形骨架;基于所述地形特征参数,将所述地形数据中符合规则格网分布的地形特征点插入到在所述四叉树模型中生成的地形骨架中;对插入所述地形特征点后的地形骨架进行平滑处理,生成三维地形。
与现有技术中的三维地形生成方式相比,本发明通过从采集的地形数据中提取地形特诊参数,并在四叉树模型中生成地形骨架,再将特定的地形特征点插入地形骨架,平滑处理后生成三维地形,这样可以提高三维地形的绘制速度,降低地形生成时间,加速地形简化,减少数据的运算量。
请参阅图2,图2为本发明另一实施例提供的三维地形生成方法的流程图。如图2中所示,本发明实施例提供的车三维地形生成方法,包括:
步骤201、在采集到的地形数据中,提取所述地形数据中各地形点的地形特征参数。
步骤202、基于所述地形特征参数,在预设的四叉树模型中生成三维地形的地形骨架。
步骤203、基于所述地形特征参数,将所述地形数据中符合规则格网分布的地形特征点插入到在所述四叉树模型中生成的地形骨架中。
步骤204、对插入所述地形特征点后的地形骨架进行平滑处理,生成三维地形。
其中,步骤201至步骤204的描述可以参照步骤101至步骤104的描述,对此不做赘述。
步骤205、对所述三维地形进行渲染处理。
该步骤中,在生成所述三维地形后,为了使得所述三维地形可以使用,并具有美观的观看效果,就可以对所述三维地形进行渲染处理。
其中,对所述三维地形进行渲染处理,可以使用倍率的方法,来达到对不同层次的地形结构进行不同分辨率的渲染。具体的,可以构建一与四叉树模型匹配的金字塔模型,来对所述三维地形进行渲染。虽然金字塔的底层和顶层表示的范围一样,但实际上底层分辨率要比顶层分辨率高。假定分辨率的公式定义为:假设地形数据原始的分辨率为R0,倍率为M,则第k层地形数据的分辨率为Rk=R0×M-k。
为了便于使用,可以将采集的地形数据以特定的存储方式进行存储,具体,可以是:
(1)金字塔模型中一层结构对应一个文件夹的数据,文件夹名称以层所在的层次命名。
(2)在同一层内以行为单位,即一行对应一个文件夹。
(3)一个分块对应一个数据文件,文件的名称以它所对应的块在该层的索引值决定。如一个文件对应某层第11行第01列的块,则该数据文件命名为“11_01.文件后缀”。
根据上述规则,假如一个在第6层第11行第01列的地形数据块,其对应文件的相对访问路径为“..\6\11\11_01.文件后缀”。系统在运行时,只要根据经纬度按照行列的计算公式,即可快速、准确定位所需的数据文件。
行计算公式:row=(abs(-90-latitude)%180)/tilesize
列计算公式:col=(abs(-180-longitude)%360)/tilesize
其中,latitude和longitude分别是某点的经度值和纬度值;tilesize则是在该分辨率级别下分块的大小,row表示行位置,col表示列位置,abs表示绝对值函数。
相应的,在渲染时,可以使用金字塔模型采用深度优先的方法进行渲染,具体步骤为:
(1)从第0层根节点开始判断是否初始化,如果第0层没有根节点则跳出程序,有则进入下一步;
(2)分别判断四个节点是否划分完毕,若没有划分完毕,则将该节点作为根节点,并进入第一步继续进行划分,若为划分完毕,则进入第三步;
(3)渲染对应区域的当前节点的数据;
(4)当第0层的四个子节点都完成遍历,完成渲染。
这样,将多分辨率地形数据与金字塔模型相结合,不仅可以为可视化系统提供不同分辨率的地形数据,而且能够加载实时动态数据,实现快速渲染,并且可以降低内存的消耗,使得普通电脑实现地形数据可视化成为可能。
在一些实施方式中,在步骤204之后,所述方法包括:
对所述三维地形进行校正处理。
其中,三维地形生成完毕后,为了准确使用这个地形,避免规则网格边缘处精度不高的问题,可以使用偏移高程算法对生成的三维地形的精度进行修补。具体的,可以确定一个初始的需要修补的地形点,先算出当前地形点的偏移均值向量,然后根据向量的方向和大小,移动该点到新的位置,并以此作为新的起始点继续移动,直到满足一定的条件(如精度条件)然后结束。其基本思想是,通过将特征空间中样本点最密集的区域,反复进行迭代搜索,使搜索沿着样本点密度增加的方向“漂移”到局部密度极大点。偏移算法是从密度函数梯度的非参数估计中推导得到的,而非参数估计则是从样本集出发对密度函数进行估计,它不需要任何先验知识,对任意形状的分布都有效。
在一些实施方式中,步骤202包括:
基于所述地形特征参数,确定所述地形数据中符合预设地形分布的地形特征点;基于符合预设地形分布的地形特征点,在预设的四叉树模型中生成三维地形的地形骨架。
该步骤中,所述三维地形生成装置可以根据提取到的所述地形特征参数,按照需要生成的三维地形的地形分布以及地形参数等,从所述地形数据中筛选出符合预设地形分布的地形特征点,然后根据地形分布的规则和刷选出的地形特征点,通过拟合在预设的四叉树模型中生成三维地形的地形骨架。
在一些实施方式中,步骤204包括:
使用以下公式对插入所述地形骨架中的每个地形特征点进行加权平均计算:
使用以下公式计算Vi的平滑顶点:
Vi′=Vi+λΔVi,其中,Vi′为替换Vi的平滑顶点,λ为第一平滑系数,0<λ<1;
使用计算出的Vi′替换所述三维地形中的Vi,完成对插入所述地形特征点后的地形骨架的一次平滑处理;完成多次平滑处理后,生成三维地形。
由于构造三维图形时一般都需要进行表面描述,即需要通过一定的方法对图形进行平滑处理,才能达到比较满意的效果,本实施方式中,可以是通过平滑算法地形骨架进行平滑处理,来生成三维地形。
具体的,可以通过一个平滑算法模型,首先构建平滑算法模型,平滑算法模型由若干个三角面组成,V表示模型中的顶点集,每一个顶点由一个三元组组成,表示顶点的三维坐标,令Vi(x,y,z)T表示模型的第i个顶点,T表示模型中的三角面集合,每一个三角面由一个三元组组成,表示组成一个三角面的的三个顶点的序号,令Ti(t1,t2,t3)T表示第i个三角面;A表示顶点的邻接顶点的列表集,令Ai表示第i个顶点的邻接列表集。其中,模型中的定点即可以理解为三维地形中的地形特征点。
顶点的邻接顶点列表集A是平滑处理时一个关键的数据结构。按对称性分成对称邻域结构和非对称邻域结构,即对于每一个Vi,如果Vj在Ai中,Vi也在Aj中,则称这种邻域为对称邻域结构,否则就称之为非对称邻域结构。这里我们采用的是对称邻域结构方法。
在进行平滑处理时,对于所述地形骨架中的每个地形特征点,使用公式进行加权平均计算,来得到每个地形特征点Vi的的加权平均量ΔVi,其中,Vi为第i个地形点,Vj为Vi的邻接地形点,Ai为Vi的邻接地形点集合,m为Vi的邻接地形点集合中邻接地形点的数量,ΔVi为Vi的加权平均量。
接着,使用公式Vi′=Vi+λΔVi计算Vi的平滑顶点,其中,Vi′为替换Vi的平滑顶点,λ为第一平滑系数,0<λ<1;
然后使用计算出的Vi′替换所述三维地形中的Vi,完成对插入所述地形特征点后的地形骨架的一次平滑处理,按照上述三个步骤完成多次平滑处理后,即可得到满意的平滑效果,从而生成平滑完整的三维地形。
但是,由于上述的平滑过程,会引起模型向中心缩小,因此需要在进行平滑的过程中,进行校正处理,因此,步骤204还包括:
在按照上述三个步骤对所述三维地形进行预设次数的平滑处理后,在进行所述预设次数的下一次平滑处理时,使用以下公式计算Vi的平滑顶点:
Vi′=Vi+μΔVi,其中,μ为第二平滑系数,μ<-λ。
其中,预设次数,可以是根据精度需求,以及第一平滑系数和第二平滑系数的设置,进行调整。
本实施方式中,所述预设次数可以为一次,即在按照上述三个步骤对所述三维地形进行一次平滑处理后,在第二次平滑处理的时候,使用Vi′=Vi+μΔVi替换上述三个步骤中第二步的Vi′=Vi+λΔVi来计算Vi,此时,λ为0.33,μ为-0.34。
本发明实施例提供的三维地形生成方法,在采集到的地形数据中,提取所述地形数据中各地形点的地形特征参数;基于所述地形特征参数,在预设的四叉树模型中生成三维地形的地形骨架;基于所述地形特征参数,将所述地形数据中符合规则格网分布的地形特征点插入到在所述四叉树模型中生成的地形骨架中;对插入所述地形特征点后的地形骨架进行平滑处理,生成三维地形;对所述三维地形进行渲染处理。
与现有技术中的三维地形生成方式相比,本发明通过从采集的地形数据中提取地形特征参数,并在四叉树模型中生成地形骨架,再将特定的地形特征点插入地形骨架,平滑处理后生成三维地形并进行渲染,这样可以提高三维地形的绘制速度和渲染速度,降低地形生成时间,加速地形简化,减少数据的运算量。
请参阅图3,图3为本发明一实施例提供的三维地形生成装置的结构图之一,图4为本发明一实施例提供的三维地形生成装置的结构图之二。如图3中所示,所述辅助装置300包括:
提取模块310,用于在采集到的地形数据中,提取所述地形数据中各地形点的地形特征参数;
第一生成模块320,用于基于所述地形特征参数,在预设的四叉树模型中生成三维地形的地形骨架。
插入模块330,用于基于所述地形特征参数,将所述地形数据中符合规则格网分布的地形特征点插入到在所述四叉树模型中生成的地形骨架中。
第二生成模块340,用于对插入所述地形特征点后的地形骨架进行平滑处理,生成三维地形。
进一步的,所述第一生成模块320具体用于:
基于所述地形特征参数,确定所述地形数据中符合预设地形分布的地形特征点。
基于符合预设地形分布的地形特征点,在预设的四叉树模型中生成三维地形的地形骨架。
进一步的,如图4中所示,所述三维地形生成装置300包括:
校正模块350,用于对所述三维地形进行校正处理。
进一步的,如图4中所示,所述三维地形生成装置300包括:
渲染模块360,用于对所述三维地形进行渲染处理。
进一步的,所述第二生成模块340具体用于:
使用以下公式对所述三维地形中的每个地形特征点进行加权平均计算:
其中,Vi为第i个地形点,Vj为Vi的邻接地形点,Ai为Vi的邻接地形点集合,m为Vi的邻接地形点集合中邻接地形点的数量,ΔVi为Vi的加权平均量;
使用以下公式计算Vi的平滑顶点:
Vi′=Vi+λΔVi;
其中,Vi′为替换Vi的平滑顶点,λ为第一平滑系数,0<λ<1;
使用计算出的Vi′替换所述三维地形中的Vi,完成所述三维地形的一次平滑处理。
进一步的,所述第二生成模块具体还用于:
在对所述三维地形进行预设次数的平滑处理后,在进行所述预设次数的下一次平滑处理时,使用以下公式计算Vi的平滑顶点:
Vi′=Vi+μΔVi;
其中,μ为第二平滑系数,μ<-λ。
本实施例中的辅助装置300,可以实现如图1和图2所示实施例中的三维地形生成方法的全部方法步骤,并可以达到相同的效果,在此不做赘述。
本发明实施例提供的三维地形生成装置,在采集到的地形数据中,提取所述地形数据中各地形点的地形特征参数;基于所述地形特征参数,在预设的四叉树模型中生成三维地形的地形骨架;基于所述地形特征参数,将所述地形数据中符合规则格网分布的地形特征点插入到在所述四叉树模型中生成的地形骨架中;对插入所述地形特征点后的地形骨架进行平滑处理,生成三维地形。
与现有技术中的三维地形生成方式相比,本发明通过从采集的地形数据中提取地形特诊参数,并在四叉树模型中生成地形骨架,再将特定的地形特征点插入地形骨架,平滑处理后生成三维地形,这样可以提高三维地形的绘制速度,降低地形生成时间,加速地形简化,减少数据的运算量。
请参阅图5,图5为本发明一实施例提供的电子设备的结构图。如图5中所示,所述电子设备500包括处理器510、存储器520和总线530。
所述存储器520存储有所述处理器510可执行的机器可读指令,当电子设备500运行时,所述处理器510与所述存储器520之间通过总线530通信,所述机器可读指令被所述处理器510执行时,可以执行如上述图1以及图2所示方法实施例中的车辆稳定辅助方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1以及图2所示方法实施例中的车辆稳定辅助方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (9)
1.一种三维地形生成方法,其特征在于,所述方法包括:
在采集到的地形数据中,提取所述地形数据中各地形点的地形特征参数;
基于所述地形特征参数,在预设的四叉树模型中生成三维地形的地形骨架;
基于所述地形特征参数,将所述地形数据中符合规则格网分布的地形特征点插入到在所述四叉树模型中生成的地形骨架中;
对插入所述地形特征点后的地形骨架进行平滑处理,生成三维地形;
所述对插入所述地形特征点后的地形骨架进行平滑处理,生成三维地形,包括:
使用以下公式对插入所述地形骨架中的每个地形特征点进行加权平均计算:
其中,Vi为第i个地形点,Vj为Vi的邻接地形点,Ai为Vi的邻接地形点集合,m为Vi的邻接地形点集合中邻接地形点的数量,ΔVi为Vi的加权平均量;
使用以下公式计算Vi的平滑顶点:
Vi′=Vi+λΔVi;
其中,Vi′为替换Vi的平滑顶点,λ为第一平滑系数,0<λ<1;使用计算出的Vi′替换所述三维地形中的Vi,完成对插入所述地形特征点后的地形骨架的一次平滑处理;
完成多次平滑处理后,生成三维地形。
2.如权利要求1所述的方法,其特征在于,所述基于所述地形特征参数,在预设的四叉树模型中生成三维地形的地形骨架,包括:
基于所述地形特征参数,确定所述地形数据中符合预设地形分布的地形特征点;
基于符合预设地形分布的地形特征点,在预设的四叉树模型中生成三维地形的地形骨架。
3.如权利要求1所述的方法,其特征在于,在所述对插入地形特征点后的地形骨架进行平滑处理,生成三维地形之后,所述方法包括:
对所述三维地形进行校正处理。
4.如权利要求1所述的方法,其特征在于,所述对插入所述地形特征点后的地形骨架进行平滑处理,生成三维地形,还包括:
在对所述三维地形进行预设次数的平滑处理后,在进行所述预设次数的下一次平滑处理时,使用以下公式计算Vi的平滑顶点:
Vi′=Vi+μΔVi;
其中,μ为第二平滑系数,μ<-λ。
5.如权利要求1所述的方法,其特征在于,在所述对插入地形特征点后的地形骨架进行平滑处理,生成三维地形之后,所述方法包括:
对所述三维地形进行渲染处理。
6.一种三维地形生成装置,其特征在于,三维地形生成装置包括:
提取模块,用于在采集到的地形数据中,提取所述地形数据中各地形点的地形特征参数;
第一生成模块,用于基于所述地形特征参数,在预设的四叉树模型中生成三维地形的地形骨架;
插入模块,用于基于所述地形特征参数,将所述地形数据中符合规则格网分布的地形特征点插入到在所述四叉树模型中生成的地形骨架中;
第二生成模块,用于对插入所述地形特征点后的地形骨架进行平滑处理,生成三维地形;
所述第二生成模块具体用于:
使用以下公式对所述三维地形中的每个地形特征点进行加权平均计算:
其中,Vi为第i个地形点,Vj为Vi的邻接地形点,Ai为Vi的邻接地形点集合,m为Vi的邻接地形点集合中邻接地形点的数量,ΔVi为Vi的加权平均量;
使用以下公式计算Vi的平滑顶点:
Vi′=Vi+λΔVi;
其中,Vi′为替换Vi的平滑顶点,λ为第一平滑系数,0<λ<1;
使用计算出的Vi′替换所述三维地形中的Vi,完成所述三维地形的一次平滑处理。
7.如权利要求6所述的三维地形生成装置,其特征在于,所述第一生成模块具体用于:
确定单元,用于基于所述地形特征参数,确定所述地形数据中符合预设地形分布的地形特征点;
生成单元,用于基于符合预设地形分布的地形特征点,在预设的四叉树模型中生成三维地形的地形骨架。
8.如权利要求6所述的三维地形生成装置,其特征在于,三维地形生成装置包括:
校正模块,用于对所述三维地形进行校正处理。
9.如权利要求6所述的三维地形生成装置,其特征在于,三维地形生成装置包括:
渲染模块,用于对所述三维地形进行渲染处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811393416.9A CN109559376B (zh) | 2018-11-21 | 2018-11-21 | 一种三维地形生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811393416.9A CN109559376B (zh) | 2018-11-21 | 2018-11-21 | 一种三维地形生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109559376A CN109559376A (zh) | 2019-04-02 |
CN109559376B true CN109559376B (zh) | 2020-11-24 |
Family
ID=65867008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811393416.9A Active CN109559376B (zh) | 2018-11-21 | 2018-11-21 | 一种三维地形生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109559376B (zh) |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7564455B2 (en) * | 2002-09-26 | 2009-07-21 | The United States Of America As Represented By The Secretary Of The Navy | Global visualization process for personal computer platforms (GVP+) |
CN100468461C (zh) * | 2005-11-10 | 2009-03-11 | 北京航空航天大学 | 逼真三维地形几何模型的实时绘制方法 |
AU2008357712B2 (en) * | 2008-06-09 | 2012-09-06 | Landmark Graphics Corporation | Distribution of properties in a 3D volumetric model using a maximum continuity field |
CN101694726B (zh) * | 2009-10-20 | 2012-01-11 | 北京航空航天大学 | 一种基于多源地形数据的融合与绘制方法 |
CN102074050A (zh) * | 2011-03-01 | 2011-05-25 | 哈尔滨工程大学 | 大规模地形绘制的分形多分辨率简化方法 |
CN102521882A (zh) * | 2011-12-05 | 2012-06-27 | 西北工业大学 | 基于离散高程和自适应混合加权得到海床地形数据的方法 |
CN102819568B (zh) * | 2012-07-18 | 2015-03-11 | 哈尔滨工程大学 | 基于地形采样点位置的海底地形数据建立方法 |
CN102867331A (zh) * | 2012-08-31 | 2013-01-09 | 电子科技大学 | 面向gpu的大规模地形快速绘制方法 |
CN103093497A (zh) * | 2013-01-09 | 2013-05-08 | 吉林大学 | 基于分层轮廓的lidar数据城市快速重建方法 |
CN105336003B (zh) * | 2015-09-28 | 2018-05-25 | 中国人民解放军空军航空大学 | 结合gpu技术实时流畅绘制出三维地形模型的方法 |
CN106569260B (zh) * | 2015-10-10 | 2019-01-08 | 中国石油化工股份有限公司 | 针对高陡构造地区二维地震变速空校成图方法 |
CN106327577B (zh) * | 2016-08-17 | 2018-02-02 | 中国地质大学(武汉) | 基于局部曲率熵和四叉树结构的三维地形曲面优化方法 |
CN108198143B (zh) * | 2017-12-28 | 2021-08-27 | 中国测绘科学研究院 | 一种去LoD层级约束的三维地形裂缝消除方法 |
-
2018
- 2018-11-21 CN CN201811393416.9A patent/CN109559376B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109559376A (zh) | 2019-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20140152664A1 (en) | Method of rendering a terrain stored in a massive database | |
CN107967713A (zh) | 基于空间点云数据的建筑物三维模型构建方法和系统 | |
US20170116780A1 (en) | Method for rendering terrain | |
TW201001333A (en) | Geospatial modeling system providing poisson-based void inpainting and related methods | |
CN112102467B (zh) | 一种基于gpu的并行八叉树生成、装置及电子设备 | |
CN107885787B (zh) | 基于谱嵌入的多视角特征融合的图像检索方法 | |
US11189096B2 (en) | Apparatus, system and method for data generation | |
CN106407682A (zh) | 土壤采样点确定方法及装置 | |
CN109447897B (zh) | 一种真实场景图像合成方法及系统 | |
US9690885B2 (en) | Interactive visualization of reservoir simulation data sets | |
CN109559376B (zh) | 一种三维地形生成方法及装置 | |
CN111402422B (zh) | 三维表面重建方法、装置和电子设备 | |
CN115953541B (zh) | 一种四叉树lod地形生成方法、装置、设备及存储介质 | |
CN106202247B (zh) | 一种基于经纬度的碰撞检测方法 | |
CN115082641B (zh) | 一种基于网格化多邻域插值的点云栅格化方法及装置 | |
CN103295266A (zh) | 一种基于距离加权最小折叠代价的三维模型边折叠简化的方法 | |
CN113342999A (zh) | 一种基于多层跳序树结构的变分辨率点云简化方法 | |
IL280826B1 (en) | Determining the boundary wall surface of a cavity of an organ | |
EP1602075A2 (en) | Visual simulation of dynamic moving bodies | |
Sin et al. | Planetary marching cubes: A marching cubes algorithm for spherical space | |
CN112784433B (zh) | 一种基于腐蚀的分级模拟退火建模方法 | |
CN117237503B (zh) | 一种地理要素数据加速渲染及装置 | |
CN117095134B (zh) | 一种三维海洋环境数据插值处理方法 | |
TWI786874B (zh) | 數值網格模型之方法及其系統 | |
CN114972686A (zh) | 一种沿城市道路采样的电磁辐射地理环境制图方法、装置、计算可读存储介质及计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |