CN103324784A - 一种基于局部约束的网格模型碰撞处理方法 - Google Patents
一种基于局部约束的网格模型碰撞处理方法 Download PDFInfo
- Publication number
- CN103324784A CN103324784A CN2013102103506A CN201310210350A CN103324784A CN 103324784 A CN103324784 A CN 103324784A CN 2013102103506 A CN2013102103506 A CN 2013102103506A CN 201310210350 A CN201310210350 A CN 201310210350A CN 103324784 A CN103324784 A CN 103324784A
- Authority
- CN
- China
- Prior art keywords
- collision
- grid model
- triangle
- summit
- local restriction
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于局部约束的网格模型碰撞处理方法。现有方法计算速度慢,不适用于对实时性要求高的场合。本发明包括如下步骤:步骤(1)只考虑内力作用,使物体运动到下一时刻;步骤(2)用离散碰撞检测方法检测碰撞对并施加惩罚力;步骤(3)采用连续碰撞检测方法得到碰撞对,并施加基于局部约束的碰撞冲量将碰撞对分开。本发明通过利用连续碰撞检测方法和基于局部约束的碰撞处理方法,对网格模型进行运动仿真,改善了之前方法存在的“穿透现象”,大大提高了碰撞处理的整体效率和速度。
Description
技术领域
本发明属于计算机仿真技术领域,具体涉及一种基于局部约束的网格模型碰撞处理方法。
背景技术
基于三角形网格的离散碰撞检测(DCD)检测在固定时刻物体之间是否存在接触,但是对于高速碰撞的物体,采用该方法会遗漏碰撞。为了解决这个问题,我们引入了连续碰撞检测(CCD)。
CCD通过插值获得物体在两个位置之间的运动路径,进而检测在这个运动过程中哪些部位发生了碰撞。该方法首先利用包围盒重叠测试输出存在重叠的包围盒对,然后通过精确碰撞检测来判断包围盒所对应的三角形是否发生了碰撞,而三角形对的精确碰撞检测过程又可分解为6种碰撞情况的检测:6种顶点/三角形之间碰撞检测。该方法被广泛地应用于物理现象仿真、虚拟现实、人工智能等多个领域。
对于碰撞检测阶段得到的碰撞对,通常采用两类方法处理。其一是基于全局约束的碰撞处理方法,该方法的提出基于一个事实:由于网格模型中的三角形单元与周围单元存在连接关系,所以,任何碰撞对都不是独立的,它也会对相邻单元造成影响。基于此,研究人员提出了多种基于全局优化的求解方法。但是这类方法存在一个不足,计算速度慢,不适用于对实时性要求高的场合。所以,有人提出了另一类基于局部约束的求解方法,该方法将三角形碰撞对分解成点/三角形碰撞对,然后分别处理,大大提高了碰撞处理速度。
发明内容
针对现有技术所存在的上述技术缺陷,本发明提供了一种基于局部约束的网格模型碰撞处理方法,利用连续碰撞检测方法和基于局部约束的碰撞处理方法,对网格模型进行运动仿真,改善了之前方法存在的“穿透现象”,提高了碰撞处理的整体效率和速度。
一种基于局部约束的网格模型碰撞处理方法,包括如下步骤:
步骤(2)对更新后的网格模型各顶点位置,采用离散碰撞检测方法得到点/三角形碰撞对,进而计算碰撞对中点与三角形之间的碰撞力,将碰撞力施加到不同顶点上,得到碰撞后时间段内碰撞后的位移、平均速度,进而得到下一时刻网格模型各个顶点的坐标;
所述的六个点/三角形测试对是由三角形对中其中一个三角形的顶点和三角形对中另一个三角形共同形成的。
所述的步骤(3)中,采用局部约束法求解的碰撞后的平均速度和冲量,进而得到下一时刻网格模型各个顶点的坐标,包括如下步骤:
3-1.利用连续碰撞检测方法得到的点/三角形碰撞对,获取当前时刻待处理点及其在待处理三角形上投影点的三维坐标、平均速度及网格模型厚度;
3-2.使用公式、分别计算碰撞后待处理点P及其在三角形投影点T的平均速度,通过公式、分别计算处理点P及其在三角形投影点T处的碰撞冲量;其中,、分别表示P、T碰撞前的平均速度,、分别表示P、T的质量,h表示网格模型厚度,为时间步长;
3-3.利用速度-位移公式计算下一时刻网格模型各个顶点的位移,进而求得各个顶点的三维坐标。
所述的步骤(3)中,利用连续碰撞检测方法得到碰撞对,包括如下步骤:
3-4.对待检测的三角形网格模型中的每个三角形构造对应的包围盒,进而建立三角形网格模型的包围盒层次结构;
3-5.根据所述的包围盒层次结构,构建包围盒测试树,输出存在包围盒重叠的叶节点;
3-6.将步骤3-5输出的叶节点对应的三角形进一步分解为点/三角形对,进行精确连续碰撞检测。
所述的步骤(1)中的模型内力计算方法,步骤(2)中的离散碰撞检测方法、计算碰撞对中点与三角形之间碰撞力的方法均为现有方法。
本发明有益效果如下:
本发明通过利用连续碰撞检测方法和基于局部约束的碰撞处理方法,对网格模型进行运动仿真,改善了之前方法存在的“穿透现象”,大大提高了碰撞处理的整体效率和速度。
附图说明
图1为本发明流程示意图。
具体实施方式
为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的连续碰撞检测方法进行详细说明。
如图1所示,一种基于局部约束的网格模型碰撞处理方法,包括如下步骤:
步骤(2)对更新后的网格模型各顶点位置,采用离散碰撞检测方法得到点/三角形碰撞对,进而计算碰撞对中点与三角形之间的碰撞力,将碰撞力施加到不同顶点上,得到碰撞后时间段内碰撞后的位移、平均速度,进而得到下一时刻网格模型各个顶点的坐标;
所述的更新指网格模型经过时间段的自身内力作用后。
所述的六个点/三角形测试对是由三角形对中其中一个三角形的顶点和三角形对中另一个三角形共同形成的。
采用局部约束法求解的碰撞后的平均速度和冲量,进而得到下一时刻模型各个顶点的坐标,包括如下步骤:
3-1.利用连续碰撞检测方法得到的点/三角形碰撞对,获取当前时刻待处理点及其在待处理三角形上投影点的三维坐标、平均速度及网格模型厚度;
3-2.使用公式、分别计算碰撞后待处理点P及其在三角形投影点T的平均速度,通过公式、分别计算处理点P及其在三角形投影点T处的碰撞冲量;其中,、分别表示P、T碰撞前的平均速度,、分别表示P、T的质量,h表示网格模型厚度,为时间步长;
3-3.利用速度-位移公式计算下一时刻网格模型各个顶点的位移,进而求得各个顶点的三维坐标。
利用连续碰撞检测方法得到碰撞对,包括如下步骤:
3-4.对待检测的三角形网格模型中的每个三角形构造对应的包围盒,进而建立三角形网格模型的包围盒层次结构;
3-5.根据所述的包围盒层次结构,构建包围盒测试树,输出存在包围盒重叠的叶节点;
3-6.将步骤3-5输出的叶节点对应的三角形进一步分解为点/三角形对,进行精确连续碰撞检测。
步骤3-4中,为三角形网格柔性场景模型建立包围盒层次结构,包括如下步骤:
a.计算出三角形网格柔性场景模型中每个三角形的中心;
b.通过采用坐标轴投影分割法对所有三角形中心进行划分:将所有三角形中心分别投影到三维坐标系的x、y、z轴上,
b1.选取轴上相距最远的两个三角形中心投影之间的距离,将其中距离最大的轴作为投影轴,将投影轴上相距最远的两个三角形中心投影为端点的线段,平分成两个子线段; 若该子线段对应的三角形网格柔性场景模型的局部只有一个三角形中心或没有三角形中心,则跳转到步骤c;
b2.将子线段对应的三角形网格柔性场景模型的局部继续投影到三维坐标系的x、y、z轴上, 选取轴上相距最远的两个三角形中心投影之间的距离,将其中距离最大的轴作为投影轴,将投影轴上相距最远的两个三角形中心投影为端点的线段,平分成两个子线段;
b3.若步骤d2的子线段对应的三角形网格柔性场景模型的局部只有一个三角形中心或没有三角形中心,则进入步骤c,否者重复步骤b2;
c.采用自底向上的方法为整个三角形网格柔性场景模型建立对应的包围盒层次结构。
步骤3-5中,当进行第n次碰撞检测时,包围盒层次结构是根据第n次碰撞检测时刻每个三角形更新后的空间位置,对上一次碰撞检测过程的包围盒层次结构中最底层的包围盒进行重构,进而自底向上对上一次碰撞检测过程的包围盒层次结构进行整理更新而成的,n为大于1的自然数。
步骤3-6中,基于厚度的连续碰撞检测方法包括如下步骤:
d.将输出的叶节点对应的三角形对分解为六个点/三角形测试对,获取前一时刻和当前时刻待检测三角形三个顶点的三维坐标、待检测点的三维坐标、待检测三角形的法向量、三角形网格柔性场景模型厚度;
Claims (4)
1. 一种基于局部约束的网格模型碰撞处理方法,其特征在于包括如下步骤:
步骤(2)对更新后的网格模型各顶点位置,采用离散碰撞检测方法得到点/三角形碰撞对,进而计算碰撞对中点与三角形之间的碰撞力,将碰撞力施加到不同顶点上,得到碰撞后时间段内碰撞后的位移、平均速度,进而得到下一时刻网格模型各个顶点的坐标;
2.根据权利要求1所述的基于局部约束的网格模型碰撞处理方法,其特征在于:所述的步骤(3)中,采用局部约束法求解的碰撞后的平均速度和冲量,进而得到下一时刻网格模型各个顶点的坐标,包括如下步骤:
3-1.利用连续碰撞检测方法得到的点/三角形碰撞对,获取当前时刻待处理点及其在待处理三角形上投影点的三维坐标、平均速度及网格模型厚度;
3-2.使用公式、分别计算碰撞后待处理点P及其在三角形投影点T的平均速度,通过公式、分别计算处理点P及其在三角形投影点T处的碰撞冲量;其中,、分别表示P、T碰撞前的平均速度,、分别表示P、T的质量,h表示网格模型厚度,为时间步长;
3-3.利用速度-位移公式计算下一时刻网格模型各个顶点的位移,进而求得各个顶点的三维坐标。
3.根据权利要求1所述的基于局部约束的网格模型碰撞处理方法,其特征在于:所述的步骤(3)中,利用连续碰撞检测方法得到碰撞对,包括如下步骤:
3-4.对待检测的三角形网格模型中的每个三角形构造对应的包围盒,进而建立三角形网格模型的包围盒层次结构;
3-5.根据所述的包围盒层次结构,构建包围盒测试树,输出存在包围盒重叠的叶节点;
3-6.将步骤3-5输出的叶节点对应的三角形进一步分解为点/三角形对,进行精确连续碰撞检测。
4.根据权利要求1所述的基于局部约束的网格模型碰撞处理方法,其特征在于:所述的步骤(1)中的模型内力计算方法,步骤(2)中的离散碰撞检测方法、计算碰撞对中点与三角形之间碰撞力的方法均为现有方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310210350.6A CN103324784B (zh) | 2013-05-30 | 2013-05-30 | 一种基于局部约束的网格模型碰撞处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310210350.6A CN103324784B (zh) | 2013-05-30 | 2013-05-30 | 一种基于局部约束的网格模型碰撞处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103324784A true CN103324784A (zh) | 2013-09-25 |
CN103324784B CN103324784B (zh) | 2016-05-18 |
Family
ID=49193526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310210350.6A Active CN103324784B (zh) | 2013-05-30 | 2013-05-30 | 一种基于局部约束的网格模型碰撞处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103324784B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615893A (zh) * | 2015-02-13 | 2015-05-13 | 华东师范大学 | 基于泰勒模型的提高连续碰撞检测效率的方法 |
CN104637086A (zh) * | 2015-02-13 | 2015-05-20 | 华东师范大学 | 基于文森特定理的高效连续碰撞检测方法 |
CN109069214A (zh) * | 2016-04-15 | 2018-12-21 | 川崎重工业株式会社 | 外科手术系统的控制方法以及外科手术系统 |
CN112330804A (zh) * | 2020-11-12 | 2021-02-05 | 中国人民解放军火箭军工程大学 | 一种局部可变形三维模型接触检测方法 |
CN112581602A (zh) * | 2020-12-09 | 2021-03-30 | 北京维盛视通科技有限公司 | 服装动态模拟方法、装置、电子设备及存储介质 |
CN112802203A (zh) * | 2021-01-18 | 2021-05-14 | 华中科技大学鄂州工业技术研究院 | 一种基于特征的空间哈希连续碰撞检测方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110166836A1 (en) * | 2010-01-05 | 2011-07-07 | Kaplan Carolyn R | Fast tracking methods and systems for air traffric modeling using a monotonic lagrangian grid |
CN102253862A (zh) * | 2011-04-26 | 2011-11-23 | 浙江大学 | 一种基于SIMD的k-DOP包围盒碰撞检测方法 |
CN102393825A (zh) * | 2011-07-15 | 2012-03-28 | 浙江大学 | 一种基于非共面剔除的柔性场景连续碰撞检测方法 |
CN102609321A (zh) * | 2012-01-30 | 2012-07-25 | 华南理工大学 | 基于K_DOPs快速连续碰撞检测方法 |
CN102722910A (zh) * | 2012-05-18 | 2012-10-10 | 浙江大学 | 一种基于分离轴剔除的体网格场景连续碰撞检测方法 |
-
2013
- 2013-05-30 CN CN201310210350.6A patent/CN103324784B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110166836A1 (en) * | 2010-01-05 | 2011-07-07 | Kaplan Carolyn R | Fast tracking methods and systems for air traffric modeling using a monotonic lagrangian grid |
CN102253862A (zh) * | 2011-04-26 | 2011-11-23 | 浙江大学 | 一种基于SIMD的k-DOP包围盒碰撞检测方法 |
CN102393825A (zh) * | 2011-07-15 | 2012-03-28 | 浙江大学 | 一种基于非共面剔除的柔性场景连续碰撞检测方法 |
CN102609321A (zh) * | 2012-01-30 | 2012-07-25 | 华南理工大学 | 基于K_DOPs快速连续碰撞检测方法 |
CN102722910A (zh) * | 2012-05-18 | 2012-10-10 | 浙江大学 | 一种基于分离轴剔除的体网格场景连续碰撞检测方法 |
Non-Patent Citations (2)
Title |
---|
PENG DU ET AL: "Fast continuous collision culling with deforming noncollinear filters", 《COMPUTER ANIMATION AND VIRTUAL WORLDS》, 11 May 2012 (2012-05-11) * |
黄通浪 等: "一种快速精确的连续碰撞检测算法", 《浙江大学学报》, 30 June 2006 (2006-06-30) * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615893A (zh) * | 2015-02-13 | 2015-05-13 | 华东师范大学 | 基于泰勒模型的提高连续碰撞检测效率的方法 |
CN104637086A (zh) * | 2015-02-13 | 2015-05-20 | 华东师范大学 | 基于文森特定理的高效连续碰撞检测方法 |
CN104615893B (zh) * | 2015-02-13 | 2017-12-26 | 华东师范大学 | 基于泰勒模型的提高连续碰撞检测效率的方法 |
CN109069214A (zh) * | 2016-04-15 | 2018-12-21 | 川崎重工业株式会社 | 外科手术系统的控制方法以及外科手术系统 |
CN112330804A (zh) * | 2020-11-12 | 2021-02-05 | 中国人民解放军火箭军工程大学 | 一种局部可变形三维模型接触检测方法 |
CN112330804B (zh) * | 2020-11-12 | 2021-10-19 | 中国人民解放军火箭军工程大学 | 一种局部可变形三维模型接触检测方法 |
CN112581602A (zh) * | 2020-12-09 | 2021-03-30 | 北京维盛视通科技有限公司 | 服装动态模拟方法、装置、电子设备及存储介质 |
CN112581602B (zh) * | 2020-12-09 | 2023-07-07 | 北京维盛视通科技有限公司 | 服装动态模拟方法、装置、电子设备及存储介质 |
CN112802203A (zh) * | 2021-01-18 | 2021-05-14 | 华中科技大学鄂州工业技术研究院 | 一种基于特征的空间哈希连续碰撞检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103324784B (zh) | 2016-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103324784A (zh) | 一种基于局部约束的网格模型碰撞处理方法 | |
CN102156782B (zh) | 基于图论的电力系统公式并行运算管理方法 | |
CN103337091B (zh) | 一种基于厚度的柔性场景连续碰撞检测方法 | |
CN101984443B (zh) | 一种改进的柔性织物碰撞处理方法 | |
CN109752003A (zh) | 一种机器人视觉惯性点线特征定位方法及装置 | |
CN103699715A (zh) | 一种基于光滑粒子流体动力学和非线性有限元的流固耦合方法 | |
CN102393826B (zh) | 一种基于多核并行处理的柔性场景连续碰撞检测方法 | |
WO2022095514A1 (zh) | 图像检测方法、装置、电子设备及存储介质 | |
CN103729564A (zh) | 一种基于粒子图像测速技术的压力场计算方法和装置 | |
US20120127164A1 (en) | Processing apparatus and method for creating avatar | |
CN102999661A (zh) | 基于粒子群优化的并行碰撞检测系统及方法 | |
CN109858526A (zh) | 一种目标跟踪中基于传感器的多目标轨迹融合方法 | |
CN104915928A (zh) | 一种基于本征正交分解的速度场坏矢量识别和修正方法 | |
CN107832716A (zh) | 基于主动被动高斯在线学习的异常检测方法 | |
CN104408773A (zh) | 一种结构化网格非匹配界面插值的方法 | |
CN102722910B (zh) | 一种基于分离轴剔除的体网格场景连续碰撞检测方法 | |
CN104240290A (zh) | 一种基于包围球模型的三维电缆相交检测方法 | |
CN105069829A (zh) | 一种基于多目视频的人体动画生成方法 | |
CN103839280A (zh) | 一种基于视觉信息的人体姿态跟踪方法 | |
CN105807093A (zh) | 一种基于粒子图像测速技术的加速度测量方法及装置 | |
CN109003686A (zh) | 核电站松脱部件的定位方法、装置、计算机设备及存储介质 | |
CN103837135A (zh) | 工件检测方法及其系统 | |
CN102393825B (zh) | 一种基于非共面剔除的柔性场景连续碰撞检测方法 | |
CN102708017A (zh) | 一种基于非共线剔除的柔性场景连续碰撞检测方法 | |
CN102393827A (zh) | 一种基于连续法向锥剔除的柔性场景连续碰撞检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170418 Address after: 310000 Binjiang District, Hangzhou, No. six and road, a building (North), building B2010, room, two Patentee after: It seems Hangzhou Extension Technology Co. Ltd. Address before: Hangzhou City, Zhejiang province 310018 Xiasha Higher Education Park No. 2 street Patentee before: Hangzhou Electronic Science and Technology Univ |