[发明专利]一种面向任意分布大规模点云数据的快速Delaunay构网方法有效
申请号: | 201410629392.8 | 申请日: | 2014-11-10 |
公开(公告)号: | CN105654552B | 公开(公告)日: | 2018-10-30 |
发明(设计)人: | 苏天赟;王雯;刘海行;吴蔚;李新放;刘加银;丁明;贾贞;宋转玲;宋庆磊;周林 | 申请(专利权)人: | 国家海洋局第一海洋研究所 |
主分类号: | G06T17/20 | 分类号: | G06T17/20 |
代理公司: | 山东济南齐鲁科技专利事务所有限公司 37108 | 代理人: | 向家琪 |
地址: | 266061*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 任意 分布 大规模 数据 快速 delaunay 方法 | ||
1.一种面向任意分布大规模点云数据的快速Delaunay构网方法,其特征在于:包括以下步骤:
步骤一:划分多重网格,并以Hilbert曲线遍历网格的方式,对插入点的顺序进行排序:
A:建立控制点数组和非控制点数组,用于存储点排序数据;
B:根据数据点的个数建立一级网格,并将点分配到网格中;
C:对划分好的一级网格按照Hilbert曲线从左下角到右下角的顺序进行排序;
D:对排序后的一级网格,按顺序对每个网格进行控制点和非控制点的提取;
E:设定网格中的点数的上限阈值,如果当前网格中的点数超过该阈值,则按照步骤B至步骤D网格迭代划分,在迭代划分过程中,对网格开口方向进行调整,但不进行控制点的提取;
步骤二:创建初始三角网:
通过选择把数据点坐标最大值加上一个较小的数,最小值减一个较小的数;找到能够包围所有数据点的初始矩形凸壳连接初始矩形凸壳的一条对角线,将其分为两个三角形,作为初始三角网,并为初始三角网添加邻接关系;
步骤三:逐点插入:按照先插入控制点数组,插入顺序是原存储顺序的逆序、后插入非控制点数组,插入顺序与原存储顺序相同,逐点进行如下操作:
A:对插入点进行定位;
B:构建包含当前插入点所有影响域的空腔;把当前插入点所在三角形的三条边作为空腔边,分别对空腔边的邻接三角形做外接圆检测;若当前插入点位于某三角形外接圆内部,则将该三角形对应的空腔边删除,将该三角形的另两边加入到空腔边中,继续对空腔边进行判断,直到所有空腔边的邻接三角形的外接圆都不包含当前插入点;
C:三角网更新:将当前插入点与得到的空腔节点相连,形成新的三角形,并更新由空腔形成的新三角形及其相邻三角形的邻接关系;
步骤四:删除辅助三角形:全部点集插入后,将顶点中含有矩形凸壳四个顶点的三角形删除,即完成了Delaunay三角网的构建。
2.根据权利要求1所述的一种面向任意分布大规模点云数据的快速Delaunay构网方法,
其特征在于:步骤一中的步骤B中建立一级网格,并将点分配到网格中按如下方法进行:
S1:设定平均每个网格点数,用总点数除以平均点数即为网格的个数;
S2:将网格的个数调整至4的整数次幂的形式,并保持行与列的网格数相同;
S3:以点云数据中x,y坐标的最大最小值为边界,划分网格,并根据每个数据点的位置将点分配到一级网格中去。
3.根据权利要求1所述的一种面向任意分布大规模点云数据的快速Delaunay构网方法,
其特征在于:步骤一中的步骤D中对于控制点和非控制点的提取按如下方法进行:
s1:如果当前网格有点,则将第一个点放入控制点数组;
s2:设定网格中的点数的上限阈值,如果当前网格中的点数小于等于所设定的阈值,则将除控制点外的其他点放入非控制点数组。
4.根据权利要求1所述的一种面向任意分布大规模点云数据的快速Delaunay构网方法,其特征在于:步骤一中的步骤E中对网格的迭代划分按如下方法进行:
St1:若当前网格中的点数超过阈值,则对目前操作的网格区域,按照与一级网格相同的划分规则,进行下级网格的迭代划分;
St2:在迭代划分过程中,不再进行控制点的提取,已排序的网格中的点全部放入非控制点数组;
St3:在对当前网格进行Hilbert排序时,通过Hilbert曲线的开口方向调整,保证对于总体的遍历顺序,把所有网格按照放入非控制点集的顺序连接起来,所形成的Hilbert曲线没有交叉。
5.根据权利要求1所述的一种面向任意分布大规模点云数据的快速Delaunay构网方法,其特征在于:步骤三的步骤A中,对插入点进行定位按如下方法进行:
a:找到最新更新的三角形,即对上一个插入点进行处理时三角网中最后一个新生成的三角形,设该三角形顶点为A、B、C,沿逆时针排列;
b:设当前插入点坐标为P,P与三角形三边AB、BC、CA构成的三角形面积分别为计算SA,SB,SC,判断其中小于0的个数;若SA,SB,SC均大于等于0,则△ABC即为当前待插点P所在三角形,点定位过程结束;当SA,SB,SC有一个小于0时,进行步骤c,当SA,SB,SC有两个小于0时,进行步骤d;
c:找到相应小于0的S,此时P应位于该小于0的S所对应的边的外侧;把该边的临边三角形作为△ABC,返回步骤b继续判断;
d:找到相应小于0的两个S中最小的S,此时把最小的S所对应的边的临边三角形作为△ABC,返回步骤b继续判断。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家海洋局第一海洋研究所,未经国家海洋局第一海洋研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410629392.8/1.html,转载请声明来源钻瓜专利网。