一种面向TIN构建的Peano排序方法技术

技术编号:13747586 阅读:38 留言:0更新日期:2016-09-24 04:27
本发明专利技术涉及一种面向TIN构建的Peano排序方法,包括如下步骤:读入待排序的二维点集P;分解点集P为三个子点集,以调整点集P内点的存储顺序;依次分解三个子点集,以调整子点集内点的存储顺序;判断每个子点集是否分解完毕;等待所有子点集分解结束,即完成点集的Peano排序。本发明专利技术的方法能够直接根据点集的坐标来对点集进行Peano排序,从而摆脱对网格的依赖,能够有效地解决TIN构建过程中点集的Peano排序问题,大大减少了不必要的计算开销,进而提高TIN构建的算法效率。

【技术实现步骤摘要】

本专利技术涉及地理信息系统、地质学、计算机图形学、计算机仿真及虚拟现实等领域,具体涉及一种面向TIN构建的Peano排序方法
技术介绍
DTM(数字表面模型)是实现地形三维可视化的一种有效途径。栅格和TIN(不规则三角网)是表示DTM的两种主要数据格式。与栅格方法对格网的周围采样点按照距离远近加权平均的思想不同,TIN方法采取的是一种更加忠实于原始数据的方法,它几乎完整地保留了原始数据,按Delaunay原则将采样点直接连成网建立起模型。因此,TIN在地理信息系统、地质学、计算机图形学、计算机仿真及虚拟现实等领域都有着广泛的应用,是目前DTM常采用的一种格式。在众多的TIN构建算法中,逐点插入法由于算法简单、占用空间小、便于动态更新等优点逐渐成为目前最流行的一种算法。起初逐点插入法的效率比较低,为了提高构网的效率,学者们设计了许多的改进方案。经过Lee、Bowyer、Watson、sloan、Macedonia、Floriani、Tasi先后对逐点插入法不同程度的发展和完善,形成了以创建初始包围盒、点定位、空腔扩展、更新三角网为主要流程的逐点插入法。在此基础上,为了进一步提高逐点插入法的算法效率,学者们的研究焦点主要集中在“点定位”这个过程上。Sloan提出了划分均匀网格,按网格将点排序后插入的方法。在划分均匀网格排序的基础上,又有学者提出了依照不同的空间填充曲线顺序遍历插入网格中点的方法,进一步提高了“点定位”的效率。空间填充曲线是闭合间隔单元I=[0,1]到闭合矩形单元S=[0,1]2的连续映射,也是所有能够填满二维或更高维空间的连续分形曲线的总称,应用最广泛的空间曲线包括Morton曲线、Peano曲线和Hilbert曲线。Peano曲线具有良好的空间聚集性及空间连续性,可以与逐点插入法结合,以提高构网的效率。然而,传统中利用Peano曲线进行排序的方法都是面向空间剖分的方法,以栅格辅助进行点集排序,需要将栅格不断的细分至每个格元中仅包含一个点,然后根据格元的行、列号计算对应的Peano编码值,再将栅格中的点按照Peano编码顺序输出,进而得到排好序的点集。但是这些方法不适用于TIN构建过程的排序操作,因为两点原因:(1)内存消耗过大。随着数据采集技术的发展,点集的数据量越来
越大,点与点之间的间距越来越小,使得用于辅助的网格往往很庞大,而且细分的层次非常高,占用极高的内存;(2)排序效率较低。使用网格辅助排序,是一种从网格出发的排序算法,需要逐个判断每个点所处的网格,这个过程非常费时,使用这种方法,往往排序的时间比构网的时间还要久。
技术实现思路
为了改善传统Peano排序方法的不足及提高逐点插入法构网的效率,本专利技术提出一种全新的Peano排序方法,在显著降低算法内存需求的情况下,极大的提高了Peano排序的效率,有利于Peano排序的推广和应用。本专利技术的技术方案是:一种面向TIN构建的Peano排序方法,包括以下步骤:(1)读入待排序的二维点集P={pi,i∈[0,n)本文档来自技高网
...

【技术保护点】
一种面向TIN构建的Peano排序方法,其特征在于,包括以下步骤:(1)读入待排序的二维点集P={pi,i∈[0,n)},包括n个点的X坐标和Y坐标,定义点集在坐标轴上的排序方向:升序Asc和降序Des,设初始点集P在X轴上的排序方向Dx为升序Asc,在Y轴上的排序方向Dy为升序Asc;(2)分解点集P以调整点集P内点的存储顺序:将点集P分为三部分:P1、P2和P3,具体过程为:计算点集P的X坐标数和X坐标数利用和调整点集P内点的存储顺序,以满足如下条件:如果排序方向Dx是升序Asc,如果排序方向Dx是降序Des,此时,设(3)分解点集P1以调整点集P1内点的存储顺序:将点集P1分为三个子点集:P11、P12和P13,具体过程为:计算点集P1的Y坐标数和Y坐标数利用和调整点集P1内点的存储顺序,以满足如下条件:如果排序方向Dy是升序Asc,如果排序方向Dy是降序Des,此时,设(4)分解点集P2以调整点集P2内点的存储顺序:将点集P2分为三个子点集:P21、P22和P23,具体过程为:计算点集P2的Y坐标数和Y坐标数利用和调整点集P2内点的存储顺序,以满足如下条件:如果排序方向Dy是升序Asc,如果排序方向Dy是降序Des,此时,设(5)分解点集P3以调整点集P3内点的存储顺序:将点集P3分为三个子点集:P31、P32和P33,具体过程为:计算点集P3的Y坐标数和Y坐标数利用和调整点集P3内点的存储顺序,以满足如下条件:如果排序方向Dy是升序Asc,如果排序方向Dy是降序Des,此时,设(6)对于步骤(2)、(3)、(4)和(5)中分解得到的子点集P11、P12、P13、P21、P22、P23、P31、P32和P33,逐个判断其中包含的点数是否大于1,如果是,则说明该子点集需要继续分解,以该子节点作为输入点集P,递归执行步骤(2)、(3)、(4)和(5),其中每个子点集的划分方向,依次为:(Dx,Dy)、(!Dx,Dy)、(Dx,Dy)、(Dx,!Dy)、(!Dx,!Dy)、(Dx,!Dy)、(Dx,Dy)、(!Dx,Dy)、(Dx,Dy),括号中!表示对排序方向取反方向;(7)等待所有子点集分解结束,即完成点集的Peano排序。...

【技术特征摘要】
1.一种面向TIN构建的Peano排序方法,其特征在于,包括...

【专利技术属性】
技术研发人员:刘年涛周良辰林冰仙
申请(专利权)人:南京师范大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1