【技术实现步骤摘要】
一种离散点云重复点快速查找方法
本专利技术涉及计算力学中网格生成和网格变形,尤其涉及计算流体力学中的网格生成和网格变形领域。
技术介绍
计算流体力学CFD(ComputationalFluidDynamics)是开展流体力学机理研究的重要手段之一,在航空航天飞行器设计与性能评估中发挥着愈来愈重要的作用。CFD通过计算网格对流场空间进行离散,然后求解代数离散方程获取流动变量,如密度、压力和温度等,并沿飞行器表面积分得到飞行器整体的性能特性。因此,计算网格是开展CFD数值仿真的基础,决定着数值分析的计算精度和仿真效率,良好的计算网格不仅可以加速收敛,还可以改善预测精度。对于气动外形设计优化、非定常流动和气动弹性等外形需要发生变化的特殊问题,网格变形是开展对应数值仿真的关键技术。在网格生成和变形中,均可能遇到多个不同点集的合并和匹配问题,就需要对点集中存在的重复点进行标记和删除,以建立统一的点云集合。在实际应用过程中,多采用循环遍历的方式,逐个点进行对比,然后将相互之间重合的点进行标记。对于规模较小的点云问题,该方法能够比较快速地获得重复点的信息。但该算法的时间复杂度是点云中点数量的平方,随着点云规模的增大,重复点查找时间迅速增加,将极大地增加网格生成或变形的时间消耗,提高数值仿真的计算成本。
技术实现思路
本专利技术针对离散点云中的重复点查找问题,提出一种空间剖分的查找方法,通过将离散点云所在的长方体空间剖分为多个空间小格,然后在空间小格内查找重复点,并组装得到整个离散点云的重复点信息,将大规 ...
【技术保护点】
1.一种离散点云重复点快速查找方法,其特征在于通过执行以下步骤实现:/n步骤一:建立X、Y、Z坐标系,循环遍历离散点云中的所有离散空间点,确定离散点云所在空间的边界;/n步骤二:构建离散点云所在的长方体空间;/n步骤三:将长方体空间沿X、Y、Z三个坐标方向均匀切分为多个长方体空间小格,并将长方体空间小格按排列顺序进行编号;/n步骤四:根据离散空间点的坐标位置判断每个离散空间点所属长方体空间小格的编号,并计算每个长方体空间小格中离散点的数量;/n步骤五:建立离散空间点在离散点云中的编号与在所属长方体空间小格中的排列编号的映射关系;/n步骤六:对长方体空间小格中所有离散空间点进行遍历查重,建立长方体空间小格中的空间重复点编号信息;/n步骤七:根据长方体空间小格中的空间重复点编号信息,重构离散点云中的空间重复点编号信息,从而获取离散点云中的全部空间重复点编号信息。/n
【技术特征摘要】
1.一种离散点云重复点快速查找方法,其特征在于通过执行以下步骤实现:
步骤一:建立X、Y、Z坐标系,循环遍历离散点云中的所有离散空间点,确定离散点云所在空间的边界;
步骤二:构建离散点云所在的长方体空间;
步骤三:将长方体空间沿X、Y、Z三个坐标方向均匀切分为多个长方体空间小格,并将长方体空间小格按排列顺序进行编号;
步骤四:根据离散空间点的坐标位置判断每个离散空间点所属长方体空间小格的编号,并计算每个长方体空间小格中离散点的数量;
步骤五:建立离散空间点在离散点云中的编号与在所属长方体空间小格中的排列编号的映射关系;
步骤六:对长方体空间小格中所有离散空间点进行遍历查重,建立长方体空间小格中的空间重复点编号信息;
步骤七:根据长方体空间小格中的空间重复点编号信息,重构离散点云中的空间重复点编号信息,从而获取离散点云中的全部空间重复点编号信息。
2.根据权利要求1所述的离散点云重复点快速查找方法,其特征在于:
步骤一中,循环遍历离散点云中的所有离散空间点,计算出所有离散空间点在三个坐标方向X、Y、Z的最大值和最小值Xmin、Xmax、Ymin、Ymax、Zmin、Zmax。
3.根据权利要求1所述的离散点云重复点快速查找方法,其特征在于,步骤二中:
首先,根据全部离散空间点三个坐标方向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作为角点,构建长方体空间。
4.根据权利要求1所述的离散点云重复点快速查找方法,其特征在于,步骤三中:
首先,根据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)
5.根据权利要求1所述的离散点云重复点快...
【专利技术属性】
技术研发人员:孙岩,邓学霖,赵莹,江盟,邓彦增,
申请(专利权)人:中国空气动力研究与发展中心计算空气动力研究所,
类型:发明
国别省市:四川;51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。