CN107945273B - 地形网格的处理方法和装置、存储介质及终端 - Google Patents
地形网格的处理方法和装置、存储介质及终端 Download PDFInfo
- Publication number
- CN107945273B CN107945273B CN201711371851.7A CN201711371851A CN107945273B CN 107945273 B CN107945273 B CN 107945273B CN 201711371851 A CN201711371851 A CN 201711371851A CN 107945273 B CN107945273 B CN 107945273B
- Authority
- CN
- China
- Prior art keywords
- grid
- dividing
- grid unit
- unit
- division
- 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/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- 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/30—Polynomial surface description
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Algebra (AREA)
- Remote Sensing (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种地形网格的处理方法和装置、存储介质及终端。其中,该方法包括:按照地形中每个网格单元对应的划分规则对相应的网格单元进行划分;确定共用一条公共边的第一网格单元和第二网格单元在公共边上的顶点数的差值超过预设阈值,公共边上属于第一网格单元的顶点数少于公共边上属于第二网格单元的顶点数;通过至少一条分割线对第一网格单元进行划分,至少一条分割线中每条分割线的第一端点为公共边上属于第二网格单元的顶点之一、每条分割线的第二端点为第一网格单元的内部顶点中距离第一端点最近的顶点。本发明解决了相关技术中的地形网格的处理方法复杂度较高的技术问题。
Description
技术领域
本发明涉及地形网格处理领域,具体而言,涉及一种地形网格的处理方法和装置、存储介质及终端。
背景技术
在游戏系统以及其它涉及到地形网格生成与显示的系统中,经常会遇到生成地表网格并与地表贴图结合渲染显示地表系统的需要。最原始的地形系统的网格统一按照最高密度制作,且对于地形上所处理的贴图没有做处理,从而导致每帧需要处理的顶点数目繁多,且对于贴图的处理复杂,费时费力。随着技术的进步,人们对于地表网格密度以及地形贴图的处理都有了新的进展:为了便于对地形网格系统进行管理,人们大多采用四叉树的构造方式,设定一个最小的尺寸作为叶子节点的尺寸,从而每四个子节点构成一个父节点(节点都是方形的),层层递进以至根节点。最终的渲染就是以这些节点为基础来完成。
在当前的地形渲染系统中最出名的解决方案就是细节级别,(Level of Detail,简称LOD),其核心要旨就在于在必要的地方(如距离相机最近的位置或者高低落差比较大的位置等)使用最高精度的数据(高密度的网格,高分辨率的贴图等),而在不必要的地方(如距离相机较远的或者地势比较平坦的位置)则使用低精度的数据。LOD是个统称,凡是借鉴了上述思想的技术方案都可以归入到LOD的范畴。而当前的主流LOD可以按照高精度数据使用方式划分为以下两大类,分别是基于相机的LOD(camera-based LOD)以及基于高度的LOD(height-based LOD)。
Camera-based LOD指的是距离相机较近的位置使用高精度数据,而距离相机较远的位置使用低精度数据的LOD系统。这种系统对于地表贴图而言是比较有利的,较近的地方贴图清晰,较远的位置贴图虽然模糊,但因为距离的关系并不会有什么影响,但是,如果用这种LOD系统去处理地表网格数据就会有一个问题:距离相机较远的某座山在某个时刻使用的是低精度网格,这个时候看起来就会显得粗糙而平坦,在相机朝着这座山移动的过程中,就会发现数据精度逐渐增高导致网格发生形变,这显然不符合现实物理规律,给人一种虚假感。
Height-based LOD指的是在高地落差比较大的位置使用高精度数据,而在高地落差比较小的位置如平地则使用低精度数据。这种系统比较适合用在地形网格上,有利于保持网格的一致性。Height-based LOD系统比较出名的方案是ROAM(Real-time OptimallyAdapting Meshes)系统。ROAM系统将地形网格按照高度差分层,陡峭的山崖以及低陷的峡谷处于高层,分配给高密度的地形网格,而平坦的位置则处于低层,分配给低密度的地形网格,根据节点的层级与周边层级的关系,生成过渡的对接网格,用以避免在层级过渡区域形成的裂缝问题,其网格分布大致如图1所示。这种网格的问题在于过渡区域的对接网格生成困难,为了生成与更高密度网格衔接的无缝网格,可能会因为递归处理的原因而导致众多网格系统的调整,算法复杂。
针对相关技术中的地形网格的处理方法复杂度较高的技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种地形网格的处理方法和装置、存储介质及终端,以至少解决相关技术中的地形网格的处理方法复杂度较高的技术问题。
根据本发明实施例的一个方面,提供了一种地形网格的处理方法,该方法包括:按照地形中每个网格单元对应的划分规则对相应的网格单元进行划分,其中,每个网格单元对应的划分规则用于确定相应的网格单元在经过划分之后的内部和边界的顶点数;确定共用一条公共边的第一网格单元和第二网格单元在公共边上的顶点数的差值超过预设阈值,其中,公共边上属于第一网格单元的顶点数少于公共边上属于第二网格单元的顶点数;通过至少一条分割线对第一网格单元进行划分,其中,至少一条分割线中每条分割线的第一端点为公共边上属于第二网格单元的顶点之一、每条分割线的第二端点为第一网格单元的内部顶点中距离第一端点最近的顶点。
进一步地,按照地形中每个网格单元对应的划分规则对相应的网格单元进行划分包括:按照每个网格单元对应的划分规则将相应的网格单元划分为多个三角形;分别存储由多个三角形的标识信息构成的三角形信息列表,通过至少一条分割线对第一网格单元进行划分包括:采用至少一条分割线将第一网格单元内的多个三角形进行划分;更新第一网格单元的三角形信息列表。
进一步地,按照每个网格单元对应的划分规则将相应的网格单元划分为多个三角形包括:根据每个网格单元的高度变化参数值确定相应的网格单元的划分密度,其中,高度变化参数值用于表示对应的网格单元中高度变化的程度;按照每个网格单元的划分密度将相应的网格单元均等分为多个方格;将多个方格中的每个方格沿对角线划分为两个三角形。
进一步地,根据每个网格单元的高度变化参数值确定相应的网格单元的划分密度包括:确定每个网格单元的高度变化参数值;确定地形中所有网格单元的最大高度变化参数值;根据每个网格单元的高度变化参数值与最大高度变化参数值的差异确定相应的网格单元的划分密度。
根据本发明实施例的另一方面,还提供了一种地形网格的处理装置,该装置包括:第一划分单元,用于按照地形中每个网格单元对应的划分规则对相应的网格单元进行划分,其中,每个网格单元对应的划分规则用于确定相应的网格单元在经过划分之后的内部和边界的顶点数;确定单元,用于确定共用一条公共边的第一网格单元和第二网格单元在公共边上的顶点数的差值超过预设阈值,其中,公共边上属于第一网格单元的顶点数少于公共边上属于第二网格单元的顶点数;第二划分单元,用于通过至少一条分割线对第一网格单元进行划分,其中,至少一条分割线中每条分割线的第一端点为公共边上属于第二网格单元的顶点之一、每条分割线的第二端点为第一网格单元的内部顶点中距离第一端点最近的顶点。
进一步地,第一划分单元包括:第一划分模块,用于按照每个网格单元对应的划分规则将相应的网格单元划分为多个三角形;存储模块,用于分别存储由多个三角形的标识信息构成的三角形信息列表,第二划分单元包括:第二划分模块,用于采用至少一条分割线将第一网格单元内的多个三角形进行划分;更新模块,用于更新第一网格单元的三角形信息列表。
进一步地,第一划分模块包括:确定子模块,用于根据每个网格单元的高度变化参数值确定相应的网格单元的划分密度,其中,高度变化参数值用于表示对应的网格单元中高度变化的程度;第一划分子模块,用于按照每个网格单元的划分密度将相应的网格单元均等分为多个方格;第二划分子模块,用于将多个方格中的每个方格沿对角线划分为两个三角形。
进一步地,确定子模块包括:第一确定模块,用于确定每个网格单元的高度变化参数值;第二确定模块,用于确定地形中所有网格单元的最大高度变化参数值;第三确定模块,用于根据每个网格单元的高度变化参数值与最大高度变化参数值的差异确定相应的网格单元的划分密度。
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行本发明的地形网格的处理方法。
根据本发明实施例的另一方面,还提供了一种终端,该终端包括:一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,第一个或多个程序被存储在存储器中,并且被配置为由一个或多个处理器执行,一个或多个程序包括用于执行本发明的地形网格的处理方法。
在本发明实施例中,通过按照地形中每个网格单元对应的划分规则对相应的网格单元进行划分,其中,每个网格单元对应的划分规则用于确定相应的网格单元在经过划分之后的内部和边界的顶点数;确定共用一条公共边的第一网格单元和第二网格单元在公共边上的顶点数的差值超过预设阈值,其中,公共边上属于第一网格单元的顶点数少于公共边上属于第二网格单元的顶点数;通过至少一条分割线对第一网格单元进行划分,其中,至少一条分割线中每条分割线的第一端点为公共边上属于第二网格单元的顶点之一、每条分割线的第二端点为第一网格单元的内部顶点中距离第一端点最近的顶点,解决了相关技术中的地形网格的处理方法复杂度较高的技术问题,进而实现了能够降低地形网格处理方法的复杂度的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是现有技术中一种可选的地形网格的示意图;
图2是根据本发明实施例的一种可选的地形网格的处理方法的流程图;
图3是根据本发明实施例的一种可选的地形网格的处理方法得到的地形网格的示意图;
图4是现有技术中一种可选的过渡地形网格的示意图;
图5是根据本发明实施例的一种可选的地形网格的处理方法得到的过渡地形网格的示意图;
图6是根据本发明实施例的一种可选的地形网格的处理装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请提供了一种地形网格的处理方法的实施例。
图2是根据本发明实施例的一种可选的地形网格的处理方法的流程图,如图2所示,该方法包括如下步骤:
步骤S101,按照地形中每个网格单元对应的划分规则对相应的网格单元进行划分,其中,每个网格单元对应的划分规则用于确定相应的网格单元在经过划分之后的内部和边界的顶点数;
步骤S102,确定共用一条公共边的第一网格单元和第二网格单元在公共边上的顶点数的差值超过预设阈值,其中,公共边上属于第一网格单元的顶点数少于公共边上属于第二网格单元的顶点数;
步骤S103,通过至少一条分割线对第一网格单元进行划分,其中,至少一条分割线中每条分割线的第一端点为公共边上属于第二网格单元的顶点之一、每条分割线的第二端点为第一网格单元的内部顶点中距离第一端点最近的顶点。
上面所述的地形中包括多个网格单元,每个网格单元可以是一个叶子节点,也可以是一个叶子节点中的一部分,还可以是多个叶子节点组成的网格单元,可以视情况而定,本发明对此不作具体限定。
在步骤S101提供的方案中,每个网格单元的划分规则是不同的,也即,划分密度是不同的。划分规则用于确定对应网格单元的划分密度,也即,网格单元在经过划分之后的内部顶点数和边界顶点数之和。划分密度越高的网格单元,其在被划分之后的内部和边界的顶点数之和越多,划分密度越低的网格单元,其在被划分之后的内部和边界的顶点数之和越少。例如,网格单元的划分规则可以是按照诸如2*2、4*4、8*8的方式将每个网格单元进行均等分,进行2*2均等分之后的网格单元的内部有一个顶点,边界包括四个顶点,每个边界上有一个顶点(网格单元的顶点不计算在边界的顶点内),也即,进行2*2均等分之后的网格单元包括5个顶点。由于目前的地形渲染方式通常是采用三角形进行渲染,在确定每个网格单元顶点之后,可以根据顶点将每个网格单元中划分为多个直角三角形,例如,在经过2*2均等分之后的网格单元包括8个直角三角形。
作为步骤S101提供的方案的一种可选的实施方式,按照地形中每个网格单元对应的划分规则对相应的网格单元进行划分包括:按照每个网格单元对应的划分规则将相应的网格单元划分为多个三角形;分别存储由多个三角形的标识信息构成的三角形信息列表。例如,每个三角形通过三个顶点的标记数字来标识,分别存储每个网格单元中包括的所有三角形的标识信息。
相邻的两个网格单元划分规则可能不同,有可能差异较大,例如,相邻两个网格单元中第一网格单元的划分规则为将网格单元均等分为2*2个部分,相邻两个网格单元中第二网格单元的划分规则为将网格单元均等分为8*8个部分,则这两个相邻的网格单元划分规则的差异较大,如果采用初始的划分方式直接进行渲染,有可能产生相邻两个网格单元在公共边的边界上衔接不流畅。因而,通过步骤S102和步骤S103对地形网格的划分进行进一步地过渡处理。
首先,判断任意两个相邻的网格单元的划分密度是否差异过大,具体的,可以通过两个网格单元分别的划分规则确定,例如,网格单元的划分规则分为2*2,4*4,8*8等等多种级别的划分方式,2*2为第一级划分密度,4*4为第二级划分密度,8*8为第三级划分密度,依此类推,第一网格单元的划分规则为2*2,是第一级,第二网格单元的划分规则为8*8,是第三级,则确定第一网格单元和第二网格单元的划分密度差异过大。
由于划分规则不一定是均等分,因而,通过步骤S102提供的方案判断划分密度是否差异过大,也即,通过共用一条公共边的第一网格单元和第二网格单元在公共边上的顶点数的差值超过预设阈值。
在公共边上属于第一网格单元的顶点数少于公共边上属于第二网格单元的顶点数的情况下,通过步骤S103提供的方案,以公共边上的第二网格单元的顶点之一为第一端点,以第一网格单元的内部顶点中距离第一端点最近的顶点为第二端点连出多条分割线,对第一网格单元进行进一步划分。
由于目前的地形渲染方式通常是采用三角形进行渲染,在步骤S103提供的方案中,采用至少一条分割线将第一网格单元内的多个三角形进行进一步地划分,通过至少一条分割线将第一网格单元划分为更多的三角形,并更新第一网格单元的三角形信息列表。
一种可选的划分方法如图3所示,在图3中右上角虚线内的方形为网格单元1,右下角实线内的方形为网格单元2,左下角点划线内的方形为网格单元3,网格单元1和2的划分规则为2*2均等分(其中,图3中未示出网格单元1的上半部分的划分方式,且不考虑网格单元2的右侧邻接网格单元的划分密度),网格单元3的划分规则为16*16均等分(其中,图3中未示出网格单元3的左半部分的划分方式)。由于网格单元2和网格单元3的划分规则相差较大,也即,网格单元3在公共边上的顶点数(3)与网格单元2在公共边上的顶点数(0)大于预设阈值,将网格单元2按照如图3所示的方式进行进一步地划分。
在步骤S101提供的方案中,可以采用基于高度变化的划分方式,具体而言,根据每个网格单元的高度变化参数值确定相应的网格单元的划分密度,其中,高度变化参数值用于表示对应的网格单元中高度变化的程度,高度变化参数值可以是高度差,也可以是斜率,按照每个网格单元的划分密度将相应的网格单元均等分为多个方格,将多个方格中的每个方格沿对角线划分为两个三角形。
进一步地,在根据每个网格单元的高度变化参数值确定相应的网格单元的划分密度时,可以采用如下步骤:确定每个网格单元的高度变化参数值;确定地形中所有网格单元的最大高度变化参数值;根据每个网格单元的高度变化参数值与最大高度变化参数值的差异确定相应的网格单元的划分密度。
该实施例通过至少一条分割线对第一网格单元进行划分,其中,至少一条分割线中每条分割线的第一端点为公共边上属于第二网格单元的顶点之一、每条分割线的第二端点为第一网格单元的内部顶点中距离第一端点最近的顶点,解决了相关技术中的地形网格的处理方法复杂度较高的技术问题,进而实现了能够降低地形网格处理方法的复杂度的技术效果。
下面描述上述实施例的一种具体实施方式,步骤如下:
步骤1,统计地形网格的各个叶子节点(在该具体实施方式中,每个叶子节点为一个网格单元)中所有的高度顶点(其中,高度顶点是指该高度顶点与周围区域的导数不连续)的高度范围,用高低差fMaxY-fMinY来表示,其中fMaxY表示所有高度顶点中最大的高度值,而fMinY表示所有高度顶点中最小的高度值。
步骤2,设置叶子节点的最高网格密度,如最高网格密度为每个叶子节点用16*16个小方格表示(为了便于层层缩减,每行每列的格子数目最好是2的幂次方,且行列最好相等)。
步骤3,根据叶子节点的最高网格密度,计算LOD的密度层级,如步骤2中选定的16*16密度网格,可以划分成(16*16,8*8,4*4,2*2,1*1)共五种密度网格,层级数为5。假设步骤2中叶子节点最高密度选定为2^n*2^n,那么LOD密度层级为n+1。
步骤4,制定层级划分方案,即对步骤1中统计出来的各个叶子节点的高低差进行层级划分,指明哪些高低差对应于第一密度层级(最低),哪些高低差对应于第二层级等等。这种划分策略可根据地形的特点进行变化。比如在采用五层划分时,可以使用4:2:2:1:1的划分比例,将高低差最小的前40%叶子节点划归到第一层(当40%的分界点并不是高低差的自然分界点时候,可以将其后所有与40%分界点同一高度的节点都划归到第一层,之后分割方案与此一致),之后将剩下节点中高低落差在60%范围内的叶子节点划归第二层,以此类推直至最终将剩下的节点划归到最后一层。
步骤5,为每个叶子节点生成绘制时候所需的三角网格,其步骤如下:
a)初始化每个叶子结点本身层级以及上下左右各相邻节点的层级为1(即第一级);
b)根据步骤4的划分对每个叶子节点的层级以及上下左右相邻层级进行设置;
c)根据本身层级与相邻节点层级的关系,生成节点三角形列表,以最高网格密度采用16*16方格为例:
i.根据节点本身层级设置需要处理的方格数目,如第五层的节点需要处理16*16个方格,而第一层的节点则只需要处理1*1个方格;
ii.对每个方格的四条边界进行处理:
如果此方格位于节点边缘且节点本身层级低于与之相邻的节点层级,例如,此方格位于节点的左边缘,此方格本身所处节点层级为1,其左邻节点层级为3,则需要将此方格的左边拆分为四等分,其计算方式为2^(相邻节点的层级-本节点的层级),也即,23-1。再如,如图3所示,叶子节点(网格单元)2的层级为2,叶子节点2左侧的叶子节点3的层级为5,叶子节点2靠左侧的两个方格,每个方格的左边均被均等分为四段,新生成的三个顶点分别与对应方格的中心的顶点连接,构成四个三角形。其余边由于不需要细分,故而只需要一个三角形就可以表示。
如果此方格不位于边缘或者此方格位于边缘但节点本身层级高于相邻节点的层级,则此方格不需要细分,直接用两个三角形表示,其结果如图3所示,叶子节点2与其上邻节点(叶子节点1)具有相同的层级,故而叶子节点2的上面的边界不需要进一步细分。
iii.将上述处理结果存入到每个叶子节点的三角形列表中,在绘制的时候直接使用。
步骤6,绘制的时候,如果需要处理的是叶子节点,直接将上述处理后的三角形列表拿来使用即可;如果是非叶子节点,则将其下辖的所有叶子节点的三角形列表合并绘制即可。
该具体实施方式提供的地形网格的处理方法将各个叶子节点的高度差进行统计,并根据高度差分布范围进行分层,如可以分成五层,从第一层到第五层(密度逐级递增),其占比分别为4:2:2:1:1等。根据当前叶子节点与上下左右的节点的层级关系,生成对应的过渡网格,其网格生成方式与ROAM不同,如图4所示,ROAM采用逐级细分,每次分割将增加一倍的三角网格,而本文的方案则是直接从已经存在的顶点引出一条线增加一个三角网格的扇形分割方式(Fan),如图5所示,因而能够减少生成的网格数量,简化网格处理过程。
需要说明的是,在附图的流程图虽然示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请还提供了一种存储介质的实施例,该实施例的存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行本发明实施例的地形网格的处理方法。
本申请还提供了一种终端的实施例,该实施例的终端包括:一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,第一个或多个程序被存储在存储器中,并且被配置为由一个或多个处理器执行,一个或多个程序包括用于执行本发明实施例的地形网格的处理方法。
本申请还提供了一种地形网格的处理装置的实施例。需要说明的是,该实施例提供的地形网格的处理装置可以用于执行本发明提供的地形网格的处理方法。
图6是根据本发明实施例的一种可选的地形网格的处理装置的示意图,如图6所示,该装置包括第一划分单元10,确定单元20和第二划分单元30,其中,第一划分单元用于按照地形中每个网格单元对应的划分规则对相应的网格单元进行划分,其中,每个网格单元对应的划分规则用于确定相应的网格单元在经过划分之后的内部和边界的顶点数;确定单元用于确定共用一条公共边的第一网格单元和第二网格单元在公共边上的顶点数的差值超过预设阈值,其中,公共边上属于第一网格单元的顶点数少于公共边上属于第二网格单元的顶点数;第二划分单元用于通过至少一条分割线对第一网格单元进行划分,其中,至少一条分割线中每条分割线的第一端点为公共边上属于第二网格单元的顶点之一、每条分割线的第二端点为第一网格单元的内部顶点中距离第一端点最近的顶点。
该实施例通过第一划分单元按照地形中每个网格单元对应的划分规则对相应的网格单元进行划分,确定单元确定共用一条公共边的第一网格单元和第二网格单元在公共边上的顶点数的差值超过预设阈值,第二划分单元通过至少一条分割线对第一网格单元进行划分,解决了相关技术中的地形网格的处理方法复杂度较高的技术问题,进而实现了能够降低地形网格处理方法的复杂度的技术效果。
作为一种可选的实施例,第一划分单元包括:第一划分模块,用于按照每个网格单元对应的划分规则将相应的网格单元划分为多个三角形;存储模块,用于分别存储由多个三角形的标识信息构成的三角形信息列表,第二划分单元包括:第二划分模块,用于采用至少一条分割线将第一网格单元内的多个三角形进行划分;更新模块,用于更新第一网格单元的三角形信息列表。
作为一种可选的实施例,第一划分模块包括:确定子模块,用于根据每个网格单元的高度变化参数值确定相应的网格单元的划分密度,其中,高度变化参数值用于表示对应的网格单元中高度变化的程度;第一划分子模块,用于按照每个网格单元的划分密度将相应的网格单元均等分为多个方格;第二划分子模块,用于将多个方格中的每个方格沿对角线划分为两个三角形。
作为一种可选的实施例,确定子模块包括:第一确定模块,用于确定每个网格单元的高度变化参数值;第二确定模块,用于确定地形中所有网格单元的最大高度变化参数值;第三确定模块,用于根据每个网格单元的高度变化参数值与最大高度变化参数值的差异确定相应的网格单元的划分密度。
上述的装置可以包括处理器和存储器,上述单元均可以作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
上述本申请实施例的顺序不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。
其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种地形网格的处理方法,其特征在于,包括:
按照地形中每个网格单元对应的划分规则对相应的网格单元进行划分,其中,每个网格单元对应的划分规则用于确定相应的网格单元在经过划分之后的内部和边界的顶点数,其中,所述顶点数用于表示所述网格单元划分之后的密度;
确定共用一条公共边的第一网格单元和第二网格单元在所述公共边上的顶点数的差值超过预设阈值,其中,所述公共边上属于所述第一网格单元的顶点数少于所述公共边上属于所述第二网格单元的顶点数;
通过至少一条分割线对所述第一网格单元进行划分,其中,所述至少一条分割线中每条分割线的第一端点为所述公共边上属于所述第二网格单元的顶点之一、每条分割线的第二端点为所述第一网格单元的内部顶点中距离所述第一端点最近的顶点;
其中,通过至少一条分割线对所述第一网格单元进行划分包括:采用所述至少一条分割线将所述第一网格单元内的多个三角形进行划分;更新所述第一网格单元的三角形信息列表。
2.根据权利要求1所述的方法,其特征在于,
按照地形中每个网格单元对应的划分规则对相应的网格单元进行划分包括:按照每个网格单元对应的划分规则将相应的网格单元划分为多个三角形;分别存储由所述多个三角形的标识信息构成的三角形信息列表。
3.根据权利要求2所述的方法,其特征在于,按照每个网格单元对应的划分规则将相应的网格单元划分为多个三角形包括:
根据每个网格单元的高度变化参数值确定相应的网格单元的划分密度,其中,所述高度变化参数值用于表示对应的网格单元中高度变化的程度;
按照每个网格单元的划分密度将相应的网格单元均等分为多个方格;
将所述多个方格中的每个方格沿对角线划分为两个三角形。
4.根据权利要求3所述的方法,其特征在于,根据每个网格单元的高度变化参数值确定相应的网格单元的划分密度包括:
确定每个网格单元的高度变化参数值;
确定所述地形中所有网格单元的最大高度变化参数值;
根据每个网格单元的高度变化参数值与所述最大高度变化参数值的差异确定相应的网格单元的划分密度。
5.一种地形网格的处理装置,其特征在于,包括:
第一划分单元,用于按照地形中每个网格单元对应的划分规则对相应的网格单元进行划分,其中,每个网格单元对应的划分规则用于确定相应的网格单元在经过划分之后的内部和边界的顶点数,其中,所述顶点数用于表示所述网格单元划分之后的密度;
确定单元,用于确定共用一条公共边的第一网格单元和第二网格单元在所述公共边上的顶点数的差值超过预设阈值,其中,所述公共边上属于所述第一网格单元的顶点数少于所述公共边上属于所述第二网格单元的顶点数;
第二划分单元,用于通过至少一条分割线对所述第一网格单元进行划分,其中,所述至少一条分割线中每条分割线的第一端点为所述公共边上属于所述第二网格单元的顶点之一、每条分割线的第二端点为所述第一网格单元的内部顶点中距离所述第一端点最近的顶点;
其中,所述第二划分单元包括:第二划分模块,用于采用所述至少一条分割线将所述第一网格单元内的多个三角形进行划分;更新模块,用于更新所述第一网格单元的三角形信息列表。
6.根据权利要求5所述的装置,其特征在于,
所述第一划分单元包括:第一划分模块,用于按照每个网格单元对应的划分规则将相应的网格单元划分为多个三角形;存储模块,用于分别存储由所述多个三角形的标识信息构成的三角形信息列表。
7.根据权利要求6所述的装置,其特征在于,所述第一划分模块包括:
确定子模块,用于根据每个网格单元的高度变化参数值确定相应的网格单元的划分密度,其中,所述高度变化参数值用于表示对应的网格单元中高度变化的程度;
第一划分子模块,用于按照每个网格单元的划分密度将相应的网格单元均等分为多个方格;
第二划分子模块,用于将所述多个方格中的每个方格沿对角线划分为两个三角形。
8.根据权利要求7所述的装置,其特征在于,所述确定子模块包括:
第一确定模块,用于确定每个网格单元的高度变化参数值;
第二确定模块,用于确定所述地形中所有网格单元的最大高度变化参数值;
第三确定模块,用于根据每个网格单元的高度变化参数值与所述最大高度变化参数值的差异确定相应的网格单元的划分密度。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至4任意一项所述的地形网格的处理方法。
10.一种终端,其特征在于,包括:
一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行权利要求1至4中任意一项所述的地形网格的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711371851.7A CN107945273B (zh) | 2017-12-19 | 2017-12-19 | 地形网格的处理方法和装置、存储介质及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711371851.7A CN107945273B (zh) | 2017-12-19 | 2017-12-19 | 地形网格的处理方法和装置、存储介质及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107945273A CN107945273A (zh) | 2018-04-20 |
CN107945273B true CN107945273B (zh) | 2022-03-22 |
Family
ID=61941231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711371851.7A Active CN107945273B (zh) | 2017-12-19 | 2017-12-19 | 地形网格的处理方法和装置、存储介质及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107945273B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750847B (zh) * | 2019-10-29 | 2021-06-15 | 中国科学院过程工程研究所 | 网格切分关系的确定方法、装置、设备和介质 |
CN112245926B (zh) * | 2020-11-16 | 2022-05-17 | 腾讯科技(深圳)有限公司 | 虚拟地形的渲染方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1545070A (zh) * | 2003-11-24 | 2004-11-10 | 浙江大学 | 一种与视点相关的基于四队列优化的地形网格生成方法 |
CN101441780A (zh) * | 2008-11-05 | 2009-05-27 | 武汉大学 | 三维网格模型的剖切方法 |
CN101944239A (zh) * | 2009-07-08 | 2011-01-12 | 富士通株式会社 | 三维模型分割方法、装置以及包含该装置的图像处理系统 |
CN103035023A (zh) * | 2012-11-29 | 2013-04-10 | 广东电网公司电力科学研究院 | 三维gis地形渲染方法和系统 |
CN105160704A (zh) * | 2015-08-25 | 2015-12-16 | 克拉玛依红有软件有限责任公司 | 一种基于空间三角网格与空间四边形共享数据的绘图方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8730233B2 (en) * | 2010-04-19 | 2014-05-20 | Caterpillar Inc. | Mesh estimation of terrain |
CN102194252A (zh) * | 2011-05-17 | 2011-09-21 | 北京航空航天大学 | 一种基于地质层面结构的三角形格架网格生成方法 |
CN102306396B (zh) * | 2011-09-15 | 2013-09-25 | 山东大学 | 一种三维实体模型表面有限元网格自动生成方法 |
CN106251400B (zh) * | 2016-07-19 | 2019-03-29 | 中国人民解放军63920部队 | 一种基于多四边形网格构建地形图的方法及装置 |
-
2017
- 2017-12-19 CN CN201711371851.7A patent/CN107945273B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1545070A (zh) * | 2003-11-24 | 2004-11-10 | 浙江大学 | 一种与视点相关的基于四队列优化的地形网格生成方法 |
CN101441780A (zh) * | 2008-11-05 | 2009-05-27 | 武汉大学 | 三维网格模型的剖切方法 |
CN101944239A (zh) * | 2009-07-08 | 2011-01-12 | 富士通株式会社 | 三维模型分割方法、装置以及包含该装置的图像处理系统 |
CN103035023A (zh) * | 2012-11-29 | 2013-04-10 | 广东电网公司电力科学研究院 | 三维gis地形渲染方法和系统 |
CN105160704A (zh) * | 2015-08-25 | 2015-12-16 | 克拉玛依红有软件有限责任公司 | 一种基于空间三角网格与空间四边形共享数据的绘图方法 |
Non-Patent Citations (1)
Title |
---|
"虚拟战场中一种基于GPU的大规模动态地形仿真研究";20130115;《中国博士学位论文全文数据库 信息科技辑》;20130115(第01期);I138-65,正文第35、42-43页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107945273A (zh) | 2018-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103745436B (zh) | 基于区域预测的LiDAR点云数据形态学滤波方法 | |
CN103871102B (zh) | 一种基于高程点和道路轮廓面的道路三维精细建模方法 | |
KR101555426B1 (ko) | 지형 렌더링 방법 및 장치 | |
CN107945273B (zh) | 地形网格的处理方法和装置、存储介质及终端 | |
CN112733318B (zh) | 一种自适应网格细分方法、装置、设备及存储介质 | |
CN110309248B (zh) | 一种基于Voronoi图的交通道路网络自动划分交通小区的方法 | |
KR20100067675A (ko) | 복구 및 오차 측정 특징을 제공하는 지리공간 모델링 시스템 및 관련 방법 | |
CN112598724B (zh) | 一种改进的基于tin的矢量数据中心线提取方法 | |
CN111552694A (zh) | 一种自适应地理空间网格索引方法 | |
CN107358640A (zh) | 一种晕渲目标区域的地形和地物的方法及装置 | |
CN113468286A (zh) | 一种基于三角面片个数划分的三维金字塔构建方法 | |
CN112150610A (zh) | 一种基于标注尺寸的挡土墙建模方法及系统 | |
CN110910462B (zh) | 一种基于特征计算的点云轻量化方法及存储介质 | |
CN111508054A (zh) | 地形构建方法、装置及设备 | |
CN112328722A (zh) | 电力变电站三维gis和模型数据快速加载方法和系统 | |
CN107798182A (zh) | 一种基站辐射范围的快速计算与更新方法 | |
CN116738669A (zh) | 城市地表径流模拟方法、装置、设备以及存储介质 | |
CN109712227B (zh) | 一种体素地形的管理方法 | |
CN112687007A (zh) | 一种基于lod技术的立体网格图生成方法 | |
CN103886635A (zh) | 基于面聚类的自适应lod模型构建方法 | |
CN103426201B (zh) | 基于三维数字城市系统海量模型数据的浏览方法 | |
CN113516732B (zh) | 一种基于金字塔的散点图采样方法及系统 | |
KR102243453B1 (ko) | 하천 공간위상 구조를 이용한 도시하천 홍수범람지도의 갱신 방법 및 이를 기록한 기록매체 | |
CN114882191A (zh) | 数字高程模型生成方法、电子设备及计算机可读存储装置 | |
CN114332322A (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 |