CN113011113B - 一种离散点云重复点快速查找方法 - Google Patents

一种离散点云重复点快速查找方法 Download PDF

Info

Publication number
CN113011113B
CN113011113B CN202110308512.4A CN202110308512A CN113011113B CN 113011113 B CN113011113 B CN 113011113B CN 202110308512 A CN202110308512 A CN 202110308512A CN 113011113 B CN113011113 B CN 113011113B
Authority
CN
China
Prior art keywords
discrete
space
points
point
cuboid
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
Application number
CN202110308512.4A
Other languages
English (en)
Other versions
CN113011113A (zh
Inventor
孙岩
邓学霖
赵莹
江盟
邓彦增
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Computational Aerodynamics Institute of China Aerodynamics Research and Development Center
Original Assignee
Computational Aerodynamics Institute of China Aerodynamics Research and Development Center
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Computational Aerodynamics Institute of China Aerodynamics Research and Development Center filed Critical Computational Aerodynamics Institute of China Aerodynamics Research and Development Center
Priority to CN202110308512.4A priority Critical patent/CN113011113B/zh
Publication of CN113011113A publication Critical patent/CN113011113A/zh
Application granted granted Critical
Publication of CN113011113B publication Critical patent/CN113011113B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/28Design optimisation, verification or simulation using fluid dynamics, e.g. using Navier-Stokes equations or computational fluid dynamics [CFD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/08Fluids
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/14Force analysis or force optimisation, e.g. static or dynamic forces

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Fluid Mechanics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Image Generation (AREA)

Abstract

本发明涉及一种离散点云重复点快速查找方法,通过构建离散点云所在的长方体空间,并将长方体空间切分为多个长方体空间小格;判断每个离散空间点所属长方体空间小格的编号;建立离散空间点在离散点云中的编号与在所属长方体空间小格中的排列编号的映射关系;然后,对长方体空间小格中所有离散空间点进行遍历查重,建立长方体空间小格中的空间重复点编号信息,并据此重构离散点云中的空间重复点编号信息,从而获取离散点云中的全部空间重复点编号信息。本发明将一个大的点云循环遍历问题,分割为多个小的点云循环遍历,能够快速确定空间重复点在离散点云中的编号和位置等信息,大幅降低大规模点云中重复点的查找时间、提高查找效率。

Description

一种离散点云重复点快速查找方法
技术领域
本发明涉及计算力学中网格生成和网格变形,尤其涉及计算流体力学中的网格生成和网格变形领域。
背景技术
计算流体力学CFD(Computational Fluid Dynamics)是开展流体力学机理研究的重要手段之一,在航空航天飞行器设计与性能评估中发挥着愈来愈重要的作用。CFD通过计算网格对流场空间进行离散,然后求解代数离散方程获取流动变量,如密度、压力和温度等,并沿飞行器表面积分得到飞行器整体的性能特性。因此,计算网格是开展CFD数值仿真的基础,决定着数值分析的计算精度和仿真效率,良好的计算网格不仅可以加速收敛,还可以改善预测精度。对于气动外形设计优化、非定常流动和气动弹性等外形需要发生变化的特殊问题,网格变形是开展对应数值仿真的关键技术。
在网格生成和变形中,均可能遇到多个不同点集的合并和匹配问题,就需要对点集中存在的重复点进行标记和删除,以建立统一的点云集合。在实际应用过程中,多采用循环遍历的方式,逐个点进行对比,然后将相互之间重合的点进行标记。对于规模较小的点云问题,该方法能够比较快速地获得重复点的信息。但该算法的时间复杂度是点云中点数量的平方,随着点云规模的增大,重复点查找时间迅速增加,将极大地增加网格生成或变形的时间消耗,提高数值仿真的计算成本。
发明内容
本发明针对离散点云中的重复点查找问题,提出一种空间剖分的查找方法,通过将离散点云所在的长方体空间剖分为多个空间小格,然后在空间小格内查找重复点,并组装得到整个离散点云的重复点信息,将大规模离散点云重复点查找问题剖分为多个小规模离散点云重复点查找问题,降低查找的时间消耗,提高整体的查找效率。
为实现上述目的,本发明采用如下技术方案:
一种离散点云重复点快速查找方法,通过执行以下步骤实现:
步骤一:建立X、Y、Z坐标系,循环遍历离散点云中的所有离散空间点,确定离散点云所在空间的边界;
步骤二:构建离散点云所在的长方体空间;
步骤三:将长方体空间沿X、Y、Z三个坐标方向均匀切分为多个长方体空间小格,并将长方体空间小格按排列顺序进行编号;
步骤四:根据离散空间点的坐标位置判断每个离散空间点所属长方体空间小格的编号,并计算每个长方体空间小格中离散点的数量;
步骤五:建立离散空间点在离散点云中的编号与在所属长方体空间小格中的排列编号的映射关系;
步骤六:对长方体空间小格中所有离散空间点进行遍历查重,建立长方体空间小格中的空间重复点编号信息;
步骤七:根据长方体空间小格中的空间重复点编号信息,重构离散点云中的空间重复点编号信息,从而获取离散点云中的全部空间重复点编号信息。
优选的,步骤一中,循环遍历离散点云中的所有离散空间点,计算出所有离散空间点在三个坐标方向X、Y、Z的最大值和最小值Xmin、Xmax、Ymin、Ymax、Zmin、Zmax
优选的,步骤二中:
首先,根据全部离散空间点三个坐标方向X、Y、Z的最大值和最小值Xmin、Xmax、Ymin、Ymax、Zmin、Zmax,构建点PC1(Xmin-dX,Ymin-dY,Zmin-dZ)和PC2(Xmax+dX,Ymax+dY,Zmax+dZ);其中,dX=ε(Xmax-Xmin)、dY=ε(Ymax-Ymin)、dZ=ε(Zmax-Zmin),ε为大于零的系数;
然后,以点PC1和PC2作为角点,构建长方体空间。
优选的,步骤三中:
首先,根据X、Y、Z三个坐标方向切分格子的数量ni、nj、nk,确定长方体空间小格在每个方向的尺寸ΔX=(1+2ε)(Xmax-Xmin)/ni、ΔY=(1+2ε)(Ymax-Ymin)/nj、ΔZ=(1+2ε)(Zmax-Zmin)/nk,其中ni、nj、nk的值根据具体问题进行选择;
然后,沿三个坐标方向将长方体空间均匀切分,离散点云所在的长方体空间共计能够切分出Nbox=ni*nj*nk个长方体空间小格;
最后,将长方体空间小格按排列顺序进行编号,在X、Y、Z三个方向分别排列在第i、j、k位置的长方体空间小格的编号INDEXijk通过下式转换,其中,INDEX的变化范围为1~Nbox;
INDEXijk=(k-1)*ni*nj+(j-1)*ni+i (1)
优选的,步骤四中:
首先,将每个长方体空间小格中的离散空间点数量初始化为零;
然后,遍历离散点云中的全部离散空间点,根据离散空间点的坐标Xs、Ys、Zs,计算离散空间点所在长方体空间小格的位置编号iLoc、jLoc、kLoc,其中int(*)表示对实数*代表的数进行取整:
Figure BDA0002988803070000041
然后,离散空间点(Xs,Ys,Zs)所在的长方体空间小格的编号的值INDEXs通过下式计算得到:
INDEXs=(kLoc-1)*ni*nj+(jLoc-1)*ni+iLoc (3)
最后,将编号值INDEXs记录在离散空间点(Xs,Ys,Zs)的属性中,将离散空间点(Xs,Ys,Zs)分配给编号为INDEXs的长方体空间小格,并将编号为INDEXs的长方体空间小格中离散空间点的数量Nnode累加1。
优选的,步骤五中:
首先,在每个长方体空间小格中定义1个计数器,并将计数器值初始化为零;
然后,遍历离散点云中的每个离散空间点(Xs,Ys,Zs),根据离散空间点(Xs,Ys,Zs)所属的长方体空间小格的编号INDEXs,访问对应的长方体空间小格,将空间小格的计数器数值加1,并将计数器值对应的排列编号与离散空间点在离散点云中的编号s关联,形成关联映射关系。
优选的,步骤六中:
首先,根据步骤五建立的离散空间点在长方体空间小格中的排列编号与离散空间点在离散点云中的编号之间的关联映射关系,访问离散点云,获取长方体空间小格中所有离散空间点的三维坐标数据;
然后,对于长方体空间小格中的第m个点Pm,遍历第1至第m-1个点,分别计算第i个遍历点Pi与第m个点Pm之间的空间距离dis;如果距离dis小于预定的阈值,表明Pm与Pi重合,将Pm标记为重复点,并将重复编号记录为i,退出遍历;如果距离dis大于预定的阈值,表明Pm与Pi不重合,遍历下一个点,直至遍历结束;
最后,循环执行前面过程,直至全部长方体空间小格完成离散空间点遍历查重。
优选的,步骤七中:
遍历长方体空间小格中的全部离散空间点,若长方体空间小格中第m个离散空间点Pm被标记为重复点,根据步骤五中建立的关联映射关系,获取排列编号m关联映射的编号为s,将离散点云中编号为s的离散空间点Ps标记为重复点,提取点Pm的重复排列编号n,根据步骤五中建立的关联映射关系,获取排列编号n关联映射的编号为t,将离散点云中编号为t的离散空间点Pt标记为点Ps的重复点,点Ps的空间重复点编号信息记录为t;
遍历全部长方体空间小格,获取离散点云中的全部空间重复点编号信息。
本发明相对于现有技术具有如下有益效果:传统方法为对大点云进行整体遍历,本发明将一个大的点云循环遍历问题,分割为多个小的点云循环遍历,并分别遍历小点集,这样分割再遍历相较于整体遍历能够快速确定重复点在离散点云中的位置和编号,大幅降低大规模点云中重复点的查找时间、提高查找效率。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容涵盖的范围内。
图1为本发明一种实施方式的离散点云示意图;
图2为离散点云空间边界示意图;
图3为长方体空间示意图;
图4为长方体空间小格划分示意图;
图5为长方体空间小格的编号对应关系示意图;
图6为离散空间点与长方体空间小格之间隶属关系示意图;
图7为离散空间点编号对应关系示意图;
图8为长方体空间小格中离散空间点重复信息示意图;
图9为离散点云中离散空间点重复信息示意图。
附图标记:
1-离散点云,2-离散空间点,3-长方体空间,4-长方体空间小格,5-长方体空间小格的位置编号,6-长方体空间小格的编号,7-离散空间点在离散点云中的编号,8-长方体空间小格中离散空间点数量,9-离散空间点在长方体空间小格中的排列编号,10-长方体空间小格中的空间重复点编号信息,11-离散点云中的空间重复点编号信息。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明实施例作进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
针对附图所示的离散点云,本发明提出的离散点云重复点快速查找方法的具体实施方案如下:
步骤一:参见图1,确定图1中离散点云1所在三维空间的边界。
确定离散点云1所在三维空间的边界具体如图2所示,循环遍历离散点云1中的所有离散空间点2,采用对比交换的方式计算出所有离散空间点2在三个坐标方向X、Y、Z的最大值和最小值Xmin、Xmax、Ymin、Ymax、Zmin、Zmax,即对于任一离散空间点2,对比之前比对出的Xmin、Xmax、Ymin、Ymax、Zmin、Zmax值与离散空间点2的坐标X、Y、Z的大小,然后根据对比结果更新Xmin、Xmax、Ymin、Ymax、Zmin、Zmax值,每遍历一个点便会更新一次,直至全部离散空间点2完成遍历。图1中的离散点云1最后更新得到的Xmin、Xmax、Ymin、Ymax、Zmin、Zmax值分别为-1.0、1.0、-1.0、1.0、-1.0、1.0。
步骤二:构建离散点云1所在的长方体空间3。首先,根据全部离散空间点2三个坐标方向X、Y、Z的最大值和最小值Xmin、Xmax、Ymin、Ymax、Zmin、Zmax,构建图3中的角点PC1(Xmin-dX,Ymin-dY,Zmin-dZ)和PC2(Xmax+dX,Ymax+dY,Zmax+dZ)。其中,dX=ε(Xmax-Xmin)、dY=ε(Ymax-Ymin)、dZ=ε(Zmax-Zmin),ε为大于零的系数,用于消除数值误差可能带来的将离散空间点划分在长方体空间外面的问题。针对离散点云1,ε值取为0.05,获得角点PC1和PC2的坐标为(-1.1,-1.1,-1.1)和(1.1,1.1,1.1)。然后,以图3中点PC1和PC2作为长方体的两个角点,构建离散点云1所在的长方体空间3。
步骤三:将长方体空间3沿X、Y、Z三个坐标方向均匀切分为多个长方体空间小格4。首先,根据X、Y、Z方向切分格子的数量ni、nj、nk,确定长方体空间小格4在每个方向的尺寸ΔX=(1+2ε)(Xmax-Xmin)/ni、ΔY=(1+2ε)(Ymax-Ymin)/nj、ΔZ=(1+2ε)(Zmax-Zmin)/nk,其中ni、nj、nk的值可以根据问题进行选择,例如具体的偏移量,或者对长方体空间的另行要求,针对离散点云1,ni、nj、nk值取为2、2和2,对应的ΔX=(1+2ε)(Xmax-Xmin)/ni=(1+2*0.05)(1-(-1))/2=1.1,同样,ΔY=1.1,ΔZ=1.1。
然后,沿三个坐标方向将长方体空间3均匀切分,离散点云1所在的长方体空间3共计能够切分出Nbox=ni*nj*nk=8个长方体空间小格4,如图4所示。最后,为了便于访问和表示,将长方体空间小格4按照坐标方向进行位置编号和顺序编号,长方体空间小格4的位置编号5通过长方体空间小格4在X、Y、Z值最小的角点编号定义,例如图4中角点编号为(1,1,1)、(2,1,1)、(1,2,1)、(2,2,1)、(1,1,2)、(2,1,2)、(1,2,2)、(2,2,2)的长方体空间小格4的位置编号5定义为(1,1,1),顺序编号即对长方体空间小格进行编号,长方体空间小格的编号6的值INDEXijk可以通过位置编号5的值利用下式进行转换。
INDEXijk=4(k-1)+2(j-1)+i (1)
长方体空间小格的编号6的值在1~8之间,长方体空间小格的编号6值为1对应位置编号5为(1,1,1),编号6值为2对应位置编号5为(2,1,1),编号6值为3对应位置编号5为(1,2,1),编号6值为4对应位置编号5为(2,2,1),编号6值为5对应位置编号5为(1,1,2),编号6值为6对应位置编号5为(2,1,2),编号6值为7对应位置编号5为(1,2,2),编号6值为8对应位置编号5为(2,2,2),如图5所示。
步骤四:根据坐标位置判断每个离散空间点2所属长方体空间小格4的编号6,并计算每个长方体空间小格4中离散空间点的数量。首先,将每个长方体空间小格4中的离散空间点数量初始化为零,然后遍历离散点云1中的全部离散空间点2,根据离散空间点2的坐标Xs、Ys、Zs,利用下式计算离散空间点2所在长方体空间小格4的位置编号5的值(iLoc,jLoc,kLoc),其中int(*)表示对实数*代表的数进行取整。
Figure BDA0002988803070000091
然后,离散空间点(Xs,Ys,Zs)所在的长方体空间小格4的编号6的值INDEXs通过下式计算得到
INDEXs=4(kLoc-1)+2(jLoc-1)+iLoc (3)
最后,将长方体空间小格的编号6的值INDEXs记录在离散空间点(Xs,Ys,Zs)的属性中,将离散空间点(Xs,Ys,Zs)分配给编号6值为INDEXs的长方体空间小格4,并将编号6值为INDEXs的长方体空间小格4中离散空间点2的编号8的值Nnode累加1,最终对应分配结果如图6所示。
步骤五:建立离散空间点在离散点云1中的编号7与在所属长方体空间小格4中的排列编号9之间的关联映射关系,即某个离散空间点在第几个长方体空间小格中的第几位,把这个信息与该点在离散点云中的第几位对应,形成对应关系。首先,在每个长方体空间小格4中定义一个计数器,并将计数器值初始化为零。然后,遍历离散点云1中的每个离散空间点(Xs,Ys,Zs),根据离散空间点(Xs,Ys,Zs)所属的长方体空间小格4的编号6的值INDEXs,访问对应的长方体空间小格4,将空间小格的计数器数值累加1,并将计数器值对应的排列编号9与离散空间点2在离散点云1中的编号7关联。例如图7中编号为2的长方体空间小格6,离散空间点数量8的值为9,排列编号9值为1关联的离散空间点在离散点云中的编号7为2,其他离散空间点编号映射关系见图7。
步骤六:对长方体空间小格4中所有离散空间点2进行遍历查重,建立长方体空间小格4中的空间重复点编号信息10。首先,根据步骤五中建立的长方体空间小格4中的排列编号9与离散空间点在离散点云1中的编号7之间的映射关系,访问离散点云1,获取长方体空间小格4中所有离散空间点2的三维坐标数据(X,Y,Z)。然后,遍历长方体空间小格4中的所有离散空间点2,获取长方体空间小格4中的重复点,以编号6值为2的长方体空间小格4为例,有9个离散空间点2,遍历第2至第9个离散空间点,每个离散空间点与前面所有的离散空间点进行对比,例如第5个离散空间点与第1~第4个离散空间点对比,如果存在重复,将该点的空间重复点编号信息10的值取为与之重复点的排列编号9的值,如果不存在重复,将该点的空间重复点编号信息10的值取为零。遍历完成后,编号为2的长方体空间小格中排列编号为6的离散空间点与排列编号为2的离散空间点重复,则排列编号为6的空间重复点编号信息10的值取为2,如图8。最后,循环执行前面过程,直至全部长方体空间小格4完成离散空间点2遍历查重,得到空间重复点编号信息10如图8所示。
步骤七:根据长方体空间小格4中的空间重复点编号信息10,重构离散点云1中的空间重复点编号信息11。遍历长方体空间小格4中的全部离散空间点2,以编号6为2的长方体空间小格为例,排列编号9值为6的离散空间点被标记为重复点,重复点的排列编号为2。根据步骤五中建立的离散空间点编号关联映射关系,排列编号为6的离散空间点在离散点云中的编号为19,排列编号为2的离散空间点在离散点云中的编号为8。因此,离散点云中编号为19的点被记录为重复点,空间重复点编号信息11的值为8。遍历全部长方体空间小格4,获取离散点云1中共有4个重复点,分别是第13、19、23、35个离散空间点,分别与第6、8、15、21个离散空间点重复,如图9。
传统方法为对大点云进行整体遍历,本发明将一个大的点云循环遍历问题,分割为多个小的点云循环遍历,并分别遍历小点集,这样分割再遍历相较于整体遍历能够快速确定重复点在离散点云中的位置和编号,大幅降低大规模点云中重复点的查找时间、提高查找效率。
应当理解,本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
至此,本领域技术人员应认识到,虽本文已详尽示出和描述了本发明的示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍然可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。

Claims (7)

1.一种离散点云重复点快速查找方法,其特征在于通过执行以下步骤实现:
步骤一:建立XYZ坐标系,循环遍历离散点云中的所有离散空间点,采用对比交换的方式计算出所有离散空间点在三个坐标方向XYZ的最大值和最小值X minX maxY minY maxZ minZ max,确定离散点云所在空间的边界;
步骤二:构建离散点云所在的长方体空间;
步骤三:将长方体空间沿XYZ三个坐标方向均匀切分为多个长方体空间小格,并将长方体空间小格按排列顺序进行编号;
步骤四:根据离散空间点的坐标位置判断每个离散空间点所属长方体空间小格的编号,并计算每个长方体空间小格中离散点的数量;
步骤五:建立离散空间点在离散点云中的编号与在所属长方体空间小格中的排列编号的映射关系;
步骤六:对长方体空间小格中所有离散空间点进行遍历查重,建立长方体空间小格中的空间重复点编号信息;
步骤七:根据长方体空间小格中的空间重复点编号信息,重构离散点云中的空间重复点编号信息,从而获取离散点云中的全部空间重复点编号信息。
2.根据权利要求1所述的离散点云重复点快速查找方法,其特征在于,步骤二中:
首先,根据全部离散空间点三个坐标方向XYZ的最大值和最小值X minX maxY minY maxZ minZ max,构建点PC1(X min-dX, Y min-dY, Z min-dZ)和PC2(X max+dX, Y max+dY, Z max+dZ);其中,dX=ε(X max-X min)、dY=ε(Y max-Y min)、dZ=ε(Z max-Z min),ε为大于零的系数;
然后,以点PC1和PC2作为角点,构建长方体空间。
3.根据权利要求1所述的离散点云重复点快速查找方法,其特征在于,步骤三中:
首先,根据XYZ三个坐标方向切分格子的数量ninjnk,确定长方体空间小格在每个方向的尺寸ΔX=(1+2ε)(X max-X min)/ni、ΔY=(1+2ε)(Y max-Y min)/nj、ΔZ=(1+2ε)(Z max-Z min)/nk,其中ninjnk的值根据具体问题进行选择;
然后,沿三个坐标方向将长方体空间均匀切分,离散点云所在的长方体空间共计能够切分出Nbox=ni*nj*nk个长方体空间小格;
最后,将长方体空间小格按排列顺序进行编号,在XYZ三个方向分别排列在第ijk位置的长方体空间小格的编号INDEX ijk 通过下式转换,其中,INDEX的变化范围为1~Nbox
Figure DEST_PATH_IMAGE001
(1)。
4.根据权利要求1所述的离散点云重复点快速查找方法,其特征在于,步骤四中:
首先,将每个长方体空间小格中的离散空间点数量初始化为零;
然后,遍历离散点云中的全部离散空间点,根据离散空间点的坐标X sY sZ s,计算离散空间点所在长方体空间小格的位置编号i Locj Lock Loc,其中int(*)表示对实数*代表的数进行取整:
Figure 502178DEST_PATH_IMAGE002
(2)
然后,离散空间点(X s, Y s, Z s)所在的长方体空间小格的编号的值INDEX s 通过下式计算得到:
Figure DEST_PATH_IMAGE003
(3)
最后,将编号值INDEX s 记录在离散空间点(X s, Y s, Z s)的属性中,将离散空间点(X s,Y s, Z s)分配给编号为INDEX s 的长方体空间小格,并将编号为INDEX s 的长方体空间小格中离散空间点的数量N node累加1。
5.根据权利要求1所述的离散点云重复点快速查找方法,其特征在于,步骤五中:
首先,在每个长方体空间小格中定义1个计数器,并将计数器值初始化为零;
然后,遍历离散点云中的每个离散空间点(X s, Y s, Z s),根据离散空间点(X s, Y s, Z s)所属的长方体空间小格的编号INDEX s ,访问对应的长方体空间小格,将空间小格的计数器数值加1,并将计数器值对应的排列编号与离散空间点在离散点云中的编号s关联,形成关联映射关系。
6.根据权利要求1所述的离散点云重复点快速查找方法,其特征在于,步骤六中:
首先,根据步骤五建立的离散空间点在长方体空间小格中的排列编号与离散空间点在离散点云中的编号之间的关联映射关系,访问离散点云,获取长方体空间小格中所有离散空间点的三维坐标数据;
然后,对于长方体空间小格中的第m个点P m ,遍历第1至第m-1个点,分别计算第i个遍历点P i 与第m个点P m 之间的空间距离dis;如果距离dis小于预定的阈值,表明P m 与P i 重合,将P m 标记为重复点,并将重复编号记录为i,退出遍历;如果距离dis大于预定的阈值,表明P m 与P i 不重合,遍历下一个点,直至遍历结束;
最后,循环执行前面过程,直至全部长方体空间小格完成离散空间点遍历查重。
7.根据权利要求1所述的离散点云重复点快速查找方法,其特征在于,步骤七中:
遍历长方体空间小格中的全部离散空间点,若长方体空间小格中第m个离散空间点P m 被标记为重复点,根据步骤五中建立的关联映射关系,获取排列编号m关联映射的编号为s,将离散点云中编号为s的离散空间点P s 标记为重复点,提取点P m 的重复排列编号n,根据步骤五中建立的关联映射关系,获取排列编号n关联映射的编号为t,将离散点云中编号为t的离散空间点P t 标记为点P s 的重复点,点P s 的空间重复点编号信息记录为t
遍历全部长方体空间小格,获取离散点云中的全部空间重复点编号信息。
CN202110308512.4A 2021-03-23 2021-03-23 一种离散点云重复点快速查找方法 Active CN113011113B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110308512.4A CN113011113B (zh) 2021-03-23 2021-03-23 一种离散点云重复点快速查找方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110308512.4A CN113011113B (zh) 2021-03-23 2021-03-23 一种离散点云重复点快速查找方法

Publications (2)

Publication Number Publication Date
CN113011113A CN113011113A (zh) 2021-06-22
CN113011113B true CN113011113B (zh) 2022-04-05

Family

ID=76405386

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110308512.4A Active CN113011113B (zh) 2021-03-23 2021-03-23 一种离散点云重复点快速查找方法

Country Status (1)

Country Link
CN (1) CN113011113B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104700402A (zh) * 2015-02-06 2015-06-10 北京大学 基于场景三维点云的视觉定位方法及装置
CN109345619A (zh) * 2018-08-10 2019-02-15 华北电力大学(保定) 基于类八叉树编码的海量点云空间管理方法
EP3506162A1 (en) * 2017-12-29 2019-07-03 Baidu Online Network Technology (Beijing) Co., Ltd. Method and apparatus for determining matching relationship between point cloud data
CN110969624A (zh) * 2019-11-07 2020-04-07 哈尔滨工程大学 一种激光雷达三维点云分割方法
WO2020093950A1 (zh) * 2018-11-06 2020-05-14 腾讯科技(深圳)有限公司 三维物体分割方法、设备和介质
CN112164101A (zh) * 2020-09-29 2021-01-01 北京环境特性研究所 三维点云匹配方法和装置
CN112329321A (zh) * 2020-12-17 2021-02-05 中国空气动力研究与发展中心计算空气动力研究所 一种空间离散网格点重归整化方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10783668B2 (en) * 2017-12-22 2020-09-22 Samsung Electronics Co., Ltd. Handling duplicate points in point cloud compression
WO2021000240A1 (zh) * 2019-07-01 2021-01-07 Oppo广东移动通信有限公司 一种点云分割方法及设备、计算机可读存储介质
EP3767521A1 (en) * 2019-07-15 2021-01-20 Promaton Holding B.V. Object detection and instance segmentation of 3d point clouds based on deep learning
CN112396641B (zh) * 2020-11-17 2023-07-21 中国矿业大学(北京) 一种基于全等二基线匹配的点云全局配准方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104700402A (zh) * 2015-02-06 2015-06-10 北京大学 基于场景三维点云的视觉定位方法及装置
EP3506162A1 (en) * 2017-12-29 2019-07-03 Baidu Online Network Technology (Beijing) Co., Ltd. Method and apparatus for determining matching relationship between point cloud data
CN109345619A (zh) * 2018-08-10 2019-02-15 华北电力大学(保定) 基于类八叉树编码的海量点云空间管理方法
WO2020093950A1 (zh) * 2018-11-06 2020-05-14 腾讯科技(深圳)有限公司 三维物体分割方法、设备和介质
CN110969624A (zh) * 2019-11-07 2020-04-07 哈尔滨工程大学 一种激光雷达三维点云分割方法
CN112164101A (zh) * 2020-09-29 2021-01-01 北京环境特性研究所 三维点云匹配方法和装置
CN112329321A (zh) * 2020-12-17 2021-02-05 中国空气动力研究与发展中心计算空气动力研究所 一种空间离散网格点重归整化方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
基于八叉树与KD树索引的点云配准方法;王育坚等;《测绘工程》;20170825(第08期);全文 *
基于八叉树编码的点云邻域搜索算法;丁彩红等;《计算机工程与设计》;20181016(第10期);第3108-3112页 *
面向DEM构建的点云四叉树和R树混合索引研究;彭宝江等;《应用科学学报》;20180730(第04期);全文 *

Also Published As

Publication number Publication date
CN113011113A (zh) 2021-06-22

Similar Documents

Publication Publication Date Title
JP6784780B2 (ja) 大規模再生可能エネルギーのデータについて確率モデルを構築する方法
CN114494650B (zh) 一种分布式非结构网格跨处理器面对接方法及系统
CN109948002A (zh) 基于平衡kd树的非结构网格最近壁面距离求解方法
CN112597610B (zh) 机械臂结构轻量化设计的优化方法、装置及设备
CN106796589A (zh) 空间数据对象的索引方法和系统
CN115861397A (zh) 一种基于改进fpfh-icp的点云配准方法
CN114048204A (zh) 基于数据库倒排索引的北斗网格空间索引方法和装置
CN114510775B (zh) 一种复杂模型三维空间曲网格划分方法
Liu et al. pGRASS-Solver: A parallel iterative solver for scalable power grid analysis based on graph spectral sparsification
CN113011113B (zh) 一种离散点云重复点快速查找方法
CN117252863A (zh) 一种地理信息异常数据快速检测分析方法
CN113111612B (zh) 一种基于自适应空间剖分的离散点云重复点快速查找方法
CN115730438A (zh) 产品nurbs曲面映射逆向求解gpu并行处理方法
CN113095012B (zh) 风电场流场分区数值仿真计算结果拼接融合方法
CN111666689A (zh) 特征线追踪方法、堆芯中子物理计算方法和装置
CN113628104B (zh) 针对无序图像增量式SfM的初始图像对选取方法
Wang et al. GLIN: A Lightweight Learned Indexing Mechanism for Complex Geometries
CN114093436B (zh) 迭代式结合亲和力评估模型的构建方法和系统
CN113704565B (zh) 基于全局区间误差的学习型时空索引方法、装置及介质
Gao et al. A Multi-level Parallel Tie-dye Algorithm for Auto-CFD
CN117152374B (zh) 基于三维激光点云的高效索穹顶结构数字孪生建立方法
CN117274524A (zh) 一种数据处理方法、装置、电子设备及存储介质
CN114676522B (zh) 融合gan和迁移学习的气动形状优化设计方法及系统及设备
CN108804859B (zh) 一种对称逐次局部枚举拉丁超立方试验设计方法
CN113377883A (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