CN110047143A - 一种基于空间细分与动态包围盒的连续碰撞检测方法 - Google Patents
一种基于空间细分与动态包围盒的连续碰撞检测方法 Download PDFInfo
- Publication number
- CN110047143A CN110047143A CN201910158591.8A CN201910158591A CN110047143A CN 110047143 A CN110047143 A CN 110047143A CN 201910158591 A CN201910158591 A CN 201910158591A CN 110047143 A CN110047143 A CN 110047143A
- Authority
- CN
- China
- Prior art keywords
- max
- hash
- detection
- dynamic
- intersection
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
- G06T17/205—Re-meshing
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/50—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for simulation or modelling of medical disorders
Landscapes
- Engineering & Computer Science (AREA)
- Medical Informatics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Public Health (AREA)
- Epidemiology (AREA)
- Pathology (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Biomedical Technology (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
一种基于空间细分与动态包围盒的连续碰撞检测方法,包括:构造被用于碰撞检测的虚拟软组织模型与虚拟器械模型;计算检测对象的移动路径所占据的空间;为同一空间内的对象的移动路径构建动态包围盒,并对这些包围盒做相交测试;二分法确定可能发生碰撞的位置,回溯技术将待测对象从实际位置回退至初次碰撞发生位置;为可能发生接触的对象集构建层次包围盒并执行包围盒相交检测;精确检测步骤;子节点所包含的特征是否碰撞。本发明可以解决离散碰撞检测方法在虚拟手术应用中“穿透”和“漏检”的问题,并在保证精确性的前提下能极大地提升计算效率。
Description
技术领域
本发明属于碰撞检测技术领域,涉及虚拟手术实验中软组织与手术器械间的碰撞检测问题。
背景技术
碰撞检测作为计算机图形和物理仿真领域中一项不可缺少的组成部分,是虚拟仿真,机器人路径规划等课题方向的研究过程中必须要解决的问题。近几年来,随着计算机技术的不断发展,碰撞检测被广泛地应用于计算机游戏,虚拟现实等领域中,并已成为研究者关注的热点问题。在虚拟手术中,虚拟手术器械与人体组织的碰撞是变形计算的基础,也是切割手术的前提。在变形计算和模型切割过程中,操作者对碰撞检测的要求较高,碰撞检测的结果不仅反映了碰撞的基本情况,而且为进一步的变形计算提供了详细的碰撞信息。
近年来,许多学者都对碰撞检测问题展开研究,并提出了一些列解决碰撞检测的算法。这些方法可以分为三类:静态碰撞检测,离散碰撞检测,连续碰撞检测。静态碰撞检测算法只能用于检测物体位置不随着时间变化而变化的情况,这显然不适用于虚拟手术应用中。离散碰撞检测算法是指在每个离散的时间点上,动态地判断物体间是否发生碰撞。这种算法计算效率较高,一般能满足多数应用场景的实时性要求。然而,离散碰撞检测因其检测机制而存在两个不可避免的问题:(1)当两次检测间的时间间隔过大,物体间的检测存在穿透问题,即物体在检测时间间隔内互相穿透而算法无法检测到碰撞发生的问题。(2)若物体的运动速度较快或厚度较薄,可能导致漏检的问题,即物体碰撞发生在时间间隔内而导致检测不到的问题。连续碰撞检测算法是在一个时间区间内,检测所有物体是否会发生碰撞。这类算法能避免离散碰撞检测的问题。然而,连续碰撞检测算法一个明显不足在于计算量较大,因而它的检测速度限制了该算法在实时性要求较高的场景中的应用。
与三维视频游戏或工业应用场景中的刚体碰撞检测不同,虚拟手术中涉及的两类物体分别属于刚体和柔体。为了获得更好的真实感,虚拟操作系统对碰撞检测的准确性和实时性要求很高。研究者们提出了许多快速精确的碰撞检测算法以满足系统需求。
Razavi.M等人(AGPU-implemented physics-based haptic simulator of toothdrilling,INTERNATIONAL JOURNAL OF MEDICAL ROBOTICS AND COMPUTER ASSISTEDSURGERY,11(4),pp:476-485,2015)提出了一种基于哈希算法的均匀网格方案用于牙齿与牙钻的碰撞检测。Yu.LT等人(Geometric Modeling and Collision Detection Based onHybrid Bounding Box in Virtual Gallbladder Surgery,2013ICME INTERNATIONALCONFERENCE ON COMPLEX MEDICAL ENGINEERING(CME),pp:25-30,2013)提出了一种基于球体-轴对称混合包围盒的碰撞检测算法用于虚拟胆囊手术。他们的方案虽然能满足虚拟手术的实时性需求,然而这些碰撞检测算法都是离散检测,因此系统依然存在着由于离散碰撞检测机制而导致的缺陷。
目前,已经有研究者将连续碰撞检测算法用于虚拟手术中。Xu.L等人(Real-timeinextensible surgical thread simulation,INTERNATIONAL JOURNAL OF COMPUTERASSISTED RADIOLOGY AND SURGERY,13(7),pp:1019-1035,2018)提出了一种基于空间哈希法的连续碰撞检测算法应用于手术缝合线与手术器械的检测。在他们的研究中,整条缝合线被离散成紧密排列的球体,并利用球体的预测位置来计算运动轨迹。然而,他们的方案没有证明其在软组织与手术器械的检测中的适用性。Si.WX等人(Towards InteractiveProgressive Cutting of Deformable Bodies via Phyxel-Associated Surface MeshApproach for Virtual Surgery,IEEE ACCESS,6,pp:32286-32299,2018)提出了一种基于层次包围盒的连续碰撞检测用于虚拟切割场景中。然而,他们的方案并没有解决由于网格拓扑结构变化后包围盒更新所产生的不可避免的时间成本。Li.CQ等人(A Surface Mass-Spring Model With New Flexion Springs and Collision Detection AlgorithmsBased on Volume Structure for Real-Time Soft-Tissue Deformation Interaction,IEEE ACCESS,6,pp:75572-75597,2018)完善了传统连续碰撞检测耗时较大的缺点,提出了基于连续插值技术和体积结构检测混合算法。然而,在他们的实验中手术器械被简化为球体,因此他们的方案并没有在复杂场景下得到验证。
综上所述,由于离散碰撞检测算法仍存在着不足和虚拟手术中对碰撞检测的极高的精确性要求,当前研究的需求是为软组织与手术器械的交互设计一种快速精确的连续碰撞检测算法。这种算法不仅能在高速环境下检测目标接触,而且适用于各种复杂的手术场景中。
发明内容
基于上述背景,本发明提出了一种虚拟手术中手术器械与人体组织交互式的连续碰撞检测方法。本发明适用于各种形状和尺寸的手术器械,以及任意长度的时间间隔。本发明是通过以下技术方案实现的。
本发明所述的一种基于空间细分与动态包围盒的连续碰撞检测方法,主要包括两个过程,基于空间剖分和动态层次包围盒的混合剔除阶段和精确相交检测阶段。
本发明所述的一种基于空间细分与动态包围盒的连续碰撞检测方法,其特征是按以下步骤:
步骤1:构造被用于碰撞检测的虚拟软组织模型与虚拟器械模型。
步骤2:计算检测对象的移动路径所占据的空间,若待检测对象的移动路径共用同一个空间,则执行下一步,否则退出检测。
步骤3:为同一空间内的对象的移动路径构建动态包围盒,并对这些包围盒做相交测试。若相交,则执行下一步,否则退出检测。
步骤4:二分法确定可能发生碰撞的位置,回溯技术将待测对象从实际位置回退至初次碰撞发生位置。
步骤5:为可能发生接触的对象集构建层次包围盒并执行包围盒相交检测。若检测到子节点包围盒相交,则执行下一步,否则退出检测。
步骤6:精确检测步骤5中的子节点所包含的特征是否碰撞。若检测到发生碰撞,则重新计算待测对象的位置;否则待测对象位置不变。
进一步地,在步骤1的建模过程,利用三维建模软件构建待测的虚拟软组织模型与虚拟器械模型。模型均由具有一定厚度的三角面网格构成。在表面三角形网格上进行碰撞检测。
在步骤2-5的交互检测过程,采用连续空间细分算法和动态包围盒算法对可能接触的三角基元进行筛选。
进一步地,在步骤2中,首先为了保证运动的连续性,将离散的时间间隔内的物体运动轨迹视为匀速直线运动,并计算运动轨迹所占占据的子空间。利用哈希函数对扫掠体的空间网格进行压缩,这样,三维的体积空间被映射到一维的哈希值索引。该方法可以依据物体的移动轨迹快速剔除不相交部分并确定物体可能相交的部分。如附图1所示,三角面片的扫掠体被细分为多个立方体空间。这样,若多个三角面片的扫掠体共用同一个子空间,这些三角面基元被标记为可能相交的并被用于进一步相交检测。具体的说步骤为:
2.1预处理各个子空间的尺寸为D,并将空间各个顶点的位置离散化为(x,y,z)。将顶点的坐标除以给定的单元格大小,并四舍五入到下一个整数坐标(i,j,k)。其中,i=[x/D],j=[y/D],k=[z/D]。接着,三维的顶点整数坐标(i,j,k)被映射到一维的哈希值H索引。哈希值通过哈希函数获取。即:
hash(i,j,k)=(i·p1xor j·p2xork·p3)modN
这里,p1,p2,p3代表三个足够大的质数以确保每个索引的哈希值唯一。N是哈希列表的长度。
2.2计算扫掠体的哈希值。为了将空间哈希法用于连续碰撞检测,还需计算时间间隔内物体三角面的扫掠体的哈希值范围。首先,计算三角面扫掠体的最大哈希值和最小哈希值。将顶点的最大坐标和最小坐标设为(xmax,ymax,zmax),(xmin,ymin,zmin),并通过最大坐标点和最小坐标点得到扫掠体的子空间最大索引值和最小索引值(imax,jmax,kmax),(imin,jmin,kmin)。根据索引值进一步计算最大哈希值和最小哈希值hash(imax,jmax,kmax),hash(imax,jmax,kmax)。这样,可以计算出扫掠体的哈希表索引范围:[Hashmin,Hashmax]。若不同三角面的扫掠体的索引范围存在交叠,那么这些三角面都被标记为可能发生接触的,并被用于后续检测。
进一步地,步骤3为可能相交的物体的运动扫掠体构造包围盒并对包围盒进行相交检测。具体步骤如下:
3.1当方法进行到这一步时,已经获知物体位移的轨迹和可能发生接触的三角面。接下来要做的是为这些特征集构建包围盒。考虑到包围盒的紧密性和相交检测的复杂性,选择有向包围盒。由于已有研究者将静态有向包围盒扩展到动态有向包围盒检测,这里对构建包围盒的技术不再赘述。值得一提的是,在前人的研究方案上使用二分回溯法改进了连续动态包围盒的细分测试。
3.2扫掠体包围盒的连续相交检测。由于连续检测的需求,必须确定扫掠体的有向包围盒是否重叠,再利用二分回溯法确定碰撞发生的精确位置。如附图2所示。对包围盒进行分离轴测试。分别定义两个包围盒的轴中心,中心距各轴距离分别为a1,a2,a3,Ta,e1,e2,e3和b1,b2,b3,Tb,f1,f2,f3。当两个包围盒到各轴的投影均不重叠时,可以判断包围盒不相交。即满足:
轴k可由包围盒的各轴推导而得:
k∈{ai,bj,ai×bj,1≤i≤3,1≤j≤3}
进一步地,在步骤4中,若包围盒在时间间隔内未检测到分离轴则进行细分检测。细分测试就是进一步细化时间间隔,直到时间间隔的长度满足要求的精度为止,精度的设定与系统的精确性,物体表面厚度和物体移动速度有关。对一段给定的时间步长[0,t]和轨迹γA,γB,确定了最短时间子区间[k·(t/2)^n,(k+1)·(t/2)^n]。其中n表示细分程度,k表示细化时间间隔的索引。碰撞发生的时间可近似为k·(t/2)^n。
进一步地,步骤6中,在经过上述步骤后将筛选出可能发生接触的三角面及接触位置,接触时间。最后,还需要详细检测这些基本图元的接触情况。这实际上是空间三角面的相交问题。如附图3所示,ΔA1A2A3,ΔB1B2B3是两块待测的三角面。分别是这两个三角面的法向量。具体步骤如下:
6.1确定两三角面所在平面是否相交。定义ΔB1B2B3各点到ΔA1A2A3所在平面的距离矢量为其中:
如果三个距离矢量的符号相同,则不会发生接触。这是因为符号相同时表示ΔB1B2B3各点在ΔA1A2A3所在平面同侧,则必不可能接触。类似地,可以判断ΔA1A2A3各点在ΔB1B2B3所在平面的相交情况。
6.2计算两条相交线是否重叠。定义为ΔB1B2B3与ΔA1A2A3所在平面的相交线。点C坐标为:
其中,
上下同乘以
同理,也可以求出交点D,E,F的坐标。又由于必然共线,要判断相交,只需判断C是否在E,F两侧。即当判定与相交时,即确定ΔB1B2B3与ΔA1A2A3接触。
本发明可以解决离散碰撞检测方法在虚拟手术应用中“穿透”和“漏检”的问题。此外,实验数据表明,与现有的方法相比,本发明在保证精确性的前提下能极大地提升计算效率。
附图说明
图1为运动三角面的轨迹扫掠体所占有子空间。
图2为包围盒的分离轴检测。
图3为三角面片的精确相交检测。
图4为使用手术刀触碰肝脏组织的实验仿真图。
图5为本发明的流程图。
具体实施方式
本发明将通过以下实例作进一步说明。
本文的虚拟手术系统由虚拟手术刀和虚拟肝脏组织构成。其中,手术刀由2960块三角面片构成,肝脏组织由1774块三角面构成。在方法中所涉及的参数均已经过实验验证,具体为:肝脏模型的长度,宽度,高度分别为36cm,25cm,25cm。手术刀模型的长宽高分别为:21cm,1.5cm,1.5cm。子空间的统一尺寸D为5cm,细分精度n为3。为了使说明具有代表性,分别以手术刀模型和肝脏模型中的指定三角面ΔA1B1C1和ΔA2B2C2为例执行本文方案的步骤。其中,ΔA1B1C1中A1B1C1的坐标分别为(0.7,1.3,12.0),(0.5,1.2,12.1),(0.8,1.5,12.3)。ΔA2B2C2中A2B2C2的坐标分别为(-1.7,1.4,10.2),(-1.0,1.8,10.9),(-0.6,1.2,10.5)。ΔA1B1C1与ΔA2B2C2在时间区间(0,1)内的位移为和在实际应用中,模型内所有三角面的检测过程均与本例中相同。
首先,计算ΔA1B1C1与ΔA2B2C2的扫掠体所占据的子空间:
(1)ΔA1B1C1的顶点A1B1C1在位移后的位置分别为(0.7,1.3,10.0),(0.5,1.2,10.1),(0.8,1.5,10.3),位移后占据的子空间的索引为(0,0,2)。
(2)ΔA2B2C2的顶点A2B2C2在位移后的位置分别为(-0.7,1.4,10.2),(0.0,1.8,10.9),(0.4,1.2,10.5),位移后占据的子空间的索引为(0,0,2)。
计算结果表明两块三角面片在位移后占据同一个子空间,即它们的轨迹在该子空间内可能发生相交,应被标记并用于进一步相交检测。
第二步,为ΔA1B1C1与ΔA2B2C2的扫掠构建包围盒并执行连续相交检测:
(1)为ΔA1B1C1与ΔA2B2C2的扫掠构建包围盒。由于ΔA1B1C1与ΔA2B2C2均沿坐标轴移动,它们包围盒的三条轴向均为ΔA1B1C1与ΔA2B2C2的包围盒的中心分别为(0.65,1.35,11.15),(-0.65,1.5,10.55)。ΔA1B1C1包围盒中心到各轴的距离为0.15,0.15,1.15。ΔA2B2C2包围盒中心到各轴的距离为0.75,0.3,0.35。
(2)对ΔA1B1C1与ΔA2B2C2的包围盒进行连续相交检测。通过计算,ΔA1B1C1的中心与ΔA2B2C2的中心的间距在轴上的长度为0.15。ΔA1B1C1的包围盒在轴上的长度与ΔA2B2C2的包围盒在轴上的长度之和为0.45,大于ΔA1B1C1的中心与ΔA2B2C2的中心的间距在轴上的长度。这表明在轴上ΔA1B1C1的包围盒与ΔA2B2C2的包围盒发生交叠,需要执行进一步检测。
第三步,二分法估计碰撞时间:
先检测时间区间(0,0.5)内的接触情况,若发生接触则进一步细分检测,否则将检测时间区间(0.5,1.0)。将ΔA1B1C1的包围盒与ΔA2B2C2的包围盒沿各自位移方向一分为二,此时ΔA1B1C1的包围盒中心为(0.65,1.35,11.85),到各轴的距离为0.15,0.15,0.68。ΔA2B2C2的包围盒中心为(-1.18,1.5,10.55),到各轴距离为0.52,0.3,0.35。两个包围盒在轴上发生重叠,表明在时间区间(0,0.5)内发生了接触。将时间区间进一步二分为(0,0.25)和(0.25,0.5)。检测持续进行直到达到预设的细分精度。最终估计的接触时间为(0,0.125)之间,此时ΔA1B1C1各点坐标为(0.7,1.3,11.75),(0.5,1.2,11.85),(0.8,1.5,12.05),ΔA2B2C2各点坐标为(-1.575,1.4,10.2),(-0.875,1.8,10.9),(-0.475,1.2,10.5)。
第四步,精确检测ΔA1B1C1与ΔA2B2C2相交情况:
(1)计算ΔA1B1C1与ΔA2B2C2的各自法向量为和
(2)计算ΔA2B2C2各点到ΔA1B1C1所在平面的距离矢量分别为-0.153,-0.069,-0.10。符号相同表明ΔA2B2C2各点在ΔA1B1C1所在平面的同一侧,即ΔA1B1C1与ΔA2B2C2必不发生相交。
表1为本发明与现有的HCDVS算法在不同场景中进行碰撞检测的对比试验结果。
表1
方法 | 模型 | 面片数 | 耗时(毫秒) |
本方法 | 心脏 | 500 | 3 |
HCDVS | 心脏 | 500 | 168 |
本方法 | 肝脏 | 1774 | 4.5 |
HCDVS | 肝脏 | 1774 | 595 |
本方法 | 大脑 | 2708 | 15 |
HCDVS | 大脑 | 2708 | 880 |
Claims (8)
1.一种基于空间细分与动态包围盒的连续碰撞检测方法,其特征是按以下步骤:
步骤1:构造被用于碰撞检测的虚拟软组织模型与虚拟器械模型;
步骤2:计算检测对象的移动路径所占据的空间,若待检测对象的移动路径共用同一个空间,则执行下一步,否则退出检测;
步骤3:为同一空间内的对象的移动路径构建动态包围盒,并对这些包围盒做相交测试;若相交,则执行下一步,否则退出检测;
步骤4:二分法确定可能发生碰撞的位置,回溯技术将待测对象从实际位置回退至初次碰撞发生位置;
步骤5:为可能发生接触的对象集构建层次包围盒并执行包围盒相交检测;若检测到子节点包围盒相交,则执行下一步,否则退出检测;
步骤6:精确检测步骤5中的子节点所包含的特征是否碰撞;若检测到发生碰撞,则重新计算待测对象的位置;否则待测对象位置不变。
2.根据权利要求1所述的一种基于空间细分与动态包围盒的连续碰撞检测方法,其特征是,所述的步骤1的建模过程,利用三维建模软件构建待测的虚拟软组织模型与虚拟器械模型;模型均由具有一定厚度的三角面网格构成,在表面三角形网格上进行碰撞检测。
3.根据权利要求1所述的一种基于空间细分与动态包围盒的连续碰撞检测方法,其特征是,所述的步骤2中,首先,将离散的时间间隔内的物体运动轨迹视为匀速直线运动,并计算运动轨迹所占占据的子空间;再利用哈希函数对扫掠体的空间网格进行压缩,使三维的体积空间被映射到一维的哈希值索引。
4.根据权利要求1或3所述的一种基于空间细分与动态包围盒的连续碰撞检测方法,其特征是,所述的步骤2的具体过程为:
(1)预处理各个子空间的尺寸为D,并将空间各个顶点的位置离散化为(x,y,z);将顶点的坐标除以给定的单元格大小,并四舍五入到下一个整数坐标(i,j,k);其中,i=[x/D],j=[y/D],k=[z/D];接着,三维的顶点整数坐标(i,j,k)被映射到一维的哈希值H索引,哈希值通过哈希函数获取,即:
hash(i,j,k)=(i·p1xor j·p2xork·p3)modN
其中,p1,p2,p3代表三个足够大的质数以确保每个索引的哈希值唯一,N是哈希列表的长度;
(2)计算扫掠体的哈希值:首先,计算三角面扫掠体的最大哈希值和最小哈希值,将顶点的最大坐标和最小坐标设为(xmax,ymax,zmax),(xmin,ymin,zmin),并通过最大坐标点和最小坐标点得到扫掠体的子空间最大索引值和最小索引值(imax,jmax,kmax),(imin,jmin,kmin);根据索引值进一步计算最大哈希值和最小哈希值hash(imax,jmax,kmax),hash(imax,jmax,kmax);并计算出扫掠体的哈希表索引范围:[Hashmin,Hashmax];若不同三角面的扫掠体的索引范围存在交叠,那么这些三角面都被标记为可能发生接触的,并被用于后续检测。
5.根据权利要求1所述的一种基于空间细分与动态包围盒的连续碰撞检测方法,其特征是,所述的步骤3中为可能相交的物体的运动扫掠体构造包围盒并对包围盒进行相交检测;具体步骤如下:
(1)选择有向包围盒;
(2)扫掠体包围盒的连续相交检测;由于连续检测的需求,必须确定扫掠体的有向包围盒是否重叠,再利用二分回溯法确定碰撞发生的精确位置;对包围盒进行分离轴测试;分别定义两个包围盒的轴中心,中心距各轴距离分别为a1,a2,a3,Ta,e1,e2,e3和b1,b2,b3,Tb,f1,f2,f3;当两个包围盒到各轴的投影均不重叠时,可以判断包围盒不相交;即满足:
轴k可由包围盒的各轴推导而得:
k∈{ai,bj,ai×bj,1≤i≤3,1≤j≤3}
6.根据权利要求1所述的一种基于空间细分与动态包围盒的连续碰撞检测方法,其特征是,所述的步骤4中,若包围盒在时间间隔内未检测到分离轴则进行细分检测;细分测试就是进一步细化时间间隔,直到时间间隔的长度满足要求的精度为止,精度的设定与系统的精确性,物体表面厚度和物体移动速度有关;对一段给定的时间步长[0,t]和轨迹γA,γB,确定了最短时间子区间[k·(t/2)^n,(k+1)·(t/2)^n];其中n表示细分程度,k表示细化时间间隔的索引;碰撞发生的时间可近似为k·(t/2)^n。
7.根据权利要求1所述的一种基于空间细分与动态包围盒的连续碰撞检测方法,其特征是,所述的步骤6中,在经过上述步骤后将筛选出可能发生接触的三角面及接触位置、接触时间;最后,详细检测这些基本图元的接触情况。
8.根据权利要求1或7所述的一种基于空间细分与动态包围盒的连续碰撞检测方法,其特征是,所述的步骤6的步骤如下:
(1)确定两三角面所在平面是否相交;定义ΔB1B2B3各点到ΔA1A2A3所在平面的距离矢量为其中:
如果三个距离矢量的符号相同,则不会发生接触;这是因为符号相同时表示ΔB1B2B3各点在ΔA1A2A3所在平面同侧,则必不可能接触;类似地,可以判断ΔA1A2A3各点在ΔB1B2B3所在平面的相交情况;
(2)计算两条相交线是否重叠;定义为ΔB1B2B3与ΔA1A2A3所在平面的相交线;点C坐标为:
其中,
上下同乘以
同理,也可以求出交点D,E,F的坐标;又由于必然共线,要判断相交,只需判断C是否在E,F两侧;即当判定与相交时,即确定ΔB1B2B3与ΔA1A2A3接触。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910158591.8A CN110047143B (zh) | 2019-03-04 | 2019-03-04 | 一种基于空间细分与动态包围盒的连续碰撞检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910158591.8A CN110047143B (zh) | 2019-03-04 | 2019-03-04 | 一种基于空间细分与动态包围盒的连续碰撞检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110047143A true CN110047143A (zh) | 2019-07-23 |
CN110047143B CN110047143B (zh) | 2023-03-21 |
Family
ID=67274466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910158591.8A Active CN110047143B (zh) | 2019-03-04 | 2019-03-04 | 一种基于空间细分与动态包围盒的连续碰撞检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110047143B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110717970A (zh) * | 2019-09-12 | 2020-01-21 | 江苏理工学院 | 一种基于离散碰撞检测的借助法线修正位置的移动方法 |
CN110717965A (zh) * | 2019-09-10 | 2020-01-21 | 江苏理工学院 | 一种三维空间内基于降维的实时路径生成方法 |
CN111514587A (zh) * | 2020-04-27 | 2020-08-11 | 网易(杭州)网络有限公司 | 信息处理方法、装置、设备及存储介质 |
CN111714890A (zh) * | 2020-04-24 | 2020-09-29 | 上海完美时空软件有限公司 | 阻拦信息的生成方法和装置、存储介质、电子装置 |
CN112157678A (zh) * | 2020-09-24 | 2021-01-01 | 河北工业大学 | 一种基于二分法的平面冗余机械臂碰撞位置检测方法 |
CN112245014A (zh) * | 2020-10-30 | 2021-01-22 | 微创(上海)医疗机器人有限公司 | 一种医疗机器人、检测机械臂碰撞的方法及存储介质 |
CN112381953A (zh) * | 2020-10-28 | 2021-02-19 | 华南理工大学 | 三维空间无人机集群的快速选择方法 |
CN112802203A (zh) * | 2021-01-18 | 2021-05-14 | 华中科技大学鄂州工业技术研究院 | 一种基于特征的空间哈希连续碰撞检测方法 |
CN112836420A (zh) * | 2021-02-01 | 2021-05-25 | 江南大学 | 一种瓶状密闭空间气体抽空可视化方法 |
CN113077643A (zh) * | 2021-03-23 | 2021-07-06 | 上海振华重工(集团)股份有限公司 | 一种交通控制方法、交通控制系统及存储介质 |
CN113340247A (zh) * | 2021-06-15 | 2021-09-03 | 上海理工大学 | 一种用于车身接触式三坐标测量的连续碰撞检测方法 |
CN113392553A (zh) * | 2021-06-15 | 2021-09-14 | 上海理工大学 | 适用于三坐标测量机星型测头转动过程的碰撞检测方法 |
CN113781846A (zh) * | 2021-09-28 | 2021-12-10 | 中国人民解放军空军工程大学 | 一种水平维度空域冲突检测方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593366A (zh) * | 2009-06-24 | 2009-12-02 | 北京航空航天大学 | 一种基于平衡二叉树的大规模虚拟场景碰撞检测方法 |
CN102368280A (zh) * | 2011-10-21 | 2012-03-07 | 北京航空航天大学 | 一种面向虚拟装配的基于aabb-obb混合包围盒的碰撞检测方法 |
US20120256915A1 (en) * | 2010-06-30 | 2012-10-11 | Jenkins Barry L | System and method of procedural visibility for interactive and broadcast streaming of entertainment, advertising, and tactical 3d graphical information using a visibility event codec |
CN104200031A (zh) * | 2014-09-04 | 2014-12-10 | 大连大学 | 一种基于距离优先和时空相关性的碰撞检测方法 |
CN105205867A (zh) * | 2015-09-06 | 2015-12-30 | 大连理工大学 | 一种微创虚拟腹主动脉血管手术中的碰撞检测方法 |
CN105469406A (zh) * | 2015-11-30 | 2016-04-06 | 东北大学 | 一种基于包围盒与空间划分的虚拟物体碰撞检测方法 |
US20180240262A1 (en) * | 2015-08-17 | 2018-08-23 | Side Effects Software Inc. | Physically based simulation methods for modeling and animating two-and three-dimensional deformable objects |
CN108536880A (zh) * | 2017-03-06 | 2018-09-14 | 上海盟云移软网络科技股份有限公司 | 一种虚拟现实系统的随机碰撞检测算法 |
-
2019
- 2019-03-04 CN CN201910158591.8A patent/CN110047143B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593366A (zh) * | 2009-06-24 | 2009-12-02 | 北京航空航天大学 | 一种基于平衡二叉树的大规模虚拟场景碰撞检测方法 |
US20120256915A1 (en) * | 2010-06-30 | 2012-10-11 | Jenkins Barry L | System and method of procedural visibility for interactive and broadcast streaming of entertainment, advertising, and tactical 3d graphical information using a visibility event codec |
CN102368280A (zh) * | 2011-10-21 | 2012-03-07 | 北京航空航天大学 | 一种面向虚拟装配的基于aabb-obb混合包围盒的碰撞检测方法 |
CN104200031A (zh) * | 2014-09-04 | 2014-12-10 | 大连大学 | 一种基于距离优先和时空相关性的碰撞检测方法 |
US20180240262A1 (en) * | 2015-08-17 | 2018-08-23 | Side Effects Software Inc. | Physically based simulation methods for modeling and animating two-and three-dimensional deformable objects |
CN105205867A (zh) * | 2015-09-06 | 2015-12-30 | 大连理工大学 | 一种微创虚拟腹主动脉血管手术中的碰撞检测方法 |
CN105469406A (zh) * | 2015-11-30 | 2016-04-06 | 东北大学 | 一种基于包围盒与空间划分的虚拟物体碰撞检测方法 |
CN108536880A (zh) * | 2017-03-06 | 2018-09-14 | 上海盟云移软网络科技股份有限公司 | 一种虚拟现实系统的随机碰撞检测算法 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110717965A (zh) * | 2019-09-10 | 2020-01-21 | 江苏理工学院 | 一种三维空间内基于降维的实时路径生成方法 |
CN110717970A (zh) * | 2019-09-12 | 2020-01-21 | 江苏理工学院 | 一种基于离散碰撞检测的借助法线修正位置的移动方法 |
CN111714890A (zh) * | 2020-04-24 | 2020-09-29 | 上海完美时空软件有限公司 | 阻拦信息的生成方法和装置、存储介质、电子装置 |
CN111714890B (zh) * | 2020-04-24 | 2023-04-21 | 上海完美时空软件有限公司 | 阻拦信息的生成方法和装置、存储介质、电子装置 |
CN111514587A (zh) * | 2020-04-27 | 2020-08-11 | 网易(杭州)网络有限公司 | 信息处理方法、装置、设备及存储介质 |
US11771992B2 (en) | 2020-04-27 | 2023-10-03 | Netease (Hangzhou) Network Co., Ltd. | Information processing method, apparatus, and device, and storage medium |
CN112157678B (zh) * | 2020-09-24 | 2021-10-22 | 河北工业大学 | 一种基于二分法的平面冗余机械臂碰撞位置检测方法 |
CN112157678A (zh) * | 2020-09-24 | 2021-01-01 | 河北工业大学 | 一种基于二分法的平面冗余机械臂碰撞位置检测方法 |
CN112381953A (zh) * | 2020-10-28 | 2021-02-19 | 华南理工大学 | 三维空间无人机集群的快速选择方法 |
CN112381953B (zh) * | 2020-10-28 | 2024-04-02 | 华南理工大学 | 三维空间无人机集群的快速选择方法 |
CN112245014A (zh) * | 2020-10-30 | 2021-01-22 | 微创(上海)医疗机器人有限公司 | 一种医疗机器人、检测机械臂碰撞的方法及存储介质 |
CN112802203A (zh) * | 2021-01-18 | 2021-05-14 | 华中科技大学鄂州工业技术研究院 | 一种基于特征的空间哈希连续碰撞检测方法 |
CN112802203B (zh) * | 2021-01-18 | 2023-02-28 | 华中科技大学鄂州工业技术研究院 | 一种基于特征的空间哈希连续碰撞检测方法 |
CN112836420A (zh) * | 2021-02-01 | 2021-05-25 | 江南大学 | 一种瓶状密闭空间气体抽空可视化方法 |
CN113077643A (zh) * | 2021-03-23 | 2021-07-06 | 上海振华重工(集团)股份有限公司 | 一种交通控制方法、交通控制系统及存储介质 |
CN113077643B (zh) * | 2021-03-23 | 2022-05-03 | 上海振华重工(集团)股份有限公司 | 一种交通控制方法、交通控制系统及存储介质 |
CN113340247A (zh) * | 2021-06-15 | 2021-09-03 | 上海理工大学 | 一种用于车身接触式三坐标测量的连续碰撞检测方法 |
CN113392553B (zh) * | 2021-06-15 | 2022-10-11 | 上海理工大学 | 适用于三坐标测量机星型测头转动过程的碰撞检测方法 |
CN113340247B (zh) * | 2021-06-15 | 2022-07-12 | 上海理工大学 | 一种用于车身接触式三坐标测量的连续碰撞检测方法 |
CN113392553A (zh) * | 2021-06-15 | 2021-09-14 | 上海理工大学 | 适用于三坐标测量机星型测头转动过程的碰撞检测方法 |
CN113781846A (zh) * | 2021-09-28 | 2021-12-10 | 中国人民解放军空军工程大学 | 一种水平维度空域冲突检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110047143B (zh) | 2023-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110047143A (zh) | 一种基于空间细分与动态包围盒的连续碰撞检测方法 | |
JP6787661B2 (ja) | 工作物の機械加工のシミュレート | |
CN103678754B (zh) | 信息处理装置及信息处理方法 | |
US8531456B2 (en) | Automatic remeshing by mapping a 2D grid on 3D genus-G meshes based on topological analysis | |
CN106875462B (zh) | 一种基于元球模型和混合驱动方法的实时数字器官切割方法 | |
Xu et al. | PLSP based layered contour generation from point cloud for additive manufacturing | |
Park et al. | Reverse engineering with a structured light system | |
Wang et al. | Reduce the stretch in surface flattening by finding cutting paths to the surface boundary | |
Wang et al. | EQSM: An efficient high quality surface grid generation method based on remeshing | |
Lee et al. | Texture mapping with hard constraints using warping scheme | |
Musuvathy et al. | Computing medial axes of generic 3D regions bounded by B-spline surfaces | |
US7388584B2 (en) | Method and program for determining insides and outsides of boundaries | |
JP2021033682A (ja) | 画像処理装置、方法及びプログラム | |
WO2004053741A1 (ja) | 三角形と線分の交点計算方法とそのプログラム | |
JP2009110073A (ja) | 設計支援装置、設計支援方法、および設計支援プログラム | |
Docampo-Sánchez et al. | A regularization approach for automatic quad mesh generation | |
Chua et al. | A layered approach to deformable modeling and animation | |
Zhang et al. | A novel contour generation algorithm for surface reconstruction from dexel data | |
Gao et al. | Three dimensional surface warping for plastic surgery planning | |
Chou et al. | Fast octree construction endowed with an error bound controlled subdivision scheme | |
Tengler et al. | Ways of uneven road surface modelling used in the vehicle dynamics analysis | |
Ayala et al. | A Polyhedral Approach to Compute the Genus of a Volume Dataset. | |
Wang et al. | Developable triangulations of a strip | |
Ye et al. | An improved collision detection and cutting algorithm of the soft tissue in virtual surgical simulation | |
Woerl et al. | Variable-Radius Offset Surface Approximation on the GPU |
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 |