求解三维空间内任意两个多面体间的最近距离的方法技术

技术编号:19547671 阅读:28 留言:0更新日期:2018-11-24 21:16
本发明专利技术提供了一种求解三维空间内任意两个多面体间的最近距离的方法,具有这样的特征,包括以下步骤:步骤S1,分别将多面体Mx和多面体My的三维模型表面三角网格化并进行预处理得到处理信息;步骤S2,对处理信息采用背面剔除算法进行处理得到顶点选取区域,该顶点选取区域包括多个由多面体Mx和多面体My的顶点构成的测试顶点对;步骤S3,采用基因表达式编程和Alopex算法相结合的方法对顶点选取区域内的测试顶点对内的两个顶点之间的最近距离求解得到最近顶点对,该最近顶点对的间距为多面体Mx和多面体My之间的最近距离的近似解;步骤S4,通过最近顶点对对多面体Mx和多面体My之间的最近距离精确求解得到最小间距。本方法求解精度高、收敛性能好。

A Method for Solving the Closest Distance Between Two Arbitrary Polyhedrons in Three-Dimensional Space

The invention provides a method for solving the nearest distance between any two polyhedrons in a three-dimensional space, which has the following characteristics: firstly, triangulate the surface of the three-dimensional model of polyhedron Mx and polyhedron My, respectively, and preprocess the processing information; secondly, adopt the back side of the processing information; The vertex selection region is processed by eliminating algorithm, which includes several pairs of test vertices composed of polyhedral Mx and polyhedral My vertices. The distance between the nearest vertex pairs is the approximate solution of the nearest distance between the polyhedron Mx and the polyhedron My 4. The nearest distance between the polyhedron Mx and the polyhedron My 4 is obtained by solving the nearest distance between the nearest vertex pairs accurately. This method has high accuracy and good convergence.

【技术实现步骤摘要】
求解三维空间内任意两个多面体间的最近距离的方法
本专利技术涉及一种求解多面体间的最近距离的方法,具体涉及一种求解三维空间内任意两个多面体间的最近距离的方法。
技术介绍
求解两物体之间的最近距离可广泛应用于机器人、物理系统仿真、虚拟体验、CAD/CAM、计算机动画等领域。该距离信息在机器人路径规划中,用于判定障碍物的远近便于机器人进行有效的障碍规避;在物理系统仿真、虚拟体验中用于计算接触作用力的大小和惩罚函数评估;在计算机动画中,用于精确的碰撞检测和物理仿真;在CAD/CAM和数控加工仿真中,用于干涉处理。具体到设备虚拟维修仿真过程更需要此项技术的支持,以此确切知道两零部件物体间的最近间距,从而有助于维修人员模拟完成设备零部件的精确安装。求解两物体之间的最近距离算法可分为两大类:凸多面体间的最近距离和凹多面体之间的最近距离。Maruyama提出的两凸多面体间的干涉检测算法是今天众多距离测定算法的先驱,其方法是全面检测分析两物体每对面是否发生相交,若存在则两物体产生干涉。该方法仅能返回布尔值确定两凸体在某一给定点产生相交,而不能提供任何有关间距的详细信息。当凸多面体用顶点的凸包表示时,凸多面体间的距离计算可归结为带约束条件的非线性规划问题,而此类问题可采用最优化方法进行求解。Nilanjanchakraborty提出内点法去计算两凸多面体隐式曲面之间的距离,但计算精度无法保证,S.ZeghLoul进而采用梯度投影法,但这些方法均有其适应范围和一定的局限性,当物体表面为二次或超级曲面时还需预先进行线性化处理。凹多面体间的距离测定大多数采用离线将凹多面体划分成子凸多面体,然后求解每对子凸多面体的间距从中选取最小值作为求解结果。上述方法依赖于快速、鲁棒性较强的凸多面体间距求解方法但对于较为复杂的凹多面体时,计算花费巨大。不对两凹多面体进行划分也可直接求解两者之间的最近距离。这类方法相对于划分类求解法不会添加额外的面、边、点等特征但可最小化物体对的数目,极大减少了运算量。例如FedericoThomas通过检测两凹多面体面、边之间是否相交来确定两者之间是否有干涉产生。P.Jimenez在此基础上使用sphericalfaceorientationgraph和基于平面扫描算法进行特征配对,极大减少了边、面对的数目从而加快相交测试。但是,上述算法只返回布尔值来表明凹多面体间是否发生干涉,无法量化最小间距。JuanA.Carretero发现在两凹多面体表面选取一定数目的点代替其物体几何,则可将带约束条件的两物体之间的距离问题转化为无约束条件点对之间的最近距离问题。此时可采用遗传算法(遗传爬山算法)进行求解但此类算法只能用于凹多面体间的最近距离求解,适用范围较小。综上,目前大多数的研究只是分别独立解决凸多面体之间、凹多面体之间的最近距离计算。但现实世界中各种物体是复杂多变的往往是凹凸多面体的混合体,电力设备的零部件更是如此,它们并不是规则凸多面体或凹多面体而多为一般凹凸多面体。
技术实现思路
本专利技术是为了解决上述问题而进行的,尤其是为了解决凸面体和凹面体之间的最近距离的求解问题进而实现虚拟维修过程中对零部件进行精确安装,目的在于提供一种求解三维空间内任意两个多面体间的最近距离的方法。本专利技术提供了一种求解三维空间内任意两个多面体间的最近距离的方法,具有这样的特征,包括以下步骤:步骤S1,分别将多面体Mx和多面体My的三维模型表面三角网格化并进行预处理得到处理信息;步骤S2,对处理信息采用背面剔除算法进行处理得到顶点选取区域,该顶点选取区域包括多个由多面体Mx和多面体My的顶点构成的测试顶点对;步骤S3,对顶点选取区域内的测试顶点对内的两个顶点之间的最近距离求解得到最近顶点对,该最近顶点对的间距为多面体Mx和多面体My之间的最近距离的近似解;步骤S4,通过最近顶点对对多面体Mx和多面体My之间的最近距离精确求解得到最小间距,其中,步骤S3包括以下子步骤,步骤S3-1,令循环次数环次数k=0,步骤S3-2,设定最大评价次数kmax和适应度函数值的最大差值Δεmax,步骤S3-3,从顶点选取区域中随机选取测试顶点对作为染色体来构成初始种群p0,步骤S3-4,根据计算规则计算种初始种群p0中每个染色体的适应度函数值ε,步骤S3-5,将适应度函数值ε最小的染色体保留并复制到下一代种群中作为复制种群,步骤S3-6,按照轮盘赌策略从初始种群p0的所有染色体中选择父代个体,步骤S3-7,对父代个体结合Alopex算法进行遗传操作得到变异种群、交换种群以及交叉种群,步骤S3-8,复制种群、异种群、交换种群以及交叉种群构成新一代种群p1,步骤S3-9,根据计算规则计算种新一代种群p1中每个染色体的适应度函数值ε1,步骤S3-10,判断是否满足算法终止条件,该终止条件为k>kmax或适应度函数值的差值Δε1≥Δεmax,步骤S3-11,如果满足算法终止条件,输出最优染色体,即最近顶点对,然后结束程序,步骤S3-12,如果不满足算法终止条件,k数值增长1并对新一代种群循环进行步骤S3-5~步骤S3-13。在本专利技术提供的求解三维空间内任意两个多面体间的最近距离的方法中,还可以具有这样的特征:其中,最近顶点对包括多面体Mx上的顶点A和多面体My上的顶点A',步骤S4包括以下子步骤,步骤S4-1,将顶点A和顶点A'之间的方向矢量作为第一相对标准方向矢量,步骤S4-2,分别计算以顶点A作为顶点的三角网格面片的法向量与第一相对标准方向矢量之间的夹角的余弦值并将余弦值最大的三角网格面片作为第一目标面片,步骤S4-3,将顶点A'和顶点A之间的方向矢量作为第二相对标准方向矢量,步骤S4-4,分别计算以顶点A'作为顶点的三角网格面片的法向量与第二相对标准方向矢量之间的夹角的余弦值并将余弦值最大的三角网格面片作为第二目标面片,步骤S4-5,从第一目标面片和第二目标面片上各随机选取多个顶点通过GEP算法进行计算得到最小间距。在本专利技术提供的求解三维空间内任意两个多面体间的最近距离的方法中,还可以具有这样的特征:其中,法向量为与三角网格面片垂直的单位法向量,且该单位法向量的方向为将三角网格面片的三个顶点以顺时针方向排序在左手法则下朝外。在本专利技术提供的求解三维空间内任意两个多面体间的最近距离的方法中,还可以具有这样的特征:其中,多面体Mx为凹面体或凸面体,多面体My为凹面体或凸面体。在本专利技术提供的求解三维空间内任意两个多面体间的最近距离的方法中,还可以具有这样的特征:其中,步骤S1中,处理信息包括点结构体数组、面矩阵、连接矩阵以及网格顶点间最短路径。在本专利技术提供的求解三维空间内任意两个多面体间的最近距离的方法中,还可以具有这样的特征:其中,步骤S3-7中,由父代个体得到变异种群的过程为,将父代个体作为t-2时刻的变量值,从父代个体中选取适应度函数值ε最大的染色体并对其头部的每一位进行随机测试,当满足变异概率时,对编码进行重置从而产生中间一代染色体,该中间一代染色体作为t-1时刻的变量值,对中间一代染色体进行Alopex算法的基本操作,得到新个体,该新个体为t时刻的变量值,新个体作为变异种群。在本专利技术提供的求解三维空间内任意两个多面体间的最近距离的方法中,还可以具有这样本文档来自技高网
...

【技术保护点】
1.一种求解三维空间内任意两个多面体间的最近距离的方法,其特征在于,包括以下步骤:步骤S1,分别将多面体Mx和多面体My的三维模型表面三角网格化并进行预处理得到处理信息;步骤S2,对所述处理信息采用背面剔除算法进行处理得到顶点选取区域,该顶点选取区域包括多个由所述多面体Mx和所述多面体My的顶点构成的测试顶点对;步骤S3,对所述顶点选取区域内的所述测试顶点对内的两个顶点之间的最近距离求解得到最近顶点对,该最近顶点对的间距为所述多面体Mx和所述多面体My之间的最近距离的近似解;步骤S4,通过所述最近顶点对对所述多面体Mx和所述多面体My之间的最近距离精确求解得到最小间距,其中,步骤S3包括以下子步骤,步骤S3‑1,令循环次数环次数k=0,步骤S3‑2,设定最大评价次数kmax和适应度函数值的最大差值Δεmax,步骤S3‑3,从所述顶点选取区域中随机选取测试顶点对作为染色体来构成初始种群p0,步骤S3‑4,根据计算规则计算种所述初始种群p0中每个染色体的适应度函数值ε,步骤S3‑5,将适应度函数值ε最小的染色体保留并复制到下一代种群中作为复制种群,步骤S3‑6,按照轮盘赌策略从所述初始种群p0的所有染色体中选择父代个体,步骤S3‑7,对所述父代个体结合Alopex算法进行遗传操作得到变异种群、交换种群以及交叉种群,步骤S3‑8,所述复制种群、所述异种群、所述交换种群以及所述交叉种群构成新一代种群p1,步骤S3‑9,根据计算规则计算种所述新一代种群p1中每个染色体的适应度函数值ε1,步骤S3‑10,判断是否满足算法终止条件,该终止条件为k>kmax或适应度函数值的差值Δε1≥Δεmax,步骤S3‑11,如果满足算法终止条件,输出最优染色体,即所述最近顶点对,然后结束程序,步骤S3‑12,如果不满足算法终止条件,k数值增长1并对新一代种群循环进行步骤S3‑5~步骤S3‑13。...

【技术特征摘要】
1.一种求解三维空间内任意两个多面体间的最近距离的方法,其特征在于,包括以下步骤:步骤S1,分别将多面体Mx和多面体My的三维模型表面三角网格化并进行预处理得到处理信息;步骤S2,对所述处理信息采用背面剔除算法进行处理得到顶点选取区域,该顶点选取区域包括多个由所述多面体Mx和所述多面体My的顶点构成的测试顶点对;步骤S3,对所述顶点选取区域内的所述测试顶点对内的两个顶点之间的最近距离求解得到最近顶点对,该最近顶点对的间距为所述多面体Mx和所述多面体My之间的最近距离的近似解;步骤S4,通过所述最近顶点对对所述多面体Mx和所述多面体My之间的最近距离精确求解得到最小间距,其中,步骤S3包括以下子步骤,步骤S3-1,令循环次数环次数k=0,步骤S3-2,设定最大评价次数kmax和适应度函数值的最大差值Δεmax,步骤S3-3,从所述顶点选取区域中随机选取测试顶点对作为染色体来构成初始种群p0,步骤S3-4,根据计算规则计算种所述初始种群p0中每个染色体的适应度函数值ε,步骤S3-5,将适应度函数值ε最小的染色体保留并复制到下一代种群中作为复制种群,步骤S3-6,按照轮盘赌策略从所述初始种群p0的所有染色体中选择父代个体,步骤S3-7,对所述父代个体结合Alopex算法进行遗传操作得到变异种群、交换种群以及交叉种群,步骤S3-8,所述复制种群、所述异种群、所述交换种群以及所述交叉种群构成新一代种群p1,步骤S3-9,根据计算规则计算种所述新一代种群p1中每个染色体的适应度函数值ε1,步骤S3-10,判断是否满足算法终止条件,该终止条件为k>kmax或适应度函数值的差值Δε1≥Δεmax,步骤S3-11,如果满足算法终止条件,输出最优染色体,即所述最近顶点对,然后结束程序,步骤S3-12,如果不满足算法终止条件,k数值增长1并对新一代种群循环进行步骤S3-5~步骤S3-13。2.根据权利要求1所述的求解三维空间内任意两个多面体间的最近距离的方法,其特征在于:其中,所述最近顶点对包括所述多面体Mx上的顶点A和所述多面体My上的顶点A',步骤S4包括以下子步骤,步骤S4-1,将所述顶点A和所述顶点A'之间的方向矢量AA'作为第一相对标准方向矢量,步骤S4-2,分别计算以所述顶点A作为顶点的三角网格面片的法向量与所述第一相对标准方向矢量之间的夹角的余弦值并将余弦值最大的三角网格面片作为第一目标面片,步骤S4-3,将所述顶点A'和所述顶点A之间的方向矢量A'A作为第二相对标准方向矢量,步骤S4-4,分别计算以所...

【专利技术属性】
技术研发人员:王文举窦曙光姜中敏
申请(专利权)人:上海理工大学
类型:发明
国别省市:上海,31

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

1