CN107909538B - 地形数据处理方法及装置 - Google Patents
地形数据处理方法及装置 Download PDFInfo
- Publication number
- CN107909538B CN107909538B CN201711283044.XA CN201711283044A CN107909538B CN 107909538 B CN107909538 B CN 107909538B CN 201711283044 A CN201711283044 A CN 201711283044A CN 107909538 B CN107909538 B CN 107909538B
- Authority
- CN
- China
- Prior art keywords
- terrain
- index information
- edge
- vertex
- square
- 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
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- 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)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及数据处理技术领域,具体涉及一种地形数据处理方法及装置,方法包括:对二维的地形顶点方阵得到的多个地形方格以三角形条带的方式进行三角形网格划分,针对每行地形方格分别生成一地形索引信息,地形索引信息中任意相邻的三个索引信息与对应的地形方格中的一个三角形网格的各顶点相对应,一行地形方格对应的地形索引信息中的最后一个索引信息为该行地形方格相邻的下一行对应的地形索引信息中的第一个索引信息,向各行地形方格对应的地形索引信息中插入节点,以构成地形方阵索引信息。通过上述设置使得对地形方阵索引信息进行存储时,能够有效减少存储空间。
Description
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种地形数据处理方法及装置。
背景技术
地形系统是图形渲染引擎中重要的组成部分,丰富的地形效果可以为游戏带来很好的体验。当前的趋势是游戏场景规模不断增大,伴随着游戏场景规模的增大,地形规模也越来越大。渲染大规模的地形需要大量的网格数据,包括顶点和索引,这在实时渲染中会带来巨大的性能开销。
发明人经研究发现,现有的网格数据包的索引在进行存储时会占用大量的存储空间,这会造成在场景渲染过程中造成巨大的开销,进而使成本过高。
发明内容
有鉴于此,本发明的目的在于提供一种地形数据处理方法及装置,以使在地形方阵索引信息进行存储时,能够有效减少存储空间,进而有降低成本。
为了达到上述目的,本发明较佳实施例提供一种地形数据处理方法,所述方法包括:
获取二维地形的地形顶点方阵,并根据所述地形顶点方阵得到多个地形方格;
对各所述地形方格以三角形条带的方式进行三角形网格划分,以使划分后同一行地形方格中的各三角形网格的斜边朝向相同,且相邻两行地形方格中的三角形的斜边朝向相反;
针对每行地形方格根据该行地形方格中的各三角形网格的地形顶点生成一条地形索引信息,其中,所述地形索引信息中任意相邻的三个索引信息与该地形索引信息对应的一行地形方格中的一个三角形网格的各顶点相对应,且一行地形方格对应的地形索引信息中的最后一个索引信息为该行地形方格相邻的下一行地形方格对应的地形索引信息中的第一个索引信息;
向各行地形方格对应的地形索引信息中插入节点,以构成地形方阵索引信息。
可选的,在上述地形数据处理方法中,所述方法还包括:
获取根据所述地形顶点方阵的周围添加的边缘顶点,并根据所述边缘顶点及与所述边缘顶点相邻的地形顶点生成边缘方格,其中,相邻的两个方向上的位于端部的边缘顶点重合;
对各所述边缘方格进行三角形网格划分,以使划分后的各三角形网格的斜边朝向相同;
针对所述地形顶点方阵每个方向上对应的边缘方格,根据该方向上的边缘方格中的各三角形网格的地形顶点和边缘顶点生成一条边缘索引信息,其中,所述边缘索引信息中任意相邻的三个索引信息与该边缘索引信息对应的方向上的边缘方格中的一个三角形网格的各顶点相对应,一个方向上的边缘方格对应的边缘索引信息中的最后一个索引信息为该方向的时针方向上相邻的下一方向的边缘方格对应的边缘索引信息中的第一个索引信息,且存在一条边缘索引信息中的第一个索引信息为所述地形索引信息的最后一个索引信息,该索引信息为时针方向的起点;
向时针方向上相邻的两条边缘索引信息之间插入节点,以构成地形边缘索引信息,并根据所述地形边缘索引信息和所述地形方阵索引信息得到地形数据索引信息。
可选的,在上述地形数据处理方法中,所述向各行地形方格对应的地形索引信息中插入节点,以构成地形方阵索引信息的步骤包括:
将任意的地形索引信息中的最后一个地形顶点对应的索引信息添加至该地形索引信息的最后一个索引信息与该地形索引信息对应的一行地形方格相邻的下一行地形方格的地形索引信息的第一个索引信息之间,以构成所述地形方阵索引信息;
向时针方向上相邻的两条边缘索引信息之间插入节点,以构成地形边缘索引信息的步骤包括:
将任意的边缘索引信息中的最后一个索引信息添加至该边缘索引信息中的最后一个索引信息与该边缘索引信息对应的方向上的边缘方格时针方向上相邻的下一方向上的方格的边缘索引信息中的第一个索引信息之间,以构成所述地形边缘索引信息。
可选的,在上述地形数据处理方法中,所述方法还包括:
将所述地形数据索引信息缓存至缓冲区,以使在进行地形渲染时调用存储于所述缓冲区中的地形数据索引信息。
可选的,在上述地形数据处理方法中,所述地形顶点方阵中,各所述地形顶点对应的索引信息不同。
本发明还提供一种地形数据处理装置,所述装置包括:
地形方格获取模块:用于获取二维地形的地形顶点方阵,并根据所述地形顶点方阵得到多个地形方格;
第一网格划分模块:用于对各所述地形方格以三角形条带的方式进行三角形网格划分,以使划分后同一行地形方格中的各三角形网格的斜边朝向相同,且相邻两行地形方格中的三角形的斜边朝向相反;
地形索引生成模块:用于针对每行地形方格根据该行地形方格中的各三角形网格的地形顶点生成一条地形索引信息,针对每行地形方格根据该行地形方格中的各三角形网格的地形顶点生成一条地形索引信息,其中,所述地形索引信息中任意相邻的三个索引信息与该地形索引信息对应的一行地形方格中的一个三角形网格的各顶点相对应,且一行地形方格对应的地形索引信息中的最后一个索引信息为该行地形方格相邻的下一行地形方格对应的地形索引信息中的第一个索引信息;
地形方阵索引生成模块:用于向各行地形方格对应的地形索引信息中插入节点,以构成地形方阵索引信息。
可选的,在上述地形数据处理装置中,所述装置还包括:
边缘方格生成模块:用于获取根据所述地形顶点方阵的周围添加的边缘顶点,并根据所述边缘顶点及与所述边缘顶点相邻的地形顶点生成边缘方格,其中,相邻的两个方向上的位于端部的边缘顶点重合;
第二网格划分模块:用于对各所述边缘方格进行三角形网格划分,以使划分后的各三角形网格的斜边朝向相同;
边缘索引生成模块:用于针对所述地形顶点方阵每个方向上对应的边缘方格,根据该方向上的边缘方格中的各三角形网格的地形顶点和边缘顶点生成一条边缘索引信息,其中,所述边缘索引信息中任意相邻的三个索引信息与该边缘索引信息对应的方向上的边缘方格中的一个三角形网格的各顶点相对应,一个方向上的边缘方格对应的边缘索引信息中的最后一个索引信息为该方向的时针方向上相邻的下一方向的边缘方格对应的边缘索引信息中的第一个索引信息,且存在一条边缘索引信息中的第一个索引信息为所述地形索引信息的最后一个索引信息,该索引信息为时针方向的起点;
地形数据索引生成模块:向时针方向上相邻的两条边缘索引信息之间插入节点,以构成地形边缘索引信息,并根据所述地形边缘索引信息和所述地形方阵索引信息得到地形数据索引信息。
可选的,在上述地形数据处理装置中,所述装置还包括:
所述地形方阵索引:还用于将任意的地形索引信息中的最后一个地形顶点对应的索引信息添加至该地形索引信息的最后一个索引信息与该地形索引信息对应的一行地形方格相邻的下一行地形方格的地形索引信息的第一个索引信息之间,以构成所述地形方阵索引信息;
所述地形数据索引生成模块,还用于将任意的边缘索引信息中的最后一个索引信息添加至该边缘索引信息中的最后一个索引信息与该边缘索引信息对应的方向上的边缘方格时针方向上相邻的下一方向上的方格的边缘索引信息中的第一个索引信息之间,以构成所述地形边缘索引信息。
可选的,在上述地形数据处理装置中,所述装置还包括:
缓存模块:用于将所述地形数据索引信息缓存至缓冲区,以使在进行地形渲染时调用存储于所述缓冲区中的地形数据索引信息。
可选的,在上述地形数据处理装置中,所述地形顶点方阵中,各所述地形顶点对应的索引信息不同。
本发明实施例提供的一种地形数据处理方法及装置,方法包括:获取二维地形的地形顶点方阵,并根据所述地形顶点方阵得到多个地形方格,对各所述地形方格以三角形条带的方式进行三角形网格划分,以使划分后同一行地形方格中的各三角形网格的斜边朝向相同,且相邻两行地形方格中的三角形的斜边朝向相反。针对每行地形方格根据该行地形方格中的各三角形网格的地形顶点生成一条地形索引信息,所述地形索引信息中任意相邻的三个索引信息与该地形索引信息对应的一行地形方格中的一个三角形网格的各顶点相对应,且一行地形方格对应的地形索引信息中的最后一个地形顶点为该行地形方格相邻的下一行地形方格对应的地形索引信息中的第一个地形顶点,向各行地形方格对应的地形索引信息中插入节点,以构成地形方阵索引信息。通过上述设置使得对地形方阵索引信息进行存储时,能够有效减少存储空间。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种电子设备的连接框图。
图2为本发明实施例提供的一种地形数据处理方法的流程示意图。
图3为本发明实施例提供的一种地形顶点方阵的划分示意图。
图4为本发明实施例提供的一种地形数据处理方法的另一流程示意图。
图5为本发明实施例提供的一种边缘顶点的划分示意图。
图6为本发明实施例提供的一种地形数据处理装置的连接框图。
图7为本发明实施例提供的一种地形数据处理装置的另一连接框图。
图标:10-电子设备;12-处理器;14-存储器;100-地形数据处理装置;110-地形方格获取模块;120-第一网格划分模块;130-地形索引生成模块;140-地形方阵索引生成模块;150-边缘方格生成模块;160-第二网格划分模块;170-边缘索引生成模块;180-地形数据索引生成模块;190-缓存模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
现有的数据处理通常是在终端或服务器等电子设备上进行的。
如图1所示,是本发明提供的一种电子设备10,该电子设备10可以是,但不限于,服务器、智能手机、电脑(personal computer,PC)、平板电脑、数字助理(personal digitalassistant,PDA)或移动上网设备(mobile Internet device,MID)等能够进行数据处理的电子设备10。
其中,所述电子设备10包括处理器12、存储器14以及存储于所述存储器14的计算机可读存储介质,所述处理器12与所述存储器14相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,可以通过一条或多条通讯总线或信号线实现电性连接。所述计算机可读存储介质包括至少一个可以软件或固件(firmware)的形式存储于所述存储器14中的功能模块。所述处理器12用于执行所述存储器14中存储的可执行模块,例如地形数据处理装置100所包括的软件功能模块及计算机程序等,以实现本实施例中的地形数据处理方法。
应当理解,图1所示的结构仅为示意,所述电子设备10可以包括比图1所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
请参阅图2,本发明提供一种地形数据处理方法,所述方法包括步骤S110-S140四个步骤。
步骤S110:获取二维地形的地形顶点方阵,并根据所述地形顶点方阵得到多个地形方格。
其中,二维地形是一个规则的高度场,在水平面上的地形顶点之间的间隔相同,因此从水平面上看,各地形的顶点是一个规则的正方形点阵即为地形顶点方阵。根据所述地形顶点方阵得到的多个地形方格中,每个方格对应的顶点为四个。
步骤S120:对各所述地形方格以三角形条带的方式进行三角形网格划分,以使划分后同一行地形方格中的各三角形网格的斜边朝向相同,且相邻两行地形方格中的三角形的斜边朝向相反。
步骤S130:针对每行地形方格根据该行地形方格中的各三角形网格的地形顶点生成一条地形索引信息。
其中,所述地形索引信息中任意相邻的三个索引信息与该地形索引信息对应的一行地形方格中的一个三角形网格的各顶点相对应,且一行地形方格对应的地形索引信息中的最后一个索引信息为该行地形方格相邻的下一行地形方格对应的地形索引信息中的第一个索引信息。
通过上述设置以使进行网格划分后的一行地形方格为一系列连续的三角形构成,任意一个三角形网格的各顶点信息都位于所述地形索引信息中,且所述地形索引信息中任意相邻的三个索引信息都与该对应的一行地形方格中的一个三角形网格的各顶点相对应,以有效避免采用现有技术中因不考虑网格的连续性使得每个顶点参与组成了多少个三角形网格就在索引中添加多少次造成的大量的重复,进而造成所述地形索引信息中包括的索引信息过多的问题。
可选的,在本实施例中,所述地形顶点方阵中,各所述地形顶点对应的索引信息不同。所述地形顶点方阵的起始地形顶点对应的索引信息为0或1。即所述地形顶点方阵中第一行的第一个地形顶点为0或1。
步骤S140:向各行地形方格对应的地形索引信息中插入节点,以构成地形方阵索引信息。
其中,向各行地形方格对应的地形索引信息中插入的节点可以是一个字符、空格、标识符或数据等,在此不作具体限定,并且,插入的节点可以是位于地形索引信息中的起始地形顶点之前,也可以是位于地形索引信息中的末尾的地形顶点之后,也可以是位于任意位置,在此不作具体限定。
可选的,在本实施例中,所述向各行地形方格对应的地形索引信息中插入节点,以构成地形方阵索引信息的步骤包括:将任意的地形索引信息中的最后一个索引信息添加至该地形索引信息的最后一个地形顶点与该地形索引信息对应的一行地形方格相邻的下一行地形方格的地形索引信息的第一个索引信息之间,以构成所述地形方阵索引信息。
通过上述方法,以使添加节点后多出来的节点对应的三角形面积都为0,是退化三角形,不会被渲染,不会增加额外的性能消耗,且避免由多个地形索引信息构成地形方阵索引信息时,获取三角形网格对应的索引信息时出错的问题。
通过上述方法以实现对所述地形方格进行三角形网格划分后,对各三角形网格的索引信息进行存储时,能够有效减少在对各所述三角形网格进行存储时消耗的存储资源。
以尺寸为g×g的顶点方阵为例进行说明,则一个顶点方阵的顶点数量为g×g个,g可以是但不限于3、4、5、20、50或100等,在此不作具体限定。请参阅图3,当g=3时,顶点方阵中各顶点的索引依次为0~8,且第一行、第二行和第三行依次从左往右进行添加,以将第一行的第一个地形顶点的索引添加为0,并依次添加各地形顶点的索引信息,直至第三行最后一个为8。通过采用本发明技术方案,对该3×3的顶点方正进行网格划分得到四个地形方格,且四个地形方格为两行,且每行具有两个地形方格。对各所述地形方格以三角形条带的方式进行三角形网格划分,每个方格划分后得到两个三角形网格。采用本方案对第一行地形方格依次从左到右添加索引信息,得到的索引信息为031425,并将5作为节点及第二行地形方格对应的地形索引信息的起始点,以得到该第二行地形方格对应的地形索引信息:584736,并将6作为节点。根据所述两条地形索引信息得到的地形方阵索引信息为:
0 | 3 | 1 | 4 | 2 | 5 | 5 |
5 | 8 | 4 | 7 | 3 | 6 | 6 |
因此,所述地形方阵共需要(g-1)×(g×2+1)个地形顶点对应的索引信息进行表示,其中,g=3。
需要说明的是,若地形顶点方阵g×g且g大于3时,这样奇数行的地形方格都从在至右添加索引,偶数行地形方格都从右至左添加索引,以形成S形的添加方向即得到所述地形方阵索引。
若采用现有技术对各行地形方格中的三角形网格进行索引表示时,每个三角形的索引信息包括三个顶点对应的地形顶点,得到的地形方阵索引信息为:
因此对该3×3的顶点方阵进行表示需要(g-1)×(g-1)×2×3个地形顶点对应的索引信息进行表示,其中g=3。
其中g越大,则采用本方案得到的地形方阵索引中的地形顶点的数量与现有技术中得到的地形方阵索引的数量比值越接近1/3,即采用本方案中的地形数据处理方案与现有技术相比,达到的效果相同,但能够有效地节约存储空间,进而在进行场景渲染过程中有效避免造成巨大的开销,进而避免造成成本过高的问题。
通常情况下,对所述索引信息进行存储时会存储至缓冲区域,以使在进行地形渲染时调用存储于所述缓冲区中的地形数据索引信息。LOD技术是实时渲染中常用的优化技术,这种技术可以以较低的代价渲染距离摄像机较远的物体,针对地形系统,使用地形网格的LOD技术,可以以高精度的网格渲染距离摄像机较近的地块,以低精度网格渲染距离摄像机较远的地块。在高精度和低精度相邻的地块之间会有裂缝产生,Skirt技术是一种较为常见的阻止裂缝的技术,通过在地块的周围添加一圈向下延伸的网格来遮挡产生裂缝,这些网格称为地形的边缘网格。
请结合图4,可选的,在本实施例中,所述地形数据处理方法还包括以下步骤:
步骤S150:获取根据所述地形顶点方阵的周围添加的边缘顶点,并根据所述边缘顶点及与所述边缘顶点相邻的地形顶点生成边缘方格。
其中,相邻的两个方向上的位于端部的边缘顶点重合。各所述边缘顶点分别位于所述地形顶点方阵四周边缘的地形顶点的下方。
步骤S160:对各所述边缘方格进行三角形网格划分,以使划分后的各三角形网格的斜边朝向相同。
其中,对各所述边缘方格进行三角形网格划分后,每个边缘方格包括两个三角形网格。所述三角形网格的斜边朝向在此不作具体限定,根据实际需求进行设置即可。
步骤S170:针对所述地形顶点方阵每个方向上对应的边缘方格,根据该方向上的边缘方格中的各三角形网格的地形顶点和边缘顶点生成一条边缘索引信息。
其中,所述边缘索引信息中任意相邻的三个索引信息与该边缘索引信息对应的方向上的边缘方格中的一个三角形网格的各顶点相对应,一个方向上的边缘方格对应的边缘索引信息中的最后一个索引信息为该方向的时针方向上相邻的下一方向的边缘方格对应的边缘索引信息中的第一个索引信息,且存在一条边缘索引信息的第一个索引为所述地形索引信息的最后一个索引信息,并以该索引信息为时针方向的起点。
步骤S180:向时针方向上相邻的两条边缘索引信息之间插入节点,以构成地形边缘索引信息,并根据所述地形边缘索引信息和所述地形方阵索引信息得到地形数据索引信息。
其中,所述时针方向可以是顺时针方向,也可以是逆时针方向。向各行地形方格对应的边缘索引信息中插入的节点可以是一个字符、空格、标识符或数据等,在此不作具体限定。且插入的节点可以是位于边缘索引信息中第一个索引信息之前,也可以是边缘索引信息中的最后一个索引信息之后,也可以是位于任意位置,在此不作具体限定。
可选的,在本实施例中,向时针方向上相邻的两条边缘索引信息之间插入节点,以构成地形边缘索引信息的步骤包括:将任意的边缘索引信息中的最后一个索引信息添加至该边缘索引信息中的最后一个索引信息与该边缘索引信息对应的方向上的边缘方格时针方向上相邻的下一方向上的方格的边缘索引信息中的第一个索引信息之间,以构成所述地形边缘索引信息。通过上述方法,以有效保证在获取各边缘索引信息中的各边缘顶点对应的索引信息按照相同的时针方向添加的,进而有效避免在获取三角形网格对应的索引信息时出错的问题。
可选的,所述方法还包括将所述地形数据索引信息缓存至缓冲区,以使在进行地形渲染时调用存储于所述缓冲区中的地形数据索引信息。
通过上述方法以使将所述地形数据索引信息缓存至所述缓冲区后,占用的缓存区远小于采用现有技术得到的地形数据索引信息占用的缓存区,进而有效节约缓存空间,进而有效避免在进行渲染时造成巨大的开销,进而避免成本过高的问题。
具体的,请结合图5,以g=3为例进行说明,其中,地形顶点方阵中各顶点的索引依次为0~8,边缘顶点依次为9~20。需要说明的是,边缘顶点应在四周边缘的顶点的正下方,为了方便表示,将其移动到至地形顶点方阵周围的地形顶点的旁边,其中顶点11和12,14和15,17和18,20和9在位置上是重合的。其中,每个顶点方阵具有四个方向,每个方向上都具有边缘方格,各所述边缘方格的形状大小与各所述地形方格的大小相同,边缘方格的总数为g×4,通过采用上述方法得到的各方向上的边缘方格对应的边缘索引信息中插入节点后构成的地形边缘索引信息如下:
所述地形边缘边缘索引信息的数量为:4×(g×2+1),其中g=3。则所述地形数据索引信息中包括的索引信息的数量为:(g-1)×(g×2+1)+4×(g×2+1)。
若采用现有技术对各方向的边缘方格中的三角形网格进行索引表示时,每个三角形的索引信息包括三个顶点对应的地形顶点,得到的边缘地形索引信息为:
因此采用现有技术中得到的所述地形边缘边缘索引信息的索引信息数量为:4×(g×2×3+1),其中g=3。则所述地形数据索引信息中包括的顶点的数量为:(g-1)×(g-1)×2×3+4×(g×2×3+1)。
请参阅如下表格,g值选取不同情况下,采用本方案与现有方案使用到的地形顶点的使用量及比值:
地形顶点尺寸(g) | 现有方案 | 本发明 | 本发明/现有方案 |
2 | 30 | 25 | 0.833333333 |
3 | 72 | 42 | 0.583333333 |
5 | 192 | 88 | 0.458333333 |
9 | 576 | 228 | 0.395833333 |
17 | 1920 | 700 | 0.364583333 |
33 | 6912 | 2412 | 0.348958333 |
65 | 26112 | 8908 | 0.341145833 |
129 | 101376 | 34188 | 0.337239583 |
257 | 399360 | 133900 | 0.335286458 |
513 | 1585152 | 529932 | 0.334309896 |
1025 | 6316032 | 2108428 | 0.333821615 |
2049 | 25214976 | 8411148 | 0.333577474 |
请结合图6,在上述基础上,本发明还提供一种地形数据处理装置100,所述地形数据处理装置100包括:地形方格获取模块110、第一网格划分模块120、地形索引生成模块130以及地形方阵索引生成模块140。
所述地形方格获取模块110用于获取二维地形的地形顶点方阵,并根据所述地形顶点方阵得到多个地形方格。具体的,所述地形方格获取模块110可用于执行图2中所示的步骤S110,具体的操作方法可参考步骤S110的详细描述。
所述第一网格划分模块120用于对各所述地形方格以三角形条带的方式进行三角形网格划分,以使划分后同一行地形方格中的各三角形网格的斜边朝向相同,且相邻两行地形方格中的三角形的斜边朝向相反。具体的,所述第一网格划分模块120可用于执行图2中所示的步骤S120,具体的操作方法可参考步骤S120的详细描述。
所述地形索引生成模块130用于针对每行地形方格根据该行地形方格中的各三角形网格的地形顶点生成一条地形索引信息。具体的,所述地形索引生成模块130可用于执行图2中所示的步骤S130,具体的操作方法可参考步骤S130的详细描述。
其中,所述地形索引信息中任意相邻的三个索引信息与该地形索引信息对应的一行地形方格中的一个三角形网格的各顶点相对应,且一行地形方格对应的地形索引信息中的最后一个索引信息为该行地形方格相邻的下一行地形方格对应的地形索引信息中的第一个索引信息。
可选的,在本实施例中,所述地形顶点方阵中,各所述地形顶点对应的索引信息不同,且所述地形顶点方阵的起始地形顶点对应的索引信息为0或1。
所述地形方阵索引生成模块140用于向各行地形方格对应的地形索引信息中插入节点,以构成地形方阵索引信息。具体的,所述地形方阵索引生成模块140可用于执行图2中所示的步骤S140,具体的操作方法可参考步骤S140的详细描述。
请结合图7,可选的,在本实施例中,所述地形数据处理装置100还包括:边缘方格生成模块150、第二网格划分模块160、边缘索引生成模块170、地形数据索引生成模块180以及缓存模块190。
所述边缘方格生成模块150用于获取根据所述地形顶点方阵的周围添加的边缘顶点,并根据所述边缘顶点及与所述边缘顶点相邻的地形顶点生成边缘方格,其中,相邻的两个方向上的位于端部的边缘顶点重合。具体的,所述边缘方格生成模块150可用于执行图4中所示的步骤S150,具体的操作方法可参考步骤S150的详细描述。
所述第二网格划分模块160用于对各所述边缘方格进行三角形网格划分,以使划分后的各三角形网格的斜边朝向相同具体的,所述第二网格划分模块160可用于执行图4中所示的步骤S160,具体的操作方法可参考步骤S160的详细描述。
所述边缘索引生成模块170用于针对所述地形顶点方阵每个方向上对应的边缘方格,根据该方向上的边缘方格中的各三角形网格的地形顶点和边缘顶点生成一条边缘索引信息。具体的,所述边缘索引生成模块170可用于执行图4中所示的步骤S170,具体的操作方法可参考步骤S170的详细描述。
其中,所述边缘索引信息中任意相邻的三个索引信息与该边缘索引信息对应的方向上的边缘方格中的一个三角形网格的各顶点相对应,一个方向上的边缘方格对应的边缘索引信息中的最后一个索引信息为该方向的时针方向上相邻的下一方向的边缘方格对应的边缘索引信息中的第一个索引信息,且存在一条边缘索引信息中的第一个索引信息为所述地形索引信息的最后一个索引信息,该索引信息为时针方向的起点。
所述地形数据索引生成模块180用于向时针方向上相邻的两条边缘索引信息之间插入节点,以构成地形边缘索引信息,并根据所述地形边缘索引信息和所述地形方阵索引信息得到地形数据索引信息。具体的,所述地形数据索引生成模块180可用于执行图4中所示的步骤S180,具体的操作方法可参考步骤S180的详细描述。
可选的,在本实施例中,所述地形数据处理装置100还包括缓存模块190。所述缓存模块190用于将所述地形数据索引信息缓存至缓冲区,以使在进行地形渲染时调用存储于所述缓冲区中的地形数据索引信息。关于所述缓存模块190的具体实施过程可参照上述的地形数据处理方法中的描述,在此不作具体赘述。
综上,本发明提供的一种地形数据处理方法及装置,方法包括:获取二维地形的地形顶点方阵,并根据所述地形顶点方阵得到多个地形方格,对各所述地形方格以三角形条带的方式进行三角形网格划分,以使划分后同一行地形方格中的各三角形网格的斜边朝向相同,且相邻两行地形方格中的三角形的斜边朝向相反。针对每行地形方格根据该行地形方格中的各三角形网格的地形顶点生成一条地形索引信息,所述地形索引信息中任意相邻的三个索引信息与该地形索引信息对应的一行地形方格中的一个三角形网格的各顶点相对应,且一行地形方格对应的地形索引信息中的最后一个索引信息为该行地形方格相邻的下一行地形方格对应的地形索引信息中的第一个索引信息,向各行地形方格对应的地形索引信息中插入节点,以构成地形方阵索引信息。通过上述设置使得对地形方阵索引信息进行存储时,能够有效减少存储空间。
在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的装置来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种地形数据处理方法,其特征在于,所述方法包括:
获取二维地形的地形顶点方阵,并根据所述地形顶点方阵得到多个地形方格;其中,所述二维地形为二维的规则图像;
对各所述地形方格以三角形条带的方式进行三角形网格划分,以使划分后同一行地形方格中的各三角形网格的斜边朝向相同,且相邻两行地形方格中的三角形的斜边朝向相反;
针对每行地形方格根据该行地形方格中的各三角形网格的地形顶点生成一条地形索引信息,其中,所述地形索引信息中任意相邻的三个索引信息与该地形索引信息对应的一行地形方格中的一个三角形网格的各顶点相对应,且一行地形方格对应的地形索引信息中的最后一个索引信息为该行地形方格相邻的下一行地形方格对应的地形索引信息中的第一个索引信息;
向各行地形方格对应的地形索引信息中插入节点,以构成地形方阵索引信息。
2.根据权利要求1所述的地形数据处理方法,其特征在于,所述方法还包括:
获取根据所述地形顶点方阵的周围添加的边缘顶点,并根据所述边缘顶点及与所述边缘顶点相邻的地形顶点生成边缘方格,其中,相邻的两个方向上的位于端部的边缘顶点重合;各所述边缘顶点分别位于所述地形顶点方阵四周边缘的地形顶点的下方;
对各所述边缘方格进行三角形网格划分,以使划分后的各三角形网格的斜边朝向相同;
针对所述地形顶点方阵每个方向上对应的边缘方格,根据该方向上的边缘方格中的各三角形网格的地形顶点和边缘顶点生成一条边缘索引信息,其中,所述边缘索引信息中任意相邻的三个索引信息与该边缘索引信息对应的方向上的边缘方格中的一个三角形网格的各顶点相对应,一个方向上的边缘方格对应的边缘索引信息中的最后一个索引信息为该方向的时针方向上相邻的下一方向的边缘方格对应的边缘索引信息中的第一个索引信息,且存在一条边缘索引信息中的第一个索引信息为所述地形索引信息的最后一个索引信息,该索引信息为时针方向的起点;
向时针方向上相邻的两条边缘索引信息之间插入节点,以构成地形边缘索引信息,并根据所述地形边缘索引信息和所述地形方阵索引信息得到地形数据索引信息。
3.根据权利要求2所述的地形数据处理方法,其特征在于,所述向各行地形方格对应的地形索引信息中插入节点,以构成地形方阵索引信息的步骤包括:
将任意的地形索引信息中的最后一个地形顶点对应的索引信息添加至该地形索引信息的最后一个索引信息与该地形索引信息对应的一行地形方格相邻的下一行地形方格的地形索引信息的第一个索引信息之间,以构成所述地形方阵索引信息;
向时针方向上相邻的两条边缘索引信息之间插入节点,以构成地形边缘索引信息的步骤包括:
将任意的边缘索引信息中的最后一个索引信息添加至该边缘索引信息中的最后一个索引信息与该边缘索引信息对应的方向上的边缘方格时针方向上相邻的下一方向上的方格的边缘索引信息中的第一个索引信息之间,以构成所述地形边缘索引信息。
4.根据权利要求2所述的地形数据处理方法,其特征在于,所述方法还包括:
将所述地形数据索引信息缓存至缓冲区,以使在进行地形渲染时调用存储于所述缓冲区中的地形数据索引信息。
5.根据权利要求1所述的地形数据处理方法,其特征在于,所述地形顶点方阵中,各所述地形顶点对应的索引信息不同。
6.一种地形数据处理装置,其特征在于,所述装置包括:
地形方格获取模块:用于获取二维地形的地形顶点方阵,并根据所述地形顶点方阵得到多个地形方格;其中,所述二维地形为二维的规则图像;
第一网格划分模块:用于对各所述地形方格以三角形条带的方式进行三角形网格划分,以使划分后同一行地形方格中的各三角形网格的斜边朝向相同,且相邻两行地形方格中的三角形的斜边朝向相反;
地形索引生成模块:用于针对每行地形方格根据该行地形方格中的各三角形网格的地形顶点生成一条地形索引信息,针对每行地形方格根据该行地形方格中的各三角形网格的地形顶点生成一条地形索引信息,其中,所述地形索引信息中任意相邻的三个索引信息与该地形索引信息对应的一行地形方格中的一个三角形网格的各顶点相对应,且一行地形方格对应的地形索引信息中的最后一个索引信息为该行地形方格相邻的下一行地形方格对应的地形索引信息中的第一个索引信息;
地形方阵索引生成模块:用于向各行地形方格对应的地形索引信息中插入节点,以构成地形方阵索引信息。
7.根据权利要求6所述的地形数据处理装置,其特征在于,所述装置还包括:
边缘方格生成模块:用于获取根据所述地形顶点方阵的周围添加的边缘顶点,并根据所述边缘顶点及与所述边缘顶点相邻的地形顶点生成边缘方格,其中,相邻的两个方向上的位于端部的边缘顶点重合;各所述边缘顶点分别位于所述地形顶点方阵四周边缘的地形顶点的下方;
第二网格划分模块:用于对各所述边缘方格进行三角形网格划分,以使划分后的各三角形网格的斜边朝向相同;
边缘索引生成模块:用于针对所述地形顶点方阵每个方向上对应的边缘方格,根据该方向上的边缘方格中的各三角形网格的地形顶点和边缘顶点生成一条边缘索引信息,其中,所述边缘索引信息中任意相邻的三个索引信息与该边缘索引信息对应的方向上的边缘方格中的一个三角形网格的各顶点相对应,一个方向上的边缘方格对应的边缘索引信息中的最后一个索引信息为该方向的时针方向上相邻的下一方向的边缘方格对应的边缘索引信息中的第一个索引信息,且存在一条边缘索引信息中的第一个索引信息为所述地形索引信息的最后一个索引信息,该索引信息为时针方向的起点;
地形数据索引生成模块:向时针方向上相邻的两条边缘索引信息之间插入节点,以构成地形边缘索引信息,并根据所述地形边缘索引信息和所述地形方阵索引信息得到地形数据索引信息。
8.根据权利要求7所述的地形数据处理装置,其特征在于,所述地形方阵索引:还用于将任意的地形索引信息中的最后一个地形顶点对应的索引信息添加至该地形索引信息的最后一个索引信息与该地形索引信息对应的一行地形方格相邻的下一行地形方格的地形索引信息的第一个索引信息之间,以构成所述地形方阵索引信息;
所述地形数据索引生成模块,还用于将任意的边缘索引信息中的最后一个索引信息添加至该边缘索引信息中的最后一个索引信息与该边缘索引信息对应的方向上的边缘方格时针方向上相邻的下一方向上的方格的边缘索引信息中的第一个索引信息之间,以构成所述地形边缘索引信息。
9.根据权利要求7所述的地形数据处理装置,其特征在于,所述装置还包括:
缓存模块:用于将所述地形数据索引信息缓存至缓冲区,以使在进行地形渲染时调用存储于所述缓冲区中的地形数据索引信息。
10.根据权利要求6所述的地形数据处理装置,其特征在于,所述地形顶点方阵中,各所述地形顶点对应的索引信息不同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711283044.XA CN107909538B (zh) | 2017-12-07 | 2017-12-07 | 地形数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711283044.XA CN107909538B (zh) | 2017-12-07 | 2017-12-07 | 地形数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107909538A CN107909538A (zh) | 2018-04-13 |
CN107909538B true CN107909538B (zh) | 2021-05-25 |
Family
ID=61854846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711283044.XA Active CN107909538B (zh) | 2017-12-07 | 2017-12-07 | 地形数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107909538B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109118586B (zh) * | 2018-08-08 | 2023-05-02 | 珠海金山数字网络科技有限公司 | 逻辑地图的数据处理方法、装置、电子设备及存储介质 |
CN109242758A (zh) * | 2018-09-18 | 2019-01-18 | 珠海金山网络游戏科技有限公司 | 一种材质参数存储、材质参数获取方法及装置 |
CN111210515A (zh) * | 2019-12-30 | 2020-05-29 | 成都赫尔墨斯科技股份有限公司 | 一种基于地形实时渲染的机载合成视觉系统 |
CN113920275B (zh) * | 2021-09-30 | 2023-04-04 | 广州极飞科技股份有限公司 | 三角网格构建方法、装置、电子设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117497A (zh) * | 2009-12-30 | 2011-07-06 | 新奥特(北京)视频技术有限公司 | 一种三维地形建模方法及系统 |
CN104318617A (zh) * | 2014-10-17 | 2015-01-28 | 福建师范大学 | 一种面向虚拟应急演练的三维地理场景仿真方法 |
CN105303610A (zh) * | 2015-12-05 | 2016-02-03 | 中国航空工业集团公司洛阳电光设备研究所 | 一种用于机载地形三维图像绘制的地形数据处理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7864175B2 (en) * | 2006-03-09 | 2011-01-04 | Ambercore Software Inc | Fast gridding of irregular data |
-
2017
- 2017-12-07 CN CN201711283044.XA patent/CN107909538B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117497A (zh) * | 2009-12-30 | 2011-07-06 | 新奥特(北京)视频技术有限公司 | 一种三维地形建模方法及系统 |
CN104318617A (zh) * | 2014-10-17 | 2015-01-28 | 福建师范大学 | 一种面向虚拟应急演练的三维地理场景仿真方法 |
CN105303610A (zh) * | 2015-12-05 | 2016-02-03 | 中国航空工业集团公司洛阳电光设备研究所 | 一种用于机载地形三维图像绘制的地形数据处理方法 |
Non-Patent Citations (2)
Title |
---|
3-D Video Coding With Redundant-Wavelet Multihypothesis;Yonghui Wang;《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY》;20060228;第16卷(第2期);第615-618页 * |
基于三角形索引顶点数据结构的三维地形绘制算法;陈孝威 等;《贵州大学学报(自然科学版)》;20081130;第25卷(第6期);第166-177页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107909538A (zh) | 2018-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107909538B (zh) | 地形数据处理方法及装置 | |
CN114020756B (zh) | 遥感影像实时地图服务发布方法和装置 | |
CN111159492A (zh) | 一种轨迹点检索方法、装置、存储介质及终端 | |
CN114677473A (zh) | 三维模型的重建方法、装置、设备及存储介质 | |
JP7095852B2 (ja) | データ集約型視覚化動作におけるgpu性能を向上する方法およびシステム | |
CN110428386B (zh) | 地图网格合并方法、装置、存储介质、电子装置 | |
CN112164127A (zh) | 图片生成方法、装置、电子设备及可读存储介质 | |
CN111796788A (zh) | 弧形显示屏边缘信息压缩存取方法和系统 | |
CN114255160A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN111753038A (zh) | 一种地图数据的渲染方法及系统 | |
CN114404954A (zh) | 一种处理小地图的方法、装置、终端及存储介质 | |
CN105069747B (zh) | 图像插值方法及装置 | |
CN109408674B (zh) | 基于仙人掌树的数据可视化方法、装置、设备及存储介质 | |
CN113642589B (zh) | 图像特征提取方法及装置、计算机设备和可读存储介质 | |
CN114626978A (zh) | 一种图像处理方法、装置、计算机设备以及存储介质 | |
CN112214562A (zh) | 数据处理方法、装置、电子设备及机器可读存储介质 | |
CN113032509B (zh) | 基于分布式集群的地图切片方法、装置、设备及介质 | |
CN104238834B (zh) | 一种提高触控灵敏度的方法及系统 | |
CN106934847B (zh) | 图案生成方法及装置 | |
CN116309004A (zh) | 图像存储方法、装置、计算机设备及存储介质 | |
CN115861552A (zh) | 基于深度学习的地貌晕渲图生成方法及系统 | |
CN115619964A (zh) | 数据处理的方法和装置 | |
CN112825567B (zh) | 快速显示定位系统播发服务覆盖范围的方法及其系统 | |
CN113111891B (zh) | 一种图像重建方法、装置、终端设备和存储介质 | |
CN111259165B (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 |