全球层次地形模型开孔建模方法

文档序号:6399861阅读:228来源:国知局
专利名称:全球层次地形模型开孔建模方法
技术领域
本发明涉及工业控制网络技术领域,具体地指一种全球层次地形模型开孔建模方法。
背景技术
三维数字地球风靡全球,如Google Earth,深受广大工程人员及GIS开发人员的喜爱。但其地图内的地形不能修改,无法在其上进行道路路基、桥梁、隧道设计及大型建筑物、场地施工的设计。很显然,基础地形数据是广泛共享给所有用户的通用数据,公共三维GIS平台不能提供地形修改的功能除了存在技术上的困难外,更重要是的需要保护公有共享基础数据不能因为个性化需要而得到破坏,还有一点,既便是建立本地私有数据,也不能在精度上通过地形数据调整实现精细化地形调整表达。一种可以考虑的地形重构途径是,通过将一定区域内的地形屏蔽掉,形成一个地形孔,并使得孔外的地形无缝地与孔边界缝合,而可以在孔内部叠置同样与孔边界完全缝合的独立工程模型,这样就可以在不改变基础地形数据的情形,高精度的实现地形的重构,而且可以保持工程模型的独立性。设计或叠置表达工程模型是不存在技术问题的,但我们可以看到,无论是强大的Google Earth,还是专门面向全球工程表达的Skyline Globe,都没有发布地形重构等类似的地形应用,关键的难题就是如何高效地在全球三维表达开出一个孔,是困扰人们多年的一个难题。构成这一技术难点的原因有如下几点:1)大区域地形表达尤其是全球地形表达,往往是海量地形数据的表达,效率是致关重要的技术考虑因素,复杂的模型结构或混合建模技术都可能会对地形表达与交互效率带来致命的影响,这就是为什么有些能够在小区域地形表达上实现的开孔技术难以移植到全球地形表达上的原因;2)大区域地形是动态的三维模型,要实时根据视点呈现不同的地形模型,本身的系统开销就很大,如果处理过于复杂的开孔实现,将使得处理难度相对静态地形模型更加复杂,效率更会成级数下降;3)大区域地形为了实现漫游效果与效率的需要,通常都需要采用以地形块为独立表达单位的多层次分块地形表达,要处理这种分层、分块的动态地形模型将会使得处理复杂度急剧上升;4)同样为了保持大区域地形的效率,绝大部分地形块的表达是以规则的网格建模方式来构建地形模型的,它有一个致命的弱点就是不能实现精细化模型表达,因而从模型性质上来讲它不可能实现非规则地形的表达,它成为解决大区域地形重构的致命难点问题。

发明内容
本发明的目的就是要提供一种全球层次地形模型开孔建模方法,该方法通过对地形块中部分三角形的模型索引数据进行剔除实现区域屏蔽,通过外围边界顶点进行投射调整顶点数据实现独立的块内孔边缝合处理。以非常小的代价、在没有改变模型性质的情形下实现了地形的开孔建模。
为实现此目的,本发明所设计的一种全球层次地形模型开孔建模方法,其特征在于,该方法包括如下步骤:步骤1:根据给定的需要开孔的区域即重构多边形区域,判断所有已加载的地形块中每个地形块是否与重构多边形区域存在交集,若不存在交集则不进行处理,若存在交集则进入步骤2 ;步骤2:将步骤I中判断出来与重构多边形区域有交集的地形块的模型顶点再次逐一进行判中操作即判断上述模型顶点是否在重构多边形区域内,对每个地形块设置一个标志数组记载该地形块的模型顶点是不是在重构多边形区域内,如果地形块的某个模型顶点处于重构多边形区域内,则将该模型顶点标志设置为True,否则设置为False ;步骤3:依据步骤2得到的模型顶点是不是在重构多边形区域内的标志数组,对地形块的每一个三角形子地形块进行判断:只要三角形子地形块有一个模型顶点的标志为True,则从地形块的索引数组中删除对应的三角形索引值,也就是相当于从地形块中剔除了该三角形子地形块。 对所有三角形子地形块处理后,将得到的地形块索引数组重新构建三角形索引缓冲区,这样可以得到一个被粗略屏蔽的带孔地形块;步骤4:为上述粗略屏蔽的带孔地形块分配一个顶点数组用于记载外围边界顶点数据,并提取外围边界线顶点;步骤5:对上述步骤中所有提取的外围边界顶点,逐一将其投射到给定多边形的对应的边线上,用投射点的位置来置换上述外围边界线顶点的位置,这样相当于将这些边界线上的顶点隐含地挪到开孔区域边线上;此多边形通常与重构多边形区域一致,但允许其与重构多边形区域不一致以得到更丰富的重构应用需求;步骤6:将上述所有包括外围边界点在内的模型顶点的数据重新写回到顶点缓冲区,以便地形模型能够将重构后的模型显示出来,屏蔽重构多边形区域内的顶点及模型,即完成全球层次网格地形模型开孔的建模操作。所述步骤4中,所述外围边界线顶点的提取步骤需要对每一个删除的三角形子地形块的三个顶点分别进行判断;如果三角形子地形块的三个顶点中有一个顶点在重构多边形区域内,对另外两个顶点加入到边界顶点数组中;如果三角形子地形块的三个顶点中有两个顶点在重构多边形区域内,对另外一个顶点加入到边界顶点数组中;如果三角形子地形块的三个顶点均在重构多边形区域内,则不加入边界顶点数组,已经加入到边界数组的顶点不再重复加入。所述步骤2中,当需要重构的区域有多个时,通过“或”逻辑运算对同一顶点的多次判中操作进行综合后继续第3步的步骤。所述步骤6中,保留重构多边形区域内的顶点,不将其删除,以免由于破坏掉三角形索引数据的组织,而导致的需要对整个地形进行重新的复杂建模。所述步骤2中,判断上述模型顶点是否在重构多边形区域内,并以此设置标志数组的具体的方法为:将重构多边形区域以填充方式绘制到位图上,根据像素填充色设置相应模型顶点的是不是在重构多边形区域内的True值或False值,具体步骤如下:
步骤201:根据与重构多边形区域有交集的地形块的模型顶点行列数量创建一幅等幅大小的位图,以保障每一个像素与一个模型顶点对应;步骤202:对重构多边形区域向统一的像素坐标空间转换,并以地形块确立的像素偏移量绘制到位图上,并以一种填充色填充重构多边形区域;步骤203:逐一检索位图的像素颜色,将颜色为填充色的像素行列号对应的模型顶点标志数组值设为True,否则设为False ;所述步骤4中,通过在步骤202所得位图的基础上进行多个缓冲顶点的外围边界提取,要得到η个顶点缓冲宽度的外围边界具体的操作步骤如下,其中η>=1 ;步骤401:对步骤202得到了位图,以2η+1个像素宽画笔进行转换后的多边形绘制,着一种边界色;步骤402:再以2η_1个像素宽画笔进行转换后的多边形绘制,以填充色进行绘制;步骤403:逐一检索位图的像素颜色,将颜色为边界色的像素行列号对应的顶点加入到外围边界顶点数组中。所述步骤I中,通过判断每个地形块的四个顶点和一个中点是否与重构多边形区域存在交集,来判断地形块与重构多边形区域是否存在交集。所述步骤2中,通过几何判中方法判断上述模型顶点是否在重构多边形区域内。本发明通过对顶点的判断剔除孔内关联模型索引数据,实现对孔内三角形的屏蔽;通过保持顶点缓冲器区规模与数据,避免重新地形块建模;通过提取孔外边缘边界顶点,并对边界顶点向孔边线上进行几何投射实现顶点位置的调整;通过上述步骤更新顶点缓冲器数据与索引缓冲区数据实现不规则地形块完全规则格网模式下的逻辑组织表达,实现了在不改变规则地形表达方式与结构的情形下,不明显增加系统计算开销地实现模型重构。本发明在不改变地形模型结构性质与不影响场景调度模型逻辑组织的情况下,实现区域开孔不规则地形块的一致高效表达,提供了一种高效可行的大区域或全球地形的多层次多分辨率三维地形表达中提供开孔重构的方法。


图1本发明中多个地形块上区域开孔示意图;图2发明中地形块孔内、外顶点判中分布示意图;图3发明中孔外边缘顶点提取示意图;图4发明中边界点向孔边上投射调整示意图;图5发明中经过开孔处理后单块不规则表达示意图;图6发明中开孔重构建模整体效果图。
具体实施例方式以下结合附图和具体实施例对本发明作进一步的详细说明:众所周知全球地形是动态的模型表达,随视点变化地形块在不断地创建与销毁,地形开孔要保障漫游的流畅,效率是至关重要的控制因素,因此地形块内建模采用网格模型既能保障效率,也能避免与复杂三角网的整合开发;全球地形模型是多层次的,在同一个场景中,会存在不同节点层的以不同尺度表达的地形块,地形块的表达是独立的,接边是通过采点数据一致来实现无缝的,不存在块的接边处理机制,因此地形开孔的实现要保持这种块建模与表达独立性为佳。基于上述两个特点,对全球地形的开孔实现最佳途径还是采用块内的规则格网模型进行表达为佳。但规则格网有一个显著的特点就是无法精确地描述一个非规则实体的边缘,其实,对计算机的算法实现而言,规则格网最重要是的实现算法与组织存储上的逻辑规则性,即逻辑结构上的规则性,但呈现出来的是不是规则的正正方方的地形,并不是由这种组织逻辑的规则性来决定的,而是数据,也就是说,如果我们保持了这种组织结构的逻辑规则性,而仅仅修改的规则格网顶点的数据,则同样可以呈现各种不规则的模型,正是深入理解到了这一点,对我们提出投射校正开孔技术提供了关键性的思维启示,通过对地形顶点的屏蔽、投射校正等手段,实现了在全球规则格网地形上的最简化开孔技术实现。具体来说本发明公开的全球层次地形模型开孔建模方法,该方法包括如下步骤:步骤1:根据给定的需要开孔的区域即重构多边形区域,如图1所示,判断所有已加载的地形块中每个地形块是否与重构多边形区域存在交集,若不存在交集则不进行处理,若存在交集则进入步骤2 ;步骤2:将步骤I中判断出来与重构多边形区域有交集的地形块的模型顶点再次逐一进行判中操作即判断上述模型顶点是否在重构多边形区域内,对每个地形块设置一个标志数组记载该地形块的模型顶点是不是在重构多边形区域内,如果地形块的某个模型顶点处于重构多边形区域内,则将该模型顶点标志设置为True,否则设置为False ;这样可以呈现所有顶点的分布情况,如图2中圆点网格所示。步骤3:依据步骤2得到的模型顶点是不是在重构多边形区域内的标志数组,对地形块的每一个三角形子地形块进行判断:只要三角形子地形块有一个模型顶点的标志为True,则从地形块的索引数组中删除对应的三角形索引值,也就是相当于从地形块中剔除了该三角形子地形块。对所有三角形子地形块处理后,将得到的地形块索引数组重新构建三角形索引缓冲区,这样可以得到一个被粗略屏蔽的带孔地形块,如图3所示;步骤4:为上述粗略屏蔽的带孔地形块分配一个顶点数组用于记载外围边界顶点数据,并提取外围边界线顶点;该外围边界线顶点在孔外,但不一定跟孔完全重合,如图2中小黑方框点组成的连线;步骤5:对上述步骤中所有提取的外围边界顶点,逐一将其投射到给定多边形的对应的边线上,如图4所示,用投射点的位置来置换上述外围边界线顶点的位置,这样相当于将这些边界线上的顶点隐含地挪到开孔区域边线上;此多边形通常与重构多边形区域一致,但允许其与重构多边形区域不一致以得到更丰富的重构应用需求;上述投射的几何意义即点到边界线段的投射,其投射点的位置可以是边界线段的端点或垂足;步骤6:将上述所有包括外围边界点在内的模型顶点的数据重新写回到顶点缓冲区,以便地形模型能够将重构后的模型显示出来,屏蔽重构多边形区域内的顶点及模型,即完成全球层次网格地形模型开孔的建模操作。上述技术方案的步骤4中,所述外围边界线顶点的提取步骤需要对每一个删除的三角形子地形块的三个顶点分别进行判断;如果三角形子地形块的三个顶点中有一个顶点在重构多边形区域内,对另外两个顶点加入到边界顶点数组中;如果三角形子地形块的三个顶点中有两个顶点在重构多边形区域内,对另外一个顶点加入到边界顶点数组中(如图3中ABC三角形区域中的关联顶点C);如果三角形子地形块的三个顶点均在重构多边形区域内,则不加入边界顶点数组,已经加入到边界数组的顶点不再重复加入。上述技术方案的步骤2中,当需要重构的区域有多个时,通过“或”逻辑运算对同一顶点的多次判中操作进行综合后继续第3步的步骤。上述技术方案的步骤6中,保留重构多边形区域内的顶点,不将其删除,以免由于破坏掉三角形索引数据的组织,而导致的需要对整个地形进行重新的复杂建模。上述技术方案的步骤2中,判断上述模型顶点是否在重构多边形区域内,并以此设置标志数组的具体的方法为:将重构多边形区域以填充方式绘制到位图上,根据像素填充色设置相应模型顶点的是不是在重构多边形区域内的True值或False值,具体步骤如下:步骤201:根据与重构多边形区域有交集的地形块的模型顶点行列数量创建一幅等幅大小的位图,以保障每一个像素与一个模型顶点对应;步骤202:对重构多边形区域向统一的像素坐标空间转换,并以地形块确立的像素偏移量绘制到位图上,并以一种填充色填充重构多边形区域;步骤203:逐一检索位图的像素颜色,将颜色为填充色的像素行列号对应的模型顶点标志数组值设为True,否则设为False ;上述技术方案的步骤4中,还可以通过在步骤202所得位图的基础上进行多个缓冲顶点的外围边界提取,要得到η个顶点缓冲宽度的外围边界具体的操作步骤如下,其中η>=1 ;步骤401:对步骤202得到了位图,以2η+1个像素宽画笔进行转换后的多边形绘制,着一种边界色;步骤402:再以2η_1个像素宽画笔进行转换后的多边形绘制,以填充色进行绘制;步骤403:逐一检索位图的像素颜色,将颜色为边界色的像素行列号对应的顶点加入到外围边界顶点数组中。上述技术方案的步骤I中,通过判断每个地形块的四个顶点和一个中点是否与重构多边形区域存在交集,来判断地形块与重构多边形区域是否存在交集。上述技术方案的步骤2中,还可以通过几何判中方法判断上述模型顶点是否在重构多边形区域内。上述技术方案的步骤I中,对全球地形的挖孔处理都仅限于地形块内部实现,所以首先要判断重整区域落在哪些地形块上,直观的做法就是对当前渲染的叶子节点地形块或渲染队列中的地形块进行逐一判断,这里可以通过四个边角顶点加地形块中心顶点进行五点多边形判中法来确立地形块是不是与重构多边形区域有交集,对存在交集的地形块,无论是处于哪一层的地形块,均可按照如下一致的处理办法进行处理。
本发明中重构顶点缓冲区后的地形表达模型如图5所示,它就像是将一个皮球的边界进行牵扯而实现边界的光滑与无缝表达。这样在表现上看起来不像规则格网的处理方式,其所有环节的实施与组织模式都完全是规则格网的表达,所有对模型的调整仅限于删除一些三角形索引并修改部分顶点的坐标位置。因而它最大的优点是处理轻量级的调整,非常适合于海量的大区域全球地形表达中;另一个优点是所有的处理完全控制在地形块内进行,多个地形块及边界地形块在经过一致化处理后,无论是不是同一层级,均能形成一个或多个完整的地形孔状模型,如图6所示。本说明书未作详细描述的内容属于本领域专业技术人员公知的现有技术。
权利要求
1.一种全球层次地形模型开孔建模方法,其特征在于,该方法包括如下步骤: 步骤1:根据给定的需要开孔的区域即重构多边形区域,判断所有已加载的地形块中每个地形块是否与重构多边形区域存在交集,若不存在交集则不进行处理,若存在交集则进入步骤2 ; 步骤2:将步骤I中判断出来与重构多边形区域有交集的地形块的模型顶点再次逐一进行判中操作即判断上述模型顶点是否在重构多边形区域内,对每个地形块设置一个标志数组记载该地形块的模型顶点是不是在重构多边形区域内,如果地形块的某个模型顶点处于重构多边形区域内,则将该模型顶点标志设置为True,否则设置为False ; 步骤3:依据步骤2得到的模型顶点是不是在重构多边形区域内的标志数组,对地形块的每一个三角形子地形块进行判断:只要三角形子地形块有一个模型顶点的标志为True,则从地形块的索引数组中删除对应的三角形索引值,也就是相当于从地形块中剔除了该三角形子地形块; 对所有三角形子地形块处理后,将得到的地形块索引数组重新构建三角形索引缓冲区,这样可以得到一个被粗略屏蔽的带孔地形块; 步骤4:为上述粗略屏蔽的带孔地形块分配一个顶点数组用于记载外围边界顶点数据,并提取外围边界线顶点; 步骤5:对上述步骤中所有提取的外围边界顶点,逐一将其投射到给定多边形的对应的边线上,用投射点的位置来置换上述外围边界线顶点的位置,这样相当于将这些边界线上的顶点隐含地挪到 开孔区域边线上;此多边形通常与重构多边形区域一致,但允许其与重构多边形区域不一致以得到更丰富的重构应用需求; 步骤6:将上述所有包括外围边界点在内的模型顶点的数据重新写回到顶点缓冲区,以便地形模型能够将重构后的模型显示出来,屏蔽重构多边形区域内的顶点及模型,即完成全球层次网格地形模型开孔的建模操作。
2.根据权利要求1所述的全球层次地形模型开孔建模方法,其特征在于:所述步骤4中,所述外围边界线顶点的提取步骤需要对每一个删除的三角形子地形块的三个顶点分别进行判断; 如果三角形子地形块的三个顶点中有一个顶点在重构多边形区域内,对另外两个顶点加入到边界顶点数组中; 如果三角形子地形块的三个顶点中有两个顶点在重构多边形区域内,对另外一个顶点加入到边界顶点数组中; 如果三角形子地形块的三个顶点均在重构多边形区域内,则不加入边界顶点数组,已经加入到边界数组的顶点不再重复加入。
3.根据权利要求1所述的全球层次地形模型开孔建模方法,其特征在于:所述步骤2中,当需要重构的区域有多个时,通过“或”逻辑运算对同一顶点的多次判中操作进行综合后继续第3步的步骤。
4.根据权利要求1所述的全球层次地形模型开孔建模方法,其特征在于:所述步骤6中,保留重构多边形区域内的顶点,不将其删除,以免由于破坏掉三角形索引数据的组织,而导致的需要对整个地形进行重新的复杂建模。
5.根据权利要求1所述的全球层次网格地形模型开孔建模方法,其特征在于:所述步骤2中,判断上述模型顶点是否在重构多边形区域内,并以此设置标志数组的具体的方法为:将重构多边形区域以填充方式绘制到位图上,根据像素填充色设置相应模型顶点的是不是在重构多边形区域内的True值或False值,具体步骤如下: 步骤201:根据与重构多边形区域有交集的地形块的模型顶点行列数量创建一幅等幅大小的位图,以保障每一个像素与一个模型顶点对应; 步骤202:对重构多边形区域向统一的像素坐标空间转换,并以地形块确立的像素偏移量绘制到位图上,并以一种填充色填充重构多边形区域; 步骤203:逐一检索位图的像素颜色,将颜色为填充色的像素行列号对应的模型顶点标志数组值设为True,否则设为False。
6.根据权利要求1或5所述的全球层次网格地形模型开孔建模方法,其特征在于:所述步骤4中,通过在步骤202所得位图的基础上进行多个缓冲顶点的外围边界提取,要得到η个顶点缓冲宽度的外围边界具体的操作步骤如下,其中η>=1 ; 步骤401:对步骤202得到了位图,以2η+1个像素宽画笔进行转换后的多边形绘制,着一种边界色; 步骤402:再以2η-1个像素宽画笔进行转换后的多边形绘制,以填充色进行绘制; 步骤403:逐一检索位图的像素颜色,将颜色为边界色的像素行列号对应的顶点加入到外围边界顶点数组中。
7.根据权利要求1所述的全球层次地形模型开孔建模方法,其特征在于:所述步骤I中,通过判断每个地形块的四个顶 点和一个中点是否与重构多边形区域存在交集,来判断地形块与重构多边形区域是否存在交集。
8.根据权利要求1所述的全球层次地形模型开孔建模方法,其特征在于:所述步骤2中,通过几何判中方法判断上述模型顶点是否在重构多边形区域内。
全文摘要
本发明所设计的一种全球层次地形模型开孔建模方法,该方法包括如下步骤重构地形边界生成与地形块顶点交集判断;逐一判断覆盖地形块的覆盖顶点,并提取外围边界点;删去孔内三角形索引并提取区域边界;边界点进行投射修正;更新顶点缓冲区实现非规则地形块的表达。本发明在不改变地形模型结构性质与不影响场景调度模型逻辑组织的情况下,实现区域开孔不规则地形块的一致高效表达,提供了一种高效可行的大区域或全球地形的多层次多分辨率三维地形表达中提供开孔重构的方法。
文档编号G06T17/05GK103093500SQ20131006530
公开日2013年5月8日 申请日期2013年2月28日 优先权日2013年2月28日
发明者韩元利, 邓振林, 喻文球, 黄仁波, 朱江 申请人:中铁第四勘察设计院集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1