CN105469406A - 一种基于包围盒与空间划分的虚拟物体碰撞检测方法 - Google Patents

一种基于包围盒与空间划分的虚拟物体碰撞检测方法 Download PDF

Info

Publication number
CN105469406A
CN105469406A CN201510853813.XA CN201510853813A CN105469406A CN 105469406 A CN105469406 A CN 105469406A CN 201510853813 A CN201510853813 A CN 201510853813A CN 105469406 A CN105469406 A CN 105469406A
Authority
CN
China
Prior art keywords
triangular facet
vector
dummy
bounding box
dummy object
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.)
Granted
Application number
CN201510853813.XA
Other languages
English (en)
Other versions
CN105469406B (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.)
Northeastern University China
Original Assignee
Northeastern University China
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 Northeastern University China filed Critical Northeastern University China
Priority to CN201510853813.XA priority Critical patent/CN105469406B/zh
Publication of CN105469406A publication Critical patent/CN105469406A/zh
Application granted granted Critical
Publication of CN105469406B publication Critical patent/CN105469406B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20124Active shape model [ASM]

Landscapes

  • Image Analysis (AREA)

Abstract

本发明提供一种基于包围盒与空间划分的虚拟物体碰撞检测方法,包括以下步骤:对两个不规则的虚拟物体进行虚拟物体碰撞预检测;对待检测区域进行区域分割;在待检测区域划分好的各个子区域中进行相交测试;利用代表移动中的虚拟物体的点向量集合以及代表当前不需要装配的虚拟物体的三角面,进行虚拟物体碰撞检测:若相交,则两个虚拟物体发生碰撞,否则不发生碰撞。本发明利用虚拟物体的空间相关性来缩小空间的碰撞检测范围来减少时间消耗,同时也大大提升了方法的检测效率和碰撞检测的几何精度。采用将包围盒还原成三角面以及点的方式减少碰撞检测误判的发生。将碰撞检测过程细化到三角面和点之间的干涉,分步检测的方式将大大提高检测效率。

Description

一种基于包围盒与空间划分的虚拟物体碰撞检测方法
技术领域
本发明属于虚拟现实中的虚拟装配领域,具体涉及一种基于包围盒与空间划分的虚拟物体碰撞检测方法。
背景技术
虚拟现实(virtualreality)技术是一种可以在虚拟环境中完成一系列动作的计算机技术,随着计算机软硬件的不断发展,虚拟环境的搭建越发完整,功能越发完善。虚拟装配技术是虚拟现实技术在设计与制造领域的重要应用之一,它已经引起了企业和研究机构的广泛关注。虚拟装配技术的发展与计算机技术、虚拟现实技术的发展紧密相关,近年来也取得了较好的发展,有些虚拟装配系统已经走出实验室,走进了企业。虚拟装配利用计算机工具,而不需产品或者支持过程的物理实现,通过分析、预建模、可视化、数据表示等进行或者辅助进行装配相关的工程决策。
基于虚拟现实的产品虚拟拆装技术在新产品开发、产品的维护以及操作培训方面具有独特的作用,在操作过程中系统提供实时的碰撞检测、装配约束处理、装配路径与序列处理等功能,从而使得用户能够对产品的可装配性进行分析、对产品零部件装配序列进行验证和规划、对装配操作人员进行培训等。利用虚拟装配,可以验证装配设计和操作的正确与否,以便及早的发现装配中的问题,对模型进行修改,并通过可视化显示装配过程。
碰撞检测是虚拟现实,特别是虚拟装配中所涉及的一项关键技术,碰撞检测就是检测虚拟环境中虚拟物体是否发生穿透现象,所以碰撞检测对虚拟环境的真实性和实时性起到关键作用。就碰撞检测中检测较为精确的方法而言,目前研究较成熟的方法为层次包围盒和空间分割法等,其中基于包围盒的碰撞检测方法是目前世界范围内研究和应用较多的碰撞检测方法,但包围盒之间的检测会增加碰撞检测误判的可能性,就检测较为准确的AABB层次包围盒二叉树方法来说,由于引入的检测结点数过多,在一定情况下会导致检测效率的下降。空间分割法在要求高精确度的碰撞检测中常用,但这些较成熟的方法大都不能满足在实时检测的情况下提供较精确的检测结果。
目前,相关的碰撞检测方法已经比较丰富,但是随着虚拟现实技术的发展,工业应用上对碰撞检测从真实性和实时性两方面的要求也越来越高。国内外学者对虚拟现实技术方面的碰撞检测方法研究比较多,但是真正能让虚拟装配技术应用到工业上的碰撞检测方法却较少。
发明内容
针对现有技术存在的问题,本发明提供一种基于包围盒与空间划分的虚拟物体碰撞检测方法。
本发明的技术方案是:
一种基于包围盒与空间划分的虚拟物体碰撞检测方法,包括以下步骤:
步骤1:对两个不规则的虚拟物体进行虚拟物体碰撞预检测;
步骤1.1:采用构建AABB包围盒的方法来查找两个不规则的虚拟物体之间的可能相交区域,即待检测区域;
步骤1.2:根据两个虚拟物体在待检测区域中的点集,判断当前两个虚拟物体产生碰撞的可能性;
步骤2:对待检测区域进行区域分割;
步骤2.1:根据虚拟物体的移动方向确定分割平面;
步骤2.2:根据分割平面将待检测区域分割成K个子区域;
步骤3:在待检测区域划分好的各个子区域中进行相交测试;
步骤3.1:将移动的虚拟物体表面视为由多个极小的点构成,各点定义为点向量;将当前不需要装配的虚拟物体视为由无数个三角面包围而成;
步骤3.2:利用代表移动中的虚拟物体的点向量集合以及代表当前不需要装配的虚拟物体的三角面,检测移动前后的点向量集合与三角面所在平面的位置关系;
步骤3.3:利用点向量移动前后所形成的空间线段与三角面相交状态,进行虚拟物体碰撞检测:若相交,则两个虚拟物体发生碰撞,否则两个虚拟物体不发生碰撞。
所述步骤1.1具体步骤如下:
步骤1.1.1:构建两个虚拟物体的AABB包围盒,该AABB包围盒被定义为包含虚拟物体且各边平行于坐标轴的最小六面体;
所述构建两个虚拟物体的AABB包围盒的方法如下:
通过遍历虚拟物体中的每一个顶点并找出顶点X坐标的最小值Xmin、X坐标的最大值Xmax、Y坐标的最小值Ymin、Y坐标的最大值Ymax、Z坐标的最小值Zmin、Z坐标的最大值Zmax,用这六个值构成最小六面体的八个顶点,构建出给定虚拟物体的AABB包围盒。
步骤1.1.2:利用构建出的虚拟物体的AABB包围盒在X、Y、Z轴上的最大值和最小值,分别确定虚拟物体在3个坐标轴上的投影区间;
步骤1.1.3:判断两个虚拟物体的AABB包围盒在3个坐标轴上的投影区间是否都重叠:若是,则两个虚拟物体的AABB包围盒相交,对两个相交的AABB包围盒的轴向坐标求交集,包括两个相交的AABB包围盒的在X轴上投影的交集、两个相交的AABB包围盒的在Y轴上投影的交集、两个相交的AABB包围盒的在Z轴上投影的交集,执行步骤1.1.4;否则,两个虚拟物体的AABB包围盒不相交,两个虚拟物体不可能发生碰撞,结束检测;
步骤1.1.4:利用两个相交的AABB包围盒的在X轴上投影的交集、两个相交的AABB包围盒的在Y轴上投影的交集、两个相交的AABB包围盒的在Z轴上投影的交集,构成待检测区域。
所述步骤1.2的具体步骤如下:
步骤1.2.1:分别确定两个虚拟物体在待检测区域中的点集;
步骤1.2.2:若两个点集中至少一个为空集,则表明当前两个虚拟物体中至少有一个在待检测区域中不存在点,则两个虚拟物体不可能产生碰撞;
步骤1.2.3:若两个点集均非空,则表明当前两个虚拟物体在待检测区域中都存在点,则两个虚拟物体可能产生碰撞,执行步骤2。
所述步骤2.1中确定分割平面的方法如下:取待检测区域中任一点,利用其移动前后两位置所形成的线段投影到X、Y、Z坐标轴上,选取投影最短的坐标轴,以该坐标轴正方向为法向量确定分割平面。
所述步骤3.2的具体步骤如下:
步骤3.2.1:将三角面点化;
步骤3.2.2:判断移动前后点向量集合的位置是否分布在三角面所在平面的两侧:是,则点向量移动可能会与三角面产生碰撞,否则点向量移动不会与三角面产生碰撞。
所述步骤3.2.2的具体步骤如下:
步骤3.2.2.1:利用三角面的两条边向量,求得三角面所在平面法向量N;
V1=b-a
V2=c-a
N=Normalize(V1×V2)
其中,a、b、c分别为三角面的三个顶点,V1、V2分别是三角面的两条边向量,Normalize是将两条边向量单位化处理;
步骤3.2.2.2:利用三角面所在平面法向量N及移动前后点向量的位置坐标,求得三角面所在平面距离原点的距离、移动前后点向量在三角面所在平面法向量N上的投影;
D=N·a
Dq1=N·Q1
Dq2=N·Q2
其中,D表示顶点a在三角面所在平面法向量N上的投影,即三角面所在平面距离原点的距离,Q1、Q2分别代表移动前后点向量的位置坐标,Dq1、Dq2分别代表Q1、Q2在三角面所在平面法向量N上的投影;
步骤3.2.2.3:计算移动前点向量在三角面所在平面法向量N上的投影与三角面所在平面距离原点的距离之差D1、移动后点向量在三角面所在平面法向量N上的投影与三角面所在平面距离原点的距离之差D2
D1=Dq1-D
D2=Dq2-D
步骤3.2.2.4:判断移动前后当前点向量的位置是否分布在当前三角面所在平面的两侧:如果D1、D2同号,则当前点向量移动前后的位置在当前三角面所在平面的同侧,该点向量的移动不会与当前三角面产生碰撞,结束检测;如果D1、D2异号,则当前点向量移动前后的位置在当前三角面所在平面的两侧,该点向量的移动可能会与当前三角面产生碰撞,执行步骤3.3。
所述步骤3.3具体步骤如下:
步骤3.3.1:确定空间中穿过移动前后点向量在三角面所在平面法向量N上的投影的直线参数方程;
x = D q 1 . x + D q 2 . x × t y = D q 1 . y + D q 2 . y × t z = D q 1 . z + D q 2 . z × t
其中,Dq1、Dq2分别代表移动前后点向量的位置坐标Q1、Q2在三角面所在平面法向量N上的投影;
步骤3.3.2:确定空间平面的点法式方程;
N.x×(x-a.x)+N.y×(y-a.y)+N.z×(z-a.z)=0
其中,N为三角面所在平面法向量,a为三角面顶点;
步骤3.3.3:根据步骤3.3.1中的直线参数方程和步骤3.3.2中的空间平面的点法式方程,求出参数t的值;
t = ( ( a . x - D q 1 . x ) × N . x + ( a . y - D q 1 . y ) × N . y + ( a . z - D q 1 . z ) × N . z ) ( N . x × D q 2 . x + N . y × D q 2 . y + N . z × D q 2 . z )
步骤3.3.4:将步骤3.3.3中求出的t值带入到步骤3.3.1中的直线参数方程中,求得点向量移动前和移动后的位置所在直线与三角面所在平面的交点坐标x、y、z;
步骤3.3.5:判断所求交点是否落在三角面上,如果落在三角面上则两个虚拟物体发生碰撞,否则两个虚拟物体不发生碰撞。
有益效果:
本发明从虚拟装配的实际过程出发,考虑到虚拟装配中零部件的装配大都不是并发进行的,所以只有一个零部件是可移动的,基于这一特征来提高实时检测的准确性以及高效性,以提高对虚拟装配过程中的零部件装配进行碰撞检测的准确性和高效性。
本发明利用虚拟物体的空间相关性来缩小空间的碰撞检测范围来减少时间消耗,同时也大大提升了方法的检测效率和碰撞检测的几何精度。
采用将包围盒还原成三角面以及点的方式减少碰撞检测误判的发生。
将碰撞检测过程细化到三角面和点之间的干涉,将碰撞检测还原到模型与模型的直接检测,分步检测的方式将大大提高检测效率。
按移动方向进行空间划分的方法,结合虚拟物体移动方向和运动趋势进行空间划分可以最大程度提高同一划分空间中模型碰撞的概率,增加精确度并减少运算时间。
附图说明
图1是本发明具体实施方式中待检测区域示意图;
图2(a)~(f)是本发明具体实施方式中碰撞几何精度测试的模型6个不同位置示意图;
图3是本发明具体实施方式中四种碰撞检测方法碰撞几何精度曲线;
图4(a)~(f)是本发明具体实施方式平移自由度测试中的模型6个不同位置示意图;
图5是本发明具体实施方式中四种碰撞检测方法在平移自由度下的时间消耗曲线;
图6(a)~(f)是本发明具体实施方式旋转自由度测试中的模型6个不同位置示意图;
图7是本发明具体实施方式四种碰撞检测方法在旋转自由度下的时间消耗曲线;
图8是本发明具体实施方式基于包围盒与空间划分的虚拟物体碰撞检测方法流程图;
图9是本发明具体实施方式步骤1.1的具体流程图;
图10是本发明具体实施方式步骤3.2的具体流程图;
图11是本发明具体实施方式步骤3.3的具体流程图。
具体实施方式
下面结合附图对本发明的具体实施方式做详细说明。
一种基于包围盒与空间划分的虚拟物体碰撞检测方法,如图8所示,包括以下步骤:
步骤1:对两个不规则的虚拟物体A、B进行虚拟物体碰撞预检测;
步骤1.1:采用构建AABB包围盒的方法来查找两个不规则的虚拟物体之间的可能相交区域,即待检测区域。
如图9所示,具体步骤如下:
步骤1.1.1:构建两个虚拟物体的AABB包围盒,该AABB包围盒被定义为包含虚拟物体且各边平行于坐标轴的最小六面体;
构建两个虚拟物体的AABB包围盒的方法如下:
通过遍历虚拟物体中的每一个顶点并找出顶点X坐标的最小值Xmin、X坐标的最大值Xmax、Y坐标的最小值Ymin、Y坐标的最大值Ymax、Z坐标的最小值Zmin、Z坐标的最大值Zmax,用这六个值构成最小六面体的八个顶点,构建出给定虚拟物体的AABB包围盒。
步骤1.1.2:利用构建出的虚拟物体的AABB包围盒在X、Y、Z轴上的最大值和最小值,分别确定虚拟物体在3个坐标轴上的投影区间;
步骤1.1.3:判断两个虚拟物体的AABB包围盒在3个坐标轴上的投影区间是否都重叠:若是,则两个虚拟物体的AABB包围盒相交,对两个相交的AABB包围盒的轴向坐标求交集,包括两个相交的AABB包围盒的在X轴上投影的交集、两个相交的AABB包围盒的在Y轴上投影的交集、两个相交的AABB包围盒的在Z轴上投影的交集,执行步骤1.1.4;否则,两个虚拟物体的AABB包围盒不相交,两个虚拟物体不可能发生碰撞,结束检测;
两个相交的AABB包围盒的在X轴上投影的交集Ux=UAx(XAmin,XAmax)∩UBx(XBmin,XBmax);
两个相交的AABB包围盒的在Y轴上投影的交集Uy=UAy(YAmin,YAmax)∩UBy(YBmin,YBmax);
两个相交的AABB包围盒的在Z轴上投影的交集Uz=UAz(ZAmin,ZAmax)∩UBz(ZBmin,ZBmax);
步骤1.1.4:利用两个相交的AABB包围盒的在X轴上投影的交集、两个相交的AABB包围盒的在Y轴上投影的交集、两个相交的AABB包围盒的在Z轴上投影的交集,构成待检测区域P为中的点。
待检测区域如图1中虚线构成的六面体所示。
步骤1.2:根据虚拟物体A在待检测区域中的点集PA和虚拟物体B在待检测区域中的点集PB,判断当前两个虚拟物体A、B产生碰撞的可能性。
步骤1.2.1:确定虚拟物体A在待检测区域中的点集PA和虚拟物体B在待检测区域中的点集PB
PA={P|P.x∈Ux,P.y∈Uy,P.z∈Uz,P∈UA}
PB={P|P.x∈Ux,P.y∈Uy,P.z∈Uz,P∈UB}
其中,UA表示虚拟物体A所对应的模型、UB表示虚拟物体B所对应的模型;
步骤1.2.2:若PA和PB中至少一个为空集,即则表明当前两个虚拟物体中至少有一个在待检测区域中不存在点,则虚拟物体A、B不可能产生碰撞;
步骤1.2.3:若PA和PB均非空,则表明当前两个虚拟物体在待检测区域中都存在点,则虚拟物体A、虚拟物体B可能产生碰撞,执行步骤2。
步骤2:对待检测区域进行区域分割;
步骤2.1:根据虚拟物体的移动方向确定分割平面,从而达到在减少检测次数的情况下提高有效检测次数;
确定分割平面的方法如下:取待检测区域中任一点,利用其移动前后两位置所形成的线段投影到X、Y、Z坐标轴上,选取投影最短的坐标轴,以该坐标轴正方向为法向量确定分割平面;
步骤2.2:根据分割平面将待检测区域分割成K个子区域,其中,K的大小可以根据虚拟物体的移动精度和复杂度适当调节,K过大或过小都会影响检测的整体效率。
步骤3:在待检测区域划分好的各个子区域中进行相交测试;
步骤3.1:将移动的虚拟物体表面视为由多个极小的点构成,各点定义为点向量,记为Q;将当前不需要装配的虚拟物体视为由无数个三角面包围而成;
步骤3.2:利用代表移动中的虚拟物体的点向量集合以及代表当前不需要装配的虚拟物体的三角面,检测移动前后的点向量集合与三角面所在平面的位置关系;
如图10所示,具体步骤如下:
步骤3.2.1:将三角面点化;
为了减少计算次数,提高计算效率,引入三角期望的概念。在三角期望的概念中,把三角形三个顶点看作三个离散变量,利用离散变量获取期望值,看作是三角面可能出现的位置,而三个顶点出现的概率相等,即1/3。
利用公式 E ( x ) = ( x 1 + x 2 + x 3 ) / 3 E ( y ) = ( y 1 + y 2 + y 3 ) / 3 E ( z ) = ( z 1 + z 2 + z 3 ) / 3 将三角面点化,简化计算复杂度;其中,x1、y1、z1,x2、y2、z2和x3、y3、z3分别为三角面三个顶点的三维坐标,E(x)、E(y)、E(z)是三角面点化后的坐标;
步骤3.2.2:判断移动前后点向量集合的位置是否分布在三角面所在平面的两侧:是,则点向量移动可能会与三角面产生碰撞,否则点向量移动不会与三角面产生碰撞。
步骤3.2.2.1:利用三角面的两条边向量,求得三角面所在平面法向量N;
V1=b-a
V2=c-a
N=Normalize(V1×V2)
其中,a、b、c分别为三角面的三个顶点,V1、V2分别是三角面的两条边向量,Normalize是将两条边向量单位化处理;
步骤3.2.2.2:利用三角面所在平面法向量N及移动前后点向量的位置坐标,求得三角面所在平面距离原点的距离、移动前后点向量在三角面所在平面法向量N上的投影;
D=N·a
Dq1=N·Q1
Dq2=N·Q2
其中,D表示顶点a在三角面所在平面法向量N上的投影,即三角面所在平面距离原点的距离,Q1、Q2分别代表移动前后点向量的位置坐标,Dq1、Dq2分别代表Q1、Q2在三角面所在平面法向量N上的投影;
步骤3.2.2.3:计算移动前点向量在三角面所在平面法向量N上的投影与三角面所在平面距离原点的距离之差D1、移动后点向量在三角面所在平面法向量N上的投影与三角面所在平面距离原点的距离之差D2
D1=Dq1-D
D2=Dq2-D
步骤3.2.2.4:判断移动前后当前点向量的位置是否分布在当前三角面所在平面的两侧:如果D1、D2同号,则当前点向量移动前后的位置在当前三角面所在平面的同侧,该点向量的移动不会与当前三角面产生碰撞,结束检测;如果D1、D2异号,则当前点向量移动前后的位置在当前三角面所在平面的两侧,该点向量的移动可能会与当前三角面产生碰撞,执行步骤3.3。
步骤3.3:利用点向量移动前后所形成的空间线段与三角面相交状态,进行虚拟物体碰撞检测:若相交,则两个虚拟物体发生碰撞,否则两个虚拟物体不发生碰撞。
如图11所示,具体步骤如下:
步骤3.3.1:确定空间中穿过Dq1和Dq2的直线参数方程;
x = D q 1 . x + D q 2 . x × t y = D q 1 . y + D q 2 . y × t z = D q 1 . z + D q 2 . z × t
其中,Dq1、Dq2分别代表移动前后点向量的位置坐标Q1、Q2在三角面所在平面法向量N上的投影;计算线段与有限平面交点的方法有很多,本实施方式利用直线参数方程求交点可以较少消耗计算机内存且效率较高;
步骤3.3.2:确定空间平面的点法式方程;
N.x×(x-a.x)+N.y×(y-a.y)+N.z×(z-a.z)=0
其中,N为三角面所在平面法向量,a为三角面一顶点;
步骤3.3.3:根据步骤3.3.1中的直线参数方程和步骤3.3.2中的空间平面的点法式方程,求出参数t的值;
t = ( ( a . x - D q 1 . x ) × N x + ( a . y - D q 1 . y ) × N . y + ( a . z - D q 1 . z ) × N . z ) ( N . x × D q 2 . x + N . y × D q 2 . y + N . z × D q 2 . z )
步骤3.3.4:将步骤3.3.3中求出的t值带入到步骤3.3.1中的直线参数方程中,求得点向量移动前和移动后的位置所在直线与三角面所在平面的交点坐标x、y、z;
步骤3.3.5:判断所求交点是否落在三角面上,如果落在三角面上则虚拟物体A、B发生碰撞,否则两个虚拟物体不发生碰撞。
下面对本实施方式的基于包围盒与空间划分的虚拟物体碰撞检测方法进行复杂度、碰撞几何精度、碰撞检测时耗进行分析:
1、复杂度分析
假设虚拟场景中虚拟物体个数为M,虚拟物体中的三角面数为N,根据分割平面将待检测区域分割成K个子区域,则对于每次碰撞检测所需的时间复杂度为
对于现有技术中的AABB层次包围盒二叉树碰撞检测方法,根据虚拟场景中对两个虚拟物体的碰撞检测任务树的遍历可以得出其计算时间复杂度:设碰撞检测任务树的个数为M,碰撞检测任务树的叶子节点数为X,则进行一次碰撞检测的平均时间复杂度为如果虚拟物体的三角面数设为N,根据碰撞检测任务树性质,可以得出X=N2,最终可以得出AABB层次包围盒二叉树碰撞检测方法复杂度为
2、碰撞几何精度分析
进行碰撞几何精度测试:在虚拟环境中,初始化一个无重力的场景,并在该场景中放置两个壶模型,两个模型的三角面数分别为517个和517个,随机选取6个位置,在这6个位置进行碰撞检测,在同一位置利用本实施方式的方法、AABB层次包围盒二叉树碰撞检测方法、K(16)-DOPs包围盒方法以及BPS空间分割树方法进行碰撞检测,并记录三种现有技术中的经典方法与本发明方法碰撞检测时检测出碰撞所在位置的距离差。
图2(a)~(f)为随机选的6个位置,并且这6个位置未按碰撞检测的难易程度进行排序。这6次实验在同一实验环境、同一计量单位下、相同位置下,利用本发明方法检测到碰撞时两模型的最近距离低于利用AABB层次包围盒二叉树碰撞检测方法检测到碰撞时两模型的最近距离。这6次实验中,两方法在同一位置的距离差分别为0.11、0.03、0.04、0.01、0.049和0.03。当距离差超过0.02时,会有明显的视觉缝隙。在6次实验中,有5次实验数据超过阈值0.02,并且有一个位置的距离差达到0.11,在此位置两方法会有特别明显的视觉差别,这说明本发明方法在碰撞检测的几何精度上较AABB层次包围盒二叉树碰撞检测方法有较明显的提高。
另外一组实验是在虚拟装配领域比较常用的方法K-DOPS包围盒与本发明方法之间进行,K取值为16。同样测试的为两方法同一位置最近距离的距离差,距离差分别为:0.22、0.50、0.73、0.69、0.04、1.24。在6次试验中,只有一次距离差接近阈值0.02。且距离差较大,这说明本发明方法在碰撞检测的几何精度上远远高于这种单包围盒中最精确的K(16)-DOPS包围盒方法。
BPS空间分割树方法选取适当深度的划分方式与本发明方法进行比较,当前选择深度为16。同样测试的是在同一位置最近距离的距离差,差距分别为:-0.19、-0.35、-0.45、-0.57、-0.39、-0.91,由于BPS空间分割树方法与K(16)-DOPS包围盒方法不同,包围盒特征为包围覆盖,所以包围盒检测相交的时候实际物体不一定相交,所以当检测碰撞时,物体间会有一定缝隙。BPS空间分割树方法为空间分割法,当物体相交时,但是此时两物体相交区域没有超平面分割,这是即使物体相交也不会检测碰撞,所以K(16)-DOPS包围盒方法的数据与BPS空间分割方法的数据会存在正负之分。
在这6次试验中,可以较明显的看出四种碰撞检测方法在碰撞几何精度测试方面的优劣,图3为四种碰撞检测方法在图2所示的6个位置中发生碰撞时位置的距离差。
3、碰撞检测时耗分析
碰撞检测时耗测试:在虚拟环境中,初始化一个无重力的场景,并在场景中放置三个茶壶模型,三个模型三角面数均为517个。在场景中随机选取12个位置,两种方法在检测到碰撞之前都可以到达这12个位置。把这12个位置分成两组,并按碰撞检测从易到难排列,分别利用本发明方法、AABB层次包围盒二叉树碰撞检测方法与K(16)-DOPS方法进行碰撞检测。其中6个位置用于计算平移自由度下方法时耗,另外6个位置用于计算旋转自由度下方法时耗。两组位置分别用于同一个场景、两个实验环境下。
(1)平移自由度下方法时耗测试
测试平移自由度所使用的6个位置如图4(a)~(f)所示,这6个位置按对模型使用AABB层次包围盒二叉树碰撞检测方法进行碰撞检测时的难易程度进行排序。处于图4(a)所示的1号位置的碰撞检测为较简单的碰撞检测,处于图4(f)所示的6号位置的碰撞检测为相对较复杂的碰撞检测。其他位置碰撞检测难易程度介于1号位置和6号位置之间,并呈现递增的排列。
图5为四种碰撞检测方法在平移自由度下的时间消耗。从图4所绘制出的曲线结果可以看出,在碰撞检测较为简单的1号位置和2号位置,AABB层次包围盒二叉树碰撞检测方法的时耗较低,但是两种方法的时耗没有较明显差异。随着碰撞检测复杂度的不断增加,本方法的效率逐渐彰显。这一实验结果证明在平移自由度下,本发明方法的检测时耗比AABB层次包围盒二叉树碰撞检测方法的碰撞检测时耗更少。而K-DOPS方法由于是单包围盒检测,所以在平移自由度环境下并不耗时。BPS空间分割树方法由于空间树的深度没有特别深,仅为16层,所以时效上优于AABB层次包围盒二叉树碰撞检测方法。
(2)旋转自由度下方法时耗测试
测试旋转自由度所使用的6个位置如图6(a)~(f)所示,这六个位置按对模型使用AABB层次包围盒二叉树碰撞检测方法进行碰撞检测的难易程度进行排序。处于图6(a)所示的1号位置的碰撞检测为较简单的碰撞检测,处于图6(f)所示的6号位置的碰撞检测为相对较复杂的碰撞检测。其他位置碰撞检测难易程度介于1号位置和6号位置之间,并呈现递增的排列。
图7为在旋转自由度下本发明方法、AABB层次包围盒二叉树碰撞检测方法、K(16)-DOPS算法以及BPS空间分割树方法,在6个位置进行一次检测所需的平均时耗。从图6所绘制出的曲线结果可以看出,在碰撞检测较为简单的1号位置、2号位置和3号位置,虽然AABB层次包围盒二叉树碰撞检测方法时耗较高,但是这两种算法之间没有较为明显的时耗差异。随着碰撞检测复杂度的不断增加,本发明方法的效率逐渐彰显,并且在同一位置的计算时耗上产生了较大的差异。这一实验结果验证了在旋转自由度下,本发明方法的时耗比AABB层次包围盒二叉树碰撞检测方法的时耗更少,且本发明方法的优越性随着碰撞检测复杂度的增加而表现的越为显著。而K(16)-DOPS方法,在旋转自由度下的碰撞检测时耗则好于AABB层次包围盒二叉树碰撞检测方法和本发明方法,但是较平移自由度下的时耗较差。BPS空间分割树方法由于空间划分为16层,所以时效上会优于AABB层次包围盒二叉树碰撞检测方法。
4、三角面数对碰撞检测时耗的影响测试
在虚拟环境中,初始化一个场景,在场景中分别放置两个模型。第一组实验中,设定三角面数为517的茶壶模型为移动对象,设定不同面数的模型为静止对象,不同面数模型经过3DMax建模工具降低面数,确保模型外形一致。利用坐标定位方法确保每次碰撞检测位置相同,得出当前位置下每一次碰撞检测的时耗。第一组实验结果如表1所示。
从表1中可以看出,在相同位置发生碰撞检测后,本发明方法时耗要小于AABB层次包围盒二叉树碰撞检测方法的时耗,但差距不大。随着静止模型面数的不断增加,单次平均检测时耗在两种碰撞检测方法的检测下都呈上升的趋势。BPS空间分割树方法在当前深度的情况下,平均时耗要小于AABB层次包围盒二叉树碰撞检测方法,但高于本发明方法。
表1运动模型为少面数情况下的时间消耗
第二组实验中,设定面数为517的茶壶模型为静止对象,设定不同面数的模型为运动对象,利用坐标定位方法确保每次碰撞检测的位置相同,得出当前位置下每一次碰撞检测所的时时。第二组实验结果如表2所示。由于K(16)-DOPs方法为单包围盒方法,所以三角面数对该方法无本质上的影响,不再赘述该方法的实验。
从表2中可以看出,在相同位置发生碰撞检测后,本发明方法的时耗要小于AABB层次包围盒二叉树碰撞检测方法的时耗,且差距较大。并且随着模型面数的不断增加,单次平均检测时耗在两种碰撞检测方法的检测下都呈上升的趋势,且随着模型面数的不断增加,利用两种方法检测碰撞的单次平均时耗的差距也越来越大。BPS空间分割树方法与本发明方法特征一致,对于面数较多的移动物体表现比较稳定。
表2运动模型为多面数情况下的时间消耗
结合表1、表2可以看出当移动模型的面数较大时,对AABB层次包围盒二叉树碰撞检测方法的时耗影响较大,而对本发明方法与BSP空间分割方法的时耗影响较小。这个实验可以验证,当运动模型的三角面较多时,本发明方法与BSP空间分割方法会比AABB层次包围盒二叉树碰撞检测方法表现出更高的稳定性。

Claims (8)

1.一种基于包围盒与空间划分的虚拟物体碰撞检测方法,其特征在于,包括以下步骤:
步骤1:对两个不规则的虚拟物体进行虚拟物体碰撞预检测;
步骤1.1:采用构建AABB包围盒的方法来查找两个不规则的虚拟物体之间的可能相交区域,即待检测区域;
步骤1.2:根据两个虚拟物体在待检测区域中的点集,判断当前两个虚拟物体产生碰撞的可能性;
步骤2:对待检测区域进行区域分割;
步骤2.1:根据虚拟物体的移动方向确定分割平面;
步骤2.2:根据分割平面将待检测区域分割成K个子区域;
步骤3:在待检测区域划分好的各个子区域中进行相交测试;
步骤3.1:将移动的虚拟物体表面视为由多个极小的点构成,各点定义为点向量;将当前不需要装配的虚拟物体视为由无数个三角面包围而成;
步骤3.2:利用代表移动中的虚拟物体的点向量集合以及代表当前不需要装配的虚拟物体的三角面,检测移动前后的点向量集合与三角面所在平面的位置关系;
步骤3.3:利用点向量移动前后所形成的空间线段与三角面相交状态,进行虚拟物体碰撞检测:若相交,则两个虚拟物体发生碰撞,否则两个虚拟物体不发生碰撞。
2.根据权利要求1所述的基于包围盒与空间划分的虚拟物体碰撞检测方法,其特征在于,所述步骤1.1具体步骤如下:
步骤1.1.1:构建两个虚拟物体的AABB包围盒,该AABB包围盒被定义为包含虚拟物体且各边平行于坐标轴的最小六面体;
步骤1.1.2:利用构建出的虚拟物体的AABB包围盒在X、Y、Z轴上的最大值和最小值,分别确定虚拟物体在3个坐标轴上的投影区间;
步骤1.1.3:判断两个虚拟物体的AABB包围盒在3个坐标轴上的投影区间是否都重叠:若是,则两个虚拟物体的AABB包围盒相交,对两个相交的AABB包围盒的轴向坐标求交集,包括两个相交的AABB包围盒的在X轴上投影的交集、两个相交的AABB包围盒的在Y轴上投影的交集、两个相交的AABB包围盒的在Z轴上投影的交集,执行步骤1.1.4;否则,两个虚拟物体的AABB包围盒不相交,两个虚拟物体不可能发生碰撞,结束检测;
步骤1.1.4:利用两个相交的AABB包围盒的在X轴上投影的交集、两个相交的AABB包围盒的在Y轴上投影的交集、两个相交的AABB包围盒的在Z轴上投影的交集,构成待检测区域。
3.根据权利要求1所述的基于包围盒与空间划分的虚拟物体碰撞检测方法,其特征在于,所述步骤1.2的具体步骤如下:
步骤1.2.1:分别确定两个虚拟物体在待检测区域中的点集;
步骤1.2.2:若两个点集中至少一个为空集,则表明当前两个虚拟物体中至少有一个在待检测区域中不存在点,则两个虚拟物体不可能产生碰撞;
步骤1.2.3:若两个点集均非空,则表明当前两个虚拟物体在待检测区域中都存在点,则两个虚拟物体可能产生碰撞,执行步骤2。
4.根据权利要求1所述的基于包围盒与空间划分的虚拟物体碰撞检测方法,其特征在于,所述步骤2.1中确定分割平面的方法如下:取待检测区域中任一点,利用其移动前后两位置所形成的线段投影到X、Y、Z坐标轴上,选取投影最短的坐标轴,以该坐标轴正方向为法向量确定分割平面。
5.根据权利要求1所述的基于包围盒与空间划分的虚拟物体碰撞检测方法,其特征在于,所述步骤3.2的具体步骤如下:
步骤3.2.1:将三角面点化;
步骤3.2.2:判断移动前后点向量集合的位置是否分布在三角面所在平面的两侧:是,则点向量移动可能会与三角面产生碰撞,否则点向量移动不会与三角面产生碰撞。
6.根据权利要求5所述的基于包围盒与空间划分的虚拟物体碰撞检测方法,其特征在于,所述步骤3.2.2的具体步骤如下:
步骤3.2.2.1:利用三角面的两条边向量,求得三角面所在平面法向量N;
V1=b-a
V2=c-a
N=Normalize(V1×V2)
其中,a、b、c分别为三角面的三个顶点,V1、V2分别是三角面的两条边向量,Normalize是将两条边向量单位化处理;
步骤3.2.2.2:利用三角面所在平面法向量N及移动前后点向量的位置坐标,求得三角面所在平面距离原点的距离、移动前后点向量在三角面所在平面法向量N上的投影;
D=N·a
Dq1=N·Q1
Dq2=N·Q2
其中,D表示顶点a在三角面所在平面法向量N上的投影,即三角面所在平面距离原点的距离,Q1、Q2分别代表移动前后点向量的位置坐标,Dq1、Dq2分别代表Q1、Q2在三角面所在平面法向量N上的投影;
步骤3.2.2.3:计算移动前点向量在三角面所在平面法向量N上的投影与三角面所在平面距离原点的距离之差D1、移动后点向量在三角面所在平面法向量N上的投影与三角面所在平面距离原点的距离之差D2
D1=Dq1-D
D2=Dq2-D
步骤3.2.2.4:判断移动前后当前点向量的位置是否分布在当前三角面所在平面的两侧:如果D1、D2同号,则当前点向量移动前后的位置在当前三角面所在平面的同侧,该点向量的移动不会与当前三角面产生碰撞,结束检测;如果D1、D2异号,则当前点向量移动前后的位置在当前三角面所在平面的两侧,该点向量的移动可能会与当前三角面产生碰撞,执行步骤3.3。
7.根据权利要求1所述的基于包围盒与空间划分的虚拟物体碰撞检测方法,其特征在于,所述步骤3.3具体步骤如下:
步骤3.3.1:确定空间中穿过移动前后点向量在三角面所在平面法向量N上的投影的直线参数方程;
x = D q 1 . x + D q 2 . x × t y = D q 1 . y + D q 2 . y × t z = D q 1 . z + D q 2 . z × t
其中,Dq1、Dq2分别代表移动前后点向量的位置坐标Q1、Q2在三角面所在平面法向量N上的投影;
步骤3.3.2:确定空间平面的点法式方程;
N.x×(x-a.x)+N.y×(y-a.y)+N.z×(z-a.z)=0
其中,N为三角面所在平面法向量,a为三角面顶点;
步骤3.3.3:根据步骤3.3.1中的直线参数方程和步骤3.3.2中的空间平面的点法式方程,求出参数t的值;
t = ( ( a . x - D q 1 . x ) × N . x + ( a . y - D q 1 . y ) × N . y + ( a . z - D q 1 . z ) × N . z ) ( N . x × D q 2 . x + N . y × D q 2 . y + N . z × D q 2 . z )
步骤3.3.4:将步骤3.3.3中求出的t值带入到步骤3.3.1中的直线参数方程中,求得点向量移动前和移动后的位置所在直线与三角面所在平面的交点坐标x、y、z;
步骤3.3.5:判断所求交点是否落在三角面上,如果落在三角面上则两个虚拟物体发生碰撞,否则两个虚拟物体不发生碰撞。
8.根据权利要求2所述的基于包围盒与空间划分的虚拟物体碰撞检测方法,其特征在于,所述步骤1.1.1中构建两个虚拟物体的AABB包围盒的方法如下:
通过遍历虚拟物体中的每一个顶点并找出顶点X坐标的最小值Xmin、X坐标的最大值Xmax、Y坐标的最小值Ymin、Y坐标的最大值Ymax、Z坐标的最小值Zmin、Z坐标的最大值Zmax,用这六个值构成最小六面体的八个顶点,构建出给定虚拟物体的AABB包围盒。
CN201510853813.XA 2015-11-30 2015-11-30 一种基于包围盒与空间划分的虚拟物体碰撞检测方法 Active CN105469406B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510853813.XA CN105469406B (zh) 2015-11-30 2015-11-30 一种基于包围盒与空间划分的虚拟物体碰撞检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510853813.XA CN105469406B (zh) 2015-11-30 2015-11-30 一种基于包围盒与空间划分的虚拟物体碰撞检测方法

Publications (2)

Publication Number Publication Date
CN105469406A true CN105469406A (zh) 2016-04-06
CN105469406B CN105469406B (zh) 2018-05-04

Family

ID=55607065

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510853813.XA Active CN105469406B (zh) 2015-11-30 2015-11-30 一种基于包围盒与空间划分的虚拟物体碰撞检测方法

Country Status (1)

Country Link
CN (1) CN105469406B (zh)

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106197928A (zh) * 2016-06-30 2016-12-07 哈尔滨理工大学 一种基于虚拟球的包围盒碰撞检测方法
CN106582024A (zh) * 2016-10-14 2017-04-26 网易(杭州)网络有限公司 对象发生撞击的处理方法及装置
CN106918434A (zh) * 2017-05-02 2017-07-04 中国空气动力研究与发展中心超高速空气动力研究所 一种在线避障的六自由度捕获轨迹试验方法
CN106951631A (zh) * 2017-03-18 2017-07-14 李远阳 一种圆形与带旋转角度的矩形包围盒碰撞检测方法
CN107121256A (zh) * 2017-05-02 2017-09-01 中国空气动力研究与发展中心超高速空气动力研究所 一种连续在轨运动的六自由度捕获轨迹试验方法
WO2018019160A1 (zh) * 2016-07-28 2018-02-01 腾讯科技(深圳)有限公司 碰撞控制方法、装置及存储介质
CN108898598A (zh) * 2018-06-29 2018-11-27 山东鲁能智能技术有限公司 输电导线监测方法及装置
CN109242827A (zh) * 2018-08-13 2019-01-18 北京道亨时代科技有限公司 一种电力电缆线路与地下管沟的碰撞检测的方法
CN109933319A (zh) * 2019-01-24 2019-06-25 福建天晴数码有限公司 一种基于Unity的物体避免碰撞的方法及终端
CN110047143A (zh) * 2019-03-04 2019-07-23 南昌大学 一种基于空间细分与动态包围盒的连续碰撞检测方法
CN110136271A (zh) * 2018-02-08 2019-08-16 真玫智能科技(深圳)有限公司 一种布人碰撞的方法及装置
CN110262729A (zh) * 2019-05-20 2019-09-20 联想(上海)信息技术有限公司 一种对象处理方法和设备
CN110716683A (zh) * 2019-09-29 2020-01-21 北京金山安全软件有限公司 碰撞物体的生成方法、装置及设备
CN110807831A (zh) * 2019-09-18 2020-02-18 重庆大学 一种基于最小单元碰撞检测的传感器覆盖范围计算方法
CN110955986A (zh) * 2019-12-27 2020-04-03 广州机械科学研究院有限公司 一种三角形物体接触检测方法、系统、装置和存储介质
CN111026129A (zh) * 2019-12-27 2020-04-17 芜湖哈特机器人产业技术研究院有限公司 一种多激光导引agv的安全距离检测方法
CN111062980A (zh) * 2019-11-22 2020-04-24 西安理工大学 一种软体碰撞检测方法
CN111243020A (zh) * 2020-01-02 2020-06-05 东莞市一加创意数字科技有限公司 一种立体投影空间的音源位置的动态定位方法
CN111346379A (zh) * 2020-03-12 2020-06-30 竞技世界(北京)网络技术有限公司 一种实现碰撞处理的方法及装置
CN111652908A (zh) * 2020-04-17 2020-09-11 国网山西省电力公司晋中供电公司 一种虚拟现实场景的操作碰撞检测方法
WO2020253582A1 (zh) * 2019-06-17 2020-12-24 腾讯科技(深圳)有限公司 多层包围盒确定方法、碰撞检测及运动控制方法与设备
CN112330804A (zh) * 2020-11-12 2021-02-05 中国人民解放军火箭军工程大学 一种局部可变形三维模型接触检测方法
CN112417746A (zh) * 2020-11-18 2021-02-26 中北大学 一种基于神经网络预测碰撞检测的方法
CN112509136A (zh) * 2020-11-30 2021-03-16 江苏理工学院 基于球坐标图元映射的模型压缩与碰撞检测方法
CN112619152A (zh) * 2021-01-05 2021-04-09 网易(杭州)网络有限公司 游戏包围盒的处理方法、装置及电子设备
CN112749502A (zh) * 2021-01-27 2021-05-04 天津博迈科海洋工程有限公司 油气平台模块分区域虚拟化装配轻量化方法
CN112837370A (zh) * 2021-02-26 2021-05-25 梅卡曼德(北京)机器人科技有限公司 基于3d包围盒的物体堆叠判断方法、装置及计算设备
CN113034515A (zh) * 2021-03-22 2021-06-25 易视腾科技股份有限公司 基于包围盒树的多边形裁剪方法、电子设备及存储介质
CN113077548A (zh) * 2021-04-26 2021-07-06 北京百度网讯科技有限公司 针对物体的碰撞检测方法、装置、设备和存储介质
CN113781846A (zh) * 2021-09-28 2021-12-10 中国人民解放军空军工程大学 一种水平维度空域冲突检测方法
CN114581512A (zh) * 2022-03-04 2022-06-03 西安交通大学 一种基于图像空间碰撞的干涉检测方法及系统
CN114714627A (zh) * 2022-04-13 2022-07-08 南京铖联激光科技有限公司 针对3d打印控制软件碰撞检测系统及其检测方法
CN115272617A (zh) * 2022-08-29 2022-11-01 北京京航计算通讯研究所 一种物件声学的虚拟仿真展示方法和系统
CN115908542A (zh) * 2022-10-31 2023-04-04 中交第四航务工程勘察设计院有限公司 基于bim的多面体间距离快速计算方法
CN116612825A (zh) * 2023-07-19 2023-08-18 四川省产品质量监督检验检测院 分子静电势等值面点云的碰撞点检测和碰撞体积计算方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109710077B (zh) * 2018-12-30 2022-05-06 郑州畅想高科股份有限公司 基于vr的虚拟物体碰撞判断方法、装置及机车实训系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102446122A (zh) * 2011-12-21 2012-05-09 上海电机学院 一种基于包围盒树的碰撞检测方法
KR20140108087A (ko) * 2013-02-28 2014-09-05 삼성전자주식회사 재구성 가능한 프로세서를 이용하여 가상의 장면에서 오브젝트의 충돌 검출을 위한 방법 및 장치
CN104867177A (zh) * 2014-12-23 2015-08-26 上海电机学院 一种基于包围盒树法的并行碰撞检测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102446122A (zh) * 2011-12-21 2012-05-09 上海电机学院 一种基于包围盒树的碰撞检测方法
KR20140108087A (ko) * 2013-02-28 2014-09-05 삼성전자주식회사 재구성 가능한 프로세서를 이용하여 가상의 장면에서 오브젝트의 충돌 검출을 위한 방법 및 장치
CN104867177A (zh) * 2014-12-23 2015-08-26 上海电机学院 一种基于包围盒树法的并行碰撞检测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘检华 等: "基于虚拟装配的碰撞检测算法研究与实现", 《系统仿真学报》 *
王晓荣 等: "基于AABB包围盒的碰撞检测算法的研究", 《计算机工程与科学》 *

Cited By (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106197928A (zh) * 2016-06-30 2016-12-07 哈尔滨理工大学 一种基于虚拟球的包围盒碰撞检测方法
US10751626B2 (en) 2016-07-28 2020-08-25 Tencent Technology (Shenzhen) Company Limited Collision control method and apparatus, and storage medium
WO2018019160A1 (zh) * 2016-07-28 2018-02-01 腾讯科技(深圳)有限公司 碰撞控制方法、装置及存储介质
CN106582024A (zh) * 2016-10-14 2017-04-26 网易(杭州)网络有限公司 对象发生撞击的处理方法及装置
CN106582024B (zh) * 2016-10-14 2020-05-29 网易(杭州)网络有限公司 对象发生撞击的处理方法及装置
CN106951631A (zh) * 2017-03-18 2017-07-14 李远阳 一种圆形与带旋转角度的矩形包围盒碰撞检测方法
CN107121256B (zh) * 2017-05-02 2018-10-09 中国空气动力研究与发展中心超高速空气动力研究所 一种连续在轨运动的六自由度捕获轨迹试验方法
CN106918434A (zh) * 2017-05-02 2017-07-04 中国空气动力研究与发展中心超高速空气动力研究所 一种在线避障的六自由度捕获轨迹试验方法
CN107121256A (zh) * 2017-05-02 2017-09-01 中国空气动力研究与发展中心超高速空气动力研究所 一种连续在轨运动的六自由度捕获轨迹试验方法
CN110136271A (zh) * 2018-02-08 2019-08-16 真玫智能科技(深圳)有限公司 一种布人碰撞的方法及装置
CN108898598A (zh) * 2018-06-29 2018-11-27 山东鲁能智能技术有限公司 输电导线监测方法及装置
CN109242827B (zh) * 2018-08-13 2022-05-06 北京道亨软件股份有限公司 一种电力电缆线路与地下管沟的碰撞检测的方法
CN109242827A (zh) * 2018-08-13 2019-01-18 北京道亨时代科技有限公司 一种电力电缆线路与地下管沟的碰撞检测的方法
CN109933319B (zh) * 2019-01-24 2022-07-05 福建天晴数码有限公司 一种基于Unity的物体避免碰撞的方法及终端
CN109933319A (zh) * 2019-01-24 2019-06-25 福建天晴数码有限公司 一种基于Unity的物体避免碰撞的方法及终端
CN110047143A (zh) * 2019-03-04 2019-07-23 南昌大学 一种基于空间细分与动态包围盒的连续碰撞检测方法
CN110262729B (zh) * 2019-05-20 2021-11-16 联想(上海)信息技术有限公司 一种对象处理方法和设备
CN110262729A (zh) * 2019-05-20 2019-09-20 联想(上海)信息技术有限公司 一种对象处理方法和设备
US11922574B2 (en) 2019-06-17 2024-03-05 Tencent Technology (Shenzhen) Company Limited Method and device for determining plurality of layers of bounding boxes, collision detection method and device, and motion control method and device
WO2020253582A1 (zh) * 2019-06-17 2020-12-24 腾讯科技(深圳)有限公司 多层包围盒确定方法、碰撞检测及运动控制方法与设备
CN110807831A (zh) * 2019-09-18 2020-02-18 重庆大学 一种基于最小单元碰撞检测的传感器覆盖范围计算方法
CN110716683A (zh) * 2019-09-29 2020-01-21 北京金山安全软件有限公司 碰撞物体的生成方法、装置及设备
CN110716683B (zh) * 2019-09-29 2021-03-26 北京金山安全软件有限公司 碰撞物体的生成方法、装置及设备
CN111062980A (zh) * 2019-11-22 2020-04-24 西安理工大学 一种软体碰撞检测方法
CN111026129A (zh) * 2019-12-27 2020-04-17 芜湖哈特机器人产业技术研究院有限公司 一种多激光导引agv的安全距离检测方法
CN111026129B (zh) * 2019-12-27 2022-05-27 芜湖哈特机器人产业技术研究院有限公司 一种多激光导引agv的安全距离检测方法
CN110955986A (zh) * 2019-12-27 2020-04-03 广州机械科学研究院有限公司 一种三角形物体接触检测方法、系统、装置和存储介质
CN111243020A (zh) * 2020-01-02 2020-06-05 东莞市一加创意数字科技有限公司 一种立体投影空间的音源位置的动态定位方法
CN111346379A (zh) * 2020-03-12 2020-06-30 竞技世界(北京)网络技术有限公司 一种实现碰撞处理的方法及装置
CN111346379B (zh) * 2020-03-12 2023-05-12 竞技世界(北京)网络技术有限公司 一种实现碰撞处理的方法及装置
CN111652908A (zh) * 2020-04-17 2020-09-11 国网山西省电力公司晋中供电公司 一种虚拟现实场景的操作碰撞检测方法
CN112330804A (zh) * 2020-11-12 2021-02-05 中国人民解放军火箭军工程大学 一种局部可变形三维模型接触检测方法
CN112330804B (zh) * 2020-11-12 2021-10-19 中国人民解放军火箭军工程大学 一种局部可变形三维模型接触检测方法
CN112417746A (zh) * 2020-11-18 2021-02-26 中北大学 一种基于神经网络预测碰撞检测的方法
CN112417746B (zh) * 2020-11-18 2022-11-25 中北大学 一种基于神经网络预测碰撞检测的方法
CN112509136A (zh) * 2020-11-30 2021-03-16 江苏理工学院 基于球坐标图元映射的模型压缩与碰撞检测方法
CN112509136B (zh) * 2020-11-30 2023-06-23 江苏理工学院 基于球坐标图元映射的模型压缩与碰撞检测方法
CN112619152A (zh) * 2021-01-05 2021-04-09 网易(杭州)网络有限公司 游戏包围盒的处理方法、装置及电子设备
CN112749502A (zh) * 2021-01-27 2021-05-04 天津博迈科海洋工程有限公司 油气平台模块分区域虚拟化装配轻量化方法
CN112837370A (zh) * 2021-02-26 2021-05-25 梅卡曼德(北京)机器人科技有限公司 基于3d包围盒的物体堆叠判断方法、装置及计算设备
CN113034515A (zh) * 2021-03-22 2021-06-25 易视腾科技股份有限公司 基于包围盒树的多边形裁剪方法、电子设备及存储介质
WO2022227489A1 (zh) * 2021-04-26 2022-11-03 北京百度网讯科技有限公司 针对物体的碰撞检测方法、装置、设备和存储介质
CN113077548B (zh) * 2021-04-26 2024-01-05 北京百度网讯科技有限公司 针对物体的碰撞检测方法、装置、设备和存储介质
CN113077548A (zh) * 2021-04-26 2021-07-06 北京百度网讯科技有限公司 针对物体的碰撞检测方法、装置、设备和存储介质
CN113781846A (zh) * 2021-09-28 2021-12-10 中国人民解放军空军工程大学 一种水平维度空域冲突检测方法
CN114581512A (zh) * 2022-03-04 2022-06-03 西安交通大学 一种基于图像空间碰撞的干涉检测方法及系统
CN114581512B (zh) * 2022-03-04 2024-02-23 西安交通大学 一种基于图像空间碰撞的干涉检测方法及系统
CN114714627A (zh) * 2022-04-13 2022-07-08 南京铖联激光科技有限公司 针对3d打印控制软件碰撞检测系统及其检测方法
CN114714627B (zh) * 2022-04-13 2023-07-18 南京铖联激光科技有限公司 针对3d打印控制软件碰撞检测系统及其检测方法
CN115272617A (zh) * 2022-08-29 2022-11-01 北京京航计算通讯研究所 一种物件声学的虚拟仿真展示方法和系统
CN115908542A (zh) * 2022-10-31 2023-04-04 中交第四航务工程勘察设计院有限公司 基于bim的多面体间距离快速计算方法
CN115908542B (zh) * 2022-10-31 2023-09-19 中交第四航务工程勘察设计院有限公司 基于bim的多面体间距离快速计算方法
CN116612825B (zh) * 2023-07-19 2023-10-13 四川省产品质量监督检验检测院 分子静电势等值面点云的碰撞点检测和碰撞体积计算方法
CN116612825A (zh) * 2023-07-19 2023-08-18 四川省产品质量监督检验检测院 分子静电势等值面点云的碰撞点检测和碰撞体积计算方法

Also Published As

Publication number Publication date
CN105469406B (zh) 2018-05-04

Similar Documents

Publication Publication Date Title
CN105469406A (zh) 一种基于包围盒与空间划分的虚拟物体碰撞检测方法
Post et al. Feature extraction and visualisation of flow fields.
Mezger et al. Hierarchical techniques in collision detection for cloth animation
CN104268539B (zh) 一种高性能的人脸识别方法及系统
CN105590339B (zh) 三维模型的碰撞检测方法及系统
CN104408774B (zh) 一种基于gpu加速的实体面片模型间碰撞检测方法
Je et al. PolyDepth: Real-time penetration depth computation using iterative contact-space projection
CN103383731A (zh) 一种基于指尖定位的投影交互方法、系统及计算设备
CN102136155A (zh) 基于三维激光扫描数据的物体立面矢量化方法和系统
CN102609992A (zh) 基于三角网格变形体的自碰撞检测方法
CN103699715A (zh) 一种基于光滑粒子流体动力学和非线性有限元的流固耦合方法
CN102622225A (zh) 一种支持用户自定义手势的多点触控应用程序开发方法
JP5424883B2 (ja) 数値的にシミュレートされた2つのオブジェクト間の衝突を検出する方法および装置
CN104240290A (zh) 一种基于包围球模型的三维电缆相交检测方法
CN102254338A (zh) 基于最大化可视信息的三维场景最佳视角自动获取方法
CN103295266B (zh) 一种基于距离加权最小折叠代价的三维模型边折叠简化的方法
US20040075656A1 (en) Method and apparatus for multi-dimensional shape representation via shock flows
Strodthoff et al. Horizontal decomposition of triangulated solids for the simulation of dip-coating processes
CN103593835A (zh) 一种三维图像重建体的精确测量方法
Kim et al. Efficient collision detection among moving spheres with unknown trajectories
CN107610231A (zh) 一种动态碰撞检测方法
CN104992161B (zh) 一种基于部件识别的汉字部件分割与结构判定方法
Pratikakis et al. Learning the compositional structure of man-made objects for 3d shape retrieval
Madera et al. Detecting self-collisions using a hybrid bounding volume algorithm
Meng et al. Enhanced strategy for adaptive Cartesian grid generation with arbitrarily complex 3D geometry

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant