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进而采用梯度投影法,但这些方法均有其适应范围和一定的局限性,当物体表面为二次或超级曲面时还需预先进行线性化处理。凹多面体间的距离测定大多数采用离线将凹多面体划分成子凸 ...
【技术保护点】
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,按照轮盘赌策略从所述初始种群 ...
【技术特征摘要】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。