CN111104749A - 一种基于渐进式外接球结构的碰撞检测算法 - Google Patents
一种基于渐进式外接球结构的碰撞检测算法 Download PDFInfo
- Publication number
- CN111104749A CN111104749A CN201911344133.XA CN201911344133A CN111104749A CN 111104749 A CN111104749 A CN 111104749A CN 201911344133 A CN201911344133 A CN 201911344133A CN 111104749 A CN111104749 A CN 111104749A
- Authority
- CN
- China
- Prior art keywords
- collision
- external
- sphere
- collision detection
- ball
- 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
Images
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
Abstract
本发明涉及虚拟手术技术领域,特别公开了一种基于渐进式外接球结构的碰撞检测算法,它包括1)进入初始化阶段:2)对于手术器械的三维模型,需要在初始化阶段绑定碰撞检测体:3)根据软体模型局部几何特征,进行外接球尺寸调整;4)根据软体模型材质属性,进行外接球尺寸的调整;5)在仿真阶段中,利用三角形面片的包围球进行broad phase碰撞检测;6)基于外接球的Narrow Phase碰撞检测:7)碰撞解算:8)处理完碰撞后,判断是否需要更新外接球结构。本发明可以减少碰撞约束的复杂多样性,从而提高整体软体形变求解过程的收敛速度,稳定性与精确性。
Description
技术领域
本发明涉及虚拟手术技术领域,特别涉及一种基于渐进式外接球结构的碰撞检测算法。
背景技术
虚拟手术技术,以虚拟现实技术构建的可交互3D环境为基础,通过模拟手术中的关键步骤,为医生提供一种零损伤且较强可重复性的虚拟教学训练环境。虚拟手术技术主要依赖于计算机图形学中的实时图形渲染(可视化)和物理仿真(软体与刚体动力学)。 虚拟手术的主要特色在于能够提供用户和虚拟软组织器官的实时交互,用户可以通过力反馈设备,实时感受到与3D物体之间的触碰感。力反馈设备所提供的触碰感取决于虚拟手术环境中,虚拟手术器械与软组织之间交互的精确度与稳定性。这种交互的本质在于,手术器械(刚体)与软组织器官(软体)在实时力学仿真中是如何相互作用的。为了解决这个问题, 关键是捕获到何时手术器械与软组织器官的什么部位发生了碰撞(碰撞检测)。
一个健壮的碰撞检测算法直接影响手术模拟器的用户体验感。虚拟手术中涉及频繁的手术器械与软组织之间的复杂交互。手术器械与软体的碰撞检测难点在于根据实时更新的软组织3D模型的几何结构信息来查找碰撞发生的位置。根据这个信息,作出相应的几何计算与物理计算,产生逼真的碰撞效果,并有效防止手术器械穿透软组织的仿真瑕疵出现。
高效解决软体碰撞检测的方法中, 简化碰撞元(collision primitive)的方式应用的较为广泛。传统方法中, 碰撞检测的基本单位是多边形面片。现有的模型简化方法的主要核心思想是利用简单的几何图元(例如球体)来取代传统方法中基于多边形面片来进行碰撞检测的算法,从而达到提高计算效率与减少仿真穿透瑕疵的目的。但是这种类型的方法存在的巨大问题在于,简化的碰撞结构模型不能很好的拟合原有软体模型的表面,虽然增加多边形厚度的方法可以克服穿透的仿真瑕疵,但是带来了过度保护的效果(比如碰撞发生时,碰撞体之间却存在间隔)。如何做到高效解决碰撞同时尽可能减少仿真可视化结果的瑕疵,是手术模拟中的一项挑战。
实时软体仿真中,为达到实时效果,需要在求解的软体力学模型并未达到收敛解的时候,停止算法。 在现有广泛使用的实时软体仿真框架下(Position Based Dynamics),会把碰撞检测作为一种约束放入最终的求解框架下。如果碰撞检测情况越复杂,碰撞约束种类越多,最终求解效果的收敛精度就会越差。比如传统的基于多边形的碰撞检测算法,会产生很多碰撞信息(边,点,面之间的碰撞)。这些复杂的信息,会导致仿真时,由于结果不收敛而造成的不稳定性,即出现碰撞处软体剧烈抖动的瑕疵。为了解决这个问题,现有方法只能提高迭代次数以求解更精确的结果,但这会带来巨大的计算开销。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种用来提高虚拟手术中手术器械与软组织模型之间的碰撞检测效率,准确率以及稳定性的基于渐进式外接球结构的碰撞检测算法。
本发明是通过如下技术方案实现的:
一种基于渐进式外接球结构的碰撞检测算法,其特征是,包括以下步骤:
1)进入初始化阶段:该阶段会初始化三维软组织器官的外接球结构,并为每一个三角形面片生成一个大小和位置依赖于模型表面的曲率与软体物理材料属性的外接球;
2)对于手术器械的三维模型,需要在初始化阶段绑定碰撞检测体,该碰撞检测体负责物理仿真中与软体进行碰撞检测;
3)根据软体模型局部几何特征,进行外接球尺寸调整;
4)根据软体模型材质属性,进行外接球尺寸的调整;
5)在仿真阶段中,利用三角形面片的包围球进行粗略测试阶段碰撞检测;所述三角形面片的包围球采用的是以三角形的外心(外心到三角形每个顶点的距离相等)为球心、外心到三角形顶点的距离为半径建立的包围球;粗略测试阶段碰撞检测可以有效缩小碰撞区域潜在位置的搜索范围;如果粗略测试阶段碰撞检测发现有碰撞发生,进入下一步,否则继续执行该步骤;
6)基于外接球的精确阶段碰撞检测:对于步骤3)检测到的发生碰撞的区域,进行进一步的碰撞检测;该步的检测是在外接球结构和手术器械碰撞体之间进行的;如果检测到碰撞的发生,进入下一步,否则继续执行步骤6);
7)碰撞解算:根据前一步检测到的碰撞,将相交的外接球结构与手术器械碰撞体分离,外接球结构内部的三角形面片随外接球结构一起移动,生成分离碰撞所需要的约束,将约束加入软体仿真求解框架下;
8)处理完碰撞后,判断是否需要更新外接球结构,是否需要更新依赖于每个外接球结构对应的三角形面片发生形变的程度,如果形变程度相对于之前帧结果超过一定范围,则根据新的三维软组织模型的表面曲率特征和物理材质属性,来更新包围球位置和尺寸,否则沿用上一帧中包围球的结构,转至执行步骤5)。
步骤1)的具体方法为:
针对软组织器官三维模型的每一个三角形面片,初始化对应外接球的球心x的位置,计算如下:
步骤2)的具体方法为:
根据手术器械三维模型的结构,将简单几何体(例如圆柱体,球体,胶囊体结构)绑定到手术器械三维模型上。利用简单几何体进行与软体间的碰撞检测。
步骤3)的具体方法为:
步骤4)的具体方法为:
其中是外接球对应的三角形面片所具有的能量,该能量的计算方式与所采用的材料的应力-应变模型相关,具体数值的计算依赖于所采用的应力-应变模型种类;是自定义常量,作为能量的一个比例系数,用来控制能量对外接球半径的影响程度。
步骤7)所述的方法为:
步骤8)的具体方法为:
计算当前帧外接球对应三角形面积,计算与前一帧该三角形面积的比值. 如果,外接球的更新利用前一帧中步骤3)和步骤4)计算的结果进行更新,之后转至步骤5);如果, 则需要进行步骤3)和步骤4)的计算来更新外接球结构,再转至步骤5)。
本发明的有益效果是:
渐进式外接球的结构能够有效的拟合可行变软体模型的表面,结构更新开销小。外接球的更新依赖于软体物理材料属性与几何特征,能够很好的根据软体的物理与几何的特性来有效的更新外接球结构模型,从而达到更好的拟合效果。在较好的拟合效果的基础上,对碰撞的外接球内的图元进行统一的位置更新,减少碰撞约束的复杂多样性,从而提高整体软体形变求解过程的收敛速度,稳定性与精确性。由于虚拟手术仿真当中涉及频繁的手术器械与软组织之间的滑动触碰与按压,需要快速收敛且相对精确的碰撞效果,该技术非常适合应用在这种类型的场景中,为用户提供健壮稳定的交互体验。
附图说明
下面结合附图对本发明作进一步的说明。
图1为本发明的流程示意图;
图2为初始化外接球结构示意图;
图3为手术器械碰撞体绑定示意图;
图4为根据模型表面几何特征调整外接球结构示意图;
图5为根据软体模型材料属性来调整外接球大小示意图;
图6为效果示意图一;
图7为效果示意图二;
图8为效果示意图三。
具体实施方式
附图为本发明的具体实施例。如图1至8所示,该种基于渐进式外接球结构的碰撞检测算法,一种基于渐进式外接球结构的碰撞检测算法,具体步骤如下:
1)进入初始化阶段:该阶段会初始化软组织器官三维模型外接球结构,并为每一个三角形面片生成一个大小和位置依赖于模型表面的曲率与软体物理材料属性的外接球;其具体方法是:
针对软组织器官三维模型的每一个三角形面片,初始化对应外接球的球心x的位置,计算如下:
其中代表外接球对应的三角形面片的中心,即外接圆圆心,为外接圆半径, 代表三角形面片的法线方向,为一个常量控制总体幅度,该数值由用户指定,理论取值范围为0到无穷大,该数值越大,外接球球心距离三角形面片距离越远,外接球尺寸就越大,拟合效果就越好,具体的大小依赖于软体模型形状和用户对仿真精度的需求,为角度,是一个常量,该常量由用户指定,取值范围在0-90度之间,该数值越大,初始拟合效果越差。具体数值选取依赖于软体模型形状和用户对仿真精度需求。
2)对于手术器械的三维模型,需要在初始化阶段绑定碰撞检测体,该结构负责物理仿真中与软体进行碰撞检测:根据手术器械三维模型的结构,将简单几何体(例如圆柱体,球体,胶囊体结构)绑定到手术器械三维模型上。利用简单几何体进行与软体间的碰撞检测。
3)根据软体模型局部几何特征,进行外接球尺寸调整;具体方法为:
为Herimite的基函数,分别为的值,分别代表在处的斜率;h为指定的常量,该常量为用户自定义的常量曲率阈值,取值范围为0到无穷大,该数值越小,代表外接球尺寸随曲率变化越大,即曲率越大的地方,外接球越趋近于包围球,丛伟伟模型高曲率细节处提供更好的防穿透保护,当时,。 当时,。
4)根据软体模型材质属性,进行外接球尺寸的调整;具体方法为:
其中是外接球对应的三角形面片所具有的能量,该能量的计算方式与所采用的材料的应力-应变模型相关,具体数值的计算依赖于所采用的应力-应变模型种类,具体的计算方式属于材料力学领域常识;是自定义常量,这个常量属于用户自定义类型,理论上该数值的可选取0到无穷大的任意数值,作为能量的一个比例系数,用来控制能量对外接球半径的影响程度,该数值的确定依赖于具体的应力-应变模型和软体模型的尺寸,需要根据具体的请仿真情况由用户自定义。该数值越大,外接球结构能更好的拟合软体表面,但是过大的数值,会造成过大的外接球结构,从而降低计算精度。
5)在仿真阶段中,利用三角形面片的包围球进行粗略测试阶段碰撞检测;所述三角形面片的包围球采用的是以三角形的外心(外心到三角形每个顶点的距离相等)为球心、外心到三角形顶点的距离为半径建立的包围球;Broad phase 阶段可以有效缩小碰撞区域潜在位置的搜索范围;如果broad phase发现有碰撞发生,进入下一步,否则继续执行该步骤;
6)基于外接球的精确阶段碰撞检:对于步骤3)检测到的发生碰撞的区域,进行进一步的碰撞检测;该步的检测是在外接球结构和手术器械碰撞体之间进行的;如果检测到碰撞的发生,进入下一步,否则继续执行步骤6);
7)碰撞解算(碰撞解算是指根据检测到的碰撞信息,分离已碰撞的物体):根据前一步检测到的碰撞,将相交的外接球结构与手术器械碰撞体分离,外接球结构内部的三角形面片随外接球结构一起移动,生成分离碰撞所需要的约束,将约束加入软体仿真求解框架下;具体方法为:
根据检测到的碰撞(即手术器械与软体相互重叠区域),计算出分离重叠区域所需的外接球位置的变化向量,外接球对应的三角形顶点, 按方向进行移动即计算出每个顶点的目标的位置,将以下约束加入软体模拟数值求解过程中进行求解:
8)处理完碰撞后,判断是否需要更新外接球结构,是否需要更新依赖于每个外接球结构对应的三角形面片发生形变的程度,如果形变程度相对于之前帧结果超过一定范围,则根据新的三维软组织模型的表面曲率特征和物理材质属性,来更新包围球位置和尺寸,否则沿用上一帧中包围球的结构,转至执行步骤5),具体方法为:
计算当前帧外接球对应三角形面积,计算与前一帧该三角形面积的比值. 如果,外接球的更新利用前一帧中步骤3)和步骤4)计算的结果进行更新,之后转至步骤5);如果, 则需要进行步骤3)和步骤4)的计算来更新外接球结构,再转至步骤5)。
除说明书所述技术特征外,其余技术特征均为本领域技术人员已知技术。
Claims (7)
1.一种基于渐进式外接球结构的碰撞检测算法,其特征是,包括以下步骤:
1)进入初始化阶段:该阶段会初始化三维软组织器官的外接球结构,并为每一个三角形面片生成一个大小和位置依赖于模型表面的曲率与软体物理材料属性的外接球;
2)对于手术器械的三维模型,需要在初始化阶段绑定碰撞检测体,该碰撞检测体负责物理仿真中与软体进行碰撞检测;
3)根据软体模型局部几何特征,进行外接球尺寸调整;
4)根据软体模型材质属性,进行外接球尺寸的调整;
5)在仿真阶段中,利用三角形面片的包围球进行粗略测试阶段碰撞检测;所述三角形面片的包围球采用的是以三角形的外心为球心、外心到三角形顶点的距离为半径建立的包围球;粗略测试阶段碰撞检测可以有效缩小碰撞区域潜在位置的搜索范围;粗略测试阶段碰撞检测发现有碰撞发生,进入下一步,否则继续执行该步骤;
6)基于外接球的精确阶段碰撞检测:对于步骤3)检测到的发生碰撞的区域,进行进一步的碰撞检测;该步的检测是在外接球结构和手术器械碰撞体之间进行的;如果检测到碰撞的发生,进入下一步,否则继续执行步骤6);
7)碰撞解算:根据前一步检测到的碰撞,将相交的外接球结构与手术器械碰撞体分离,外接球结构内部的三角形面片随外接球结构一起移动,生成分离碰撞所需要的约束,将约束加入软体仿真求解框架下;
8)处理完碰撞后,判断是否需要更新外接球结构,是否需要更新依赖于每个外接球结构对应的三角形面片发生形变的程度,如果形变程度相对于之前帧结果超过一定范围,则根据新的三维软组织模型的表面曲率特征和物理材质属性,来更新包围球位置和尺寸,否则沿用上一帧中包围球的结构,转至执行步骤5)。
3.根据权利要求1所述的基于渐进式外接球结构的碰撞检测算法,其特征是,步骤2)的具体方法为:
根据手术器械三维模型的结构,将简单几何体绑定到手术器械三维模型上,利用简单几何体进行与软体间的碰撞检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911344133.XA CN111104749B (zh) | 2019-12-24 | 2019-12-24 | 一种基于渐进式外接球结构的碰撞检测算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911344133.XA CN111104749B (zh) | 2019-12-24 | 2019-12-24 | 一种基于渐进式外接球结构的碰撞检测算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111104749A true CN111104749A (zh) | 2020-05-05 |
CN111104749B CN111104749B (zh) | 2023-09-15 |
Family
ID=70423922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911344133.XA Active CN111104749B (zh) | 2019-12-24 | 2019-12-24 | 一种基于渐进式外接球结构的碰撞检测算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111104749B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111569424A (zh) * | 2020-05-14 | 2020-08-25 | 北京代码乾坤科技有限公司 | 游戏场景内的物理结算方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049341A (zh) * | 2012-11-21 | 2013-04-17 | 苏州两江科技有限公司 | 带预判方法的obb层次体树碰撞检测方法 |
CN104599272A (zh) * | 2015-01-22 | 2015-05-06 | 中国测绘科学研究院 | 面向可移动靶标球的机载LiDAR点云与影像联合配准方法 |
CN105261069A (zh) * | 2015-11-05 | 2016-01-20 | 北京航空航天大学 | 基于gpu的软组织器官元球模型自动生成与碰撞检测的方法 |
WO2019080488A1 (zh) * | 2017-10-27 | 2019-05-02 | 东南大学 | 一种基于多尺度协方差描述子与局部敏感黎曼核稀疏分类的三维人脸识别方法 |
-
2019
- 2019-12-24 CN CN201911344133.XA patent/CN111104749B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049341A (zh) * | 2012-11-21 | 2013-04-17 | 苏州两江科技有限公司 | 带预判方法的obb层次体树碰撞检测方法 |
CN104599272A (zh) * | 2015-01-22 | 2015-05-06 | 中国测绘科学研究院 | 面向可移动靶标球的机载LiDAR点云与影像联合配准方法 |
CN105261069A (zh) * | 2015-11-05 | 2016-01-20 | 北京航空航天大学 | 基于gpu的软组织器官元球模型自动生成与碰撞检测的方法 |
WO2019080488A1 (zh) * | 2017-10-27 | 2019-05-02 | 东南大学 | 一种基于多尺度协方差描述子与局部敏感黎曼核稀疏分类的三维人脸识别方法 |
Non-Patent Citations (1)
Title |
---|
胡凌燕;何声星;熊鹏文;刘小平;任忠杰;: "基于点云模型的虚拟手术系统建模及碰撞检测" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111569424A (zh) * | 2020-05-14 | 2020-08-25 | 北京代码乾坤科技有限公司 | 游戏场景内的物理结算方法和装置 |
CN111569424B (zh) * | 2020-05-14 | 2023-04-28 | 北京代码乾坤科技有限公司 | 游戏场景内的物理结算方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111104749B (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7084869B2 (en) | Methods and apparatus for detecting and correcting penetration between objects | |
CN107330972B (zh) | 模拟生物力学特性的实时软组织形变方法和系统 | |
JP5303068B2 (ja) | 画像処理装置、画像処理方法、および画像処理プログラム | |
US20070229544A1 (en) | Nurbs surface deformation apparatus and the method using 3d target curve | |
CN102376100A (zh) | 基于单张照片的人脸动画方法 | |
CN104881557A (zh) | 一种计算机中人体服装动态仿真实现方法 | |
Zhu et al. | Brush2Model: Convolution surface‐based brushes for 3D modelling in head‐mounted display‐based virtual environments | |
CN111104749A (zh) | 一种基于渐进式外接球结构的碰撞检测算法 | |
KR20130078102A (ko) | 유체 시뮬레이션 방법 | |
Bender et al. | Adaptive cloth simulation using corotational finite elements | |
CN111488670A (zh) | 一种非线性的质点弹簧软组织形变仿真方法 | |
CN110555899A (zh) | 基于cnn布料褶皱识别的多精度网格精化方法 | |
JP3722994B2 (ja) | 物体の接触感シミュレーション装置 | |
Magnoux et al. | Real‐time visual and physical cutting of a meshless model deformed on a background grid | |
Bender et al. | Efficient Cloth Simulation Using an Adaptive Finite Element Method. | |
KR100543219B1 (ko) | 2차원 이미지에서의 햅틱 벡터 필드 생성방법 및 3차원높이 정보 추출방법 | |
CN108492371A (zh) | 一种面向火灾的三维建筑模型动态可视化方法 | |
JP3722993B2 (ja) | 物体の毛並接触感シミュレーション装置 | |
Duysak et al. | Fast simulation of deformable objects | |
Mora et al. | Real-time 3D fluid interaction with a haptic user interface | |
Han et al. | A framework for virtual hand haptic interaction | |
JP2000047565A (ja) | 物体の接触感シミュレーション装置 | |
WO2003031005A2 (en) | Methods and apparatus for detecting and correcting penetration between objects | |
Zhang et al. | Image‐inspired haptic interaction | |
CN104680576A (zh) | 一种基于eon的手术室漫游系统 |
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 |