CN111652908A - 一种虚拟现实场景的操作碰撞检测方法 - Google Patents
一种虚拟现实场景的操作碰撞检测方法 Download PDFInfo
- Publication number
- CN111652908A CN111652908A CN202010304856.3A CN202010304856A CN111652908A CN 111652908 A CN111652908 A CN 111652908A CN 202010304856 A CN202010304856 A CN 202010304856A CN 111652908 A CN111652908 A CN 111652908A
- Authority
- CN
- China
- Prior art keywords
- bounding box
- model
- collision detection
- collision
- detection
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 51
- 238000000034 method Methods 0.000 claims abstract description 19
- 239000013598 vector Substances 0.000 claims description 9
- 230000003068 static effect Effects 0.000 claims description 5
- 238000013178 mathematical model Methods 0.000 claims description 3
- 230000001788 irregular Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 2
- 241000208199 Buxus sempervirens Species 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Geometry (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及一种虚拟现实场景的操作碰撞检测方法,其包括模型预检测、模型相交检测以及模型更新几个阶段,提出了一个结合AABB和空间划分的碰撞检测方法。通过结合传统的包围盒碰撞检测算法和空间划分法,并将检测从包围盒还原成三角面和点的碰撞检测,在减少了碰撞检测所需时间的同时也提高了碰撞检测的准确性。
Description
技术领域
本发明涉及一种虚拟现实场景的操作碰撞检测方法。
背景技术
就碰撞检测算法中检测较为精确的算法而言,目前研究较成熟的方法为层次包围盒和空间分解法。
层次包围盒方法的基本思想是利用体积略大而几何特性简单的包围盒来近似地描述复杂的几何对象, 进而通过构造树状层次结构逼近对象的几何模型,在对模型进行碰撞检测时对包围盒求交。该算法由于方向的任意性,可以根据被包围对象的形状特点尽可能紧密地包围对象, 但同时也使得它的相交测试变得复杂。包围盒数量取值越大时, 包围盒与所包围模型的贴近程度越好,因此在碰撞检测的简单性和包裹模型的紧密型需要平衡。变形体对象在运动中发生形变时,包围盒法需要重新构建或者更新围体树, 重新构建整个数据结构的时间耗费巨大。
空间分割法是将整个虚拟空间划分成等体积的规则单元格,以此将场景中的模型分割成更小的群组, 并只对占据了同一单元格或相邻单元格的几何对象进行相交测试。空间分割法适合于模型分布较为均匀的场景,当场景中的模型密集, 分布不均时, 单元格需要进一步分割, 单元格之间的交叉检测和存储都需要较大空间, 计算效率急剧下降。由于存储量的敏感, 使它的应用领域受到很大限制。
发明内容
本发明所要解决的技术问题是提供一种虚拟现实场景的操作碰撞检测方法,减少碰撞检测所需时间、提高碰撞检测准确性。
本发明所采用的技术方案是:一种虚拟现实场景的操作碰撞检测方法,其包括如下步骤:
模型预检测,采用沿坐标的AABB包围盒构建两物体可能相交区域包围盒,确定AABB包围盒相交范围,对可能相交区域进行区域划分,对每一个规划好的区域进行相交测试;通过比较两个AABB包围盒在三个坐标轴上的投影区间是否都重叠对模型碰撞进行预检测;
模型相交检测,将需要移动的物体定义为移动物体,不需要移动的物体定义为静止物体;移动物体表面定义为由若干个点构成,在数学模型中将移动的点为点向量,记为Q;静止物体看做由无数个三角面包围而成;记录移动物体移动前和移动后的位置,将移动点的向量Q向三角面的法向量投影,判断投影两点是否分布在三角面两侧;若分布在三角面两侧,则进一步判断移动前和移动后两点所形成的空间线段是否穿过三角面,若穿过三角面则判定为碰撞,否则没有碰撞。
进一步的,在构建两物体的AABB包围盒时,通过遍历两物体中的所有顶点,找出顶点的X 坐标、Y 坐标和 Z 坐标的最大值和最小值,这 6 个值构成包围盒的 8 个顶点。
进一步的,在确定静止物体的三角面位置时采用三角期望方法,将三角形的3个顶点作为3个离散变量,利用离散变量获取期望值,作为三角面可能出现的位置。
进一步的,还包括模型更新,采用平移更新或旋转更新形式。
本发明的积极效果为:本发明提出了一个结合AABB 和空间划分的碰撞检测方法。通过结合传统的包围盒碰撞检测算法和空间划分法,并将检测从包围盒还原成三角面和点的碰撞检测,在减少了碰撞检测所需时间的同时也提高了碰撞检测的准确性。本发明可以满足虚拟装配技术中对碰撞检测算法准确性的需求,同时在计算时间上也满足使用者的交互习惯。
附图说明
图1为本发明原理框图。
具体实施方式
如附图1所示,本发明包括如下步骤:
1、模型预检测阶段。预检测构建两物体可能相交区域包围盒,采用沿坐标的AABB包围盒,确定两物体AABB包围盒相交范围,对可能相交区域进行区域划分,对每一个规划好的区域进行相交测试。一个给定对象的 AABB 包围盒被定义为包含该对象且各边平行于坐标轴的最小的六面体。给定对象的 AABB 包围盒通过遍历对象中的所有顶点,找出顶点的 X 坐标、Y 坐标和 Z 坐标的最大值和最小值来得到,这 6 个值构成包围盒的 8 个顶点,相交测试是通过比较两个 AABB 包围盒在 3 个坐标轴上的投影区间是否都重叠来进行。对象的 AABB 包围盒在 X 、Y 、Z 方向上的最大最小值分别确定了它在 3 个坐标轴上的投影区间。
由于 AABB 包围盒在确定碰撞和确定包围盒相交区域上具有较高的效率,所以选用 AABB 包围盒来确定两包围盒的相交区域,即可能产生碰撞的区域。在利用包围盒确定可能相交区域后,对可能相交区域进行区域划分,对每一个规划好的区域进行相交测试。利用碰撞检测的时空相关性,对时空相关的部分进行相交测试可以大大减少遍历任务树的时间消耗,在保证碰撞检测精确度的同时提升碰撞检测效率。
模型预检测是根据模型的较大方形包围盒进行预先的检测,如果检测到相交,后续将对模型相交进行更加精密的计算。预检测可以大幅度的降低系的计算压力。
2、模型相交检测阶段。在不规则物体的碰撞检测中,不规则物体表面可以被认为是多个极小的点构成,在数学模型中可以将移动的极小的点定义为点向量,记为 Q 。在虚拟操作中,将当前不需要操作的不规则物体(即认为是静止物体)看作由无数个三角面包围而成。在碰撞检测中,通过代表运动中的不规则物体(即移动物体)的点集以及代表当前无需操作不规则物体(即静止物体)的三角面来判定两物体是否有碰撞关系。
为了减少计算次数,提高计算效率,引入三角期望的概念,即是把三角形 3 个顶点看做3 个离散变量,利用离散变量获取期望值,看做是三角面可能出现的位置。
3、判断结果。在碰撞检测中,检测碰撞的发生就是要看点集是否穿过三角面,穿过三角面就会被判定为发生碰撞。判断是否产生碰撞需要两个位置,一个是不规则物体移动之前的位置,另一个是移动之后的位置。判断点是否穿过三角面首先要判断点移动前后位置是否分布在三角面所在平面的两侧(即穿过三角面),为之后的碰撞判断做铺垫。在判断点的移动有可能穿过三角面后,通过判断移动前和移动后两点所形成的空间线段和三角面交点来确定是否发生了碰撞。
记录移动物体移动前和移动后的位置,将移动点的向量Q向三角面的法向量投影,判断投影两端点是否分布在三角面两侧;若分布在三角面两侧,则进一步判断移动前和移动后两点所形成的空间线段是否穿过三角面,若穿过三角面则判定为碰撞,否则没有碰撞。
4、模型更新。在虚拟环境中,由于模型是动态运动的,所以要对虚拟环境中动态的模型进行实时地更新。虚拟环境中的模型可以看做一个点集,这个点集分布在模型的表面,在虚拟空间中对动态模型的状态和位置不断地更新也就是对点集状态和位置不断地更新。对于点集的更新有两种形式,一种是平移更新,另一种是旋转更新,其中旋转更新分为绕坐标轴的旋转和绕任意轴的旋转。在虚拟环境中,3 维空间坐标变换可以采用齐次坐标技术来描述空间的各点坐标及其变换。在旋转的过程中可以默认变换的顺序分别为绕X 轴旋转、绕 Y 轴旋转和绕 Z 轴旋转,则可以将绕X 轴旋转、绕 Y 轴旋转和绕 Z 轴旋转的变换矩阵进行整合。
本发明提出一个结合AABB 和空间划分的碰撞检测方法,通过结合传统的包围盒碰撞检测算法和空间划分法,并将检测从包围盒还原成三角面和点的碰撞检测,在减少了碰撞检测所需时间的同时也提高了碰撞检测的准确性。
本发明可以满足虚拟装配技术中对碰撞检测算法准确性的需求,同时在计算时间上也满足使用者的交互习惯。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
Claims (4)
1.一种虚拟现实场景的操作碰撞检测方法,其特征在于其包括如下步骤:
模型预检测,采用沿坐标的AABB包围盒构建两物体可能相交区域包围盒,确定AABB包围盒相交范围,对可能相交区域进行区域划分,对每一个规划好的区域进行相交测试;通过比较两个AABB包围盒在三个坐标轴上的投影区间是否都重叠对模型碰撞进行预检测;
模型相交检测,将需要移动的物体定义为移动物体,不需要移动的物体定义为静止物体;移动物体表面定义为由若干个点构成,在数学模型中将移动的点为点向量,记为Q;静止物体看做由无数个三角面包围而成;记录移动物体移动前和移动后的位置,将移动点的向量Q向三角面的法向量投影,判断投影两点是否分布在三角面两侧;若分布在三角面两侧,则进一步判断移动前和移动后两点所形成的空间线段是否穿过三角面,若穿过三角面则判定为碰撞,否则没有碰撞。
2.根据权利要求1所述的一种虚拟现实场景的操作碰撞检测方法,其特征在于在构建两物体的AABB包围盒时,通过遍历两物体中的所有顶点,找出顶点的X 坐标、Y 坐标和 Z坐标的最大值和最小值,这 6 个值构成包围盒的 8 个顶点。
3.根据权利要求1所述的一种虚拟现实场景的操作碰撞检测方法,其特征在于在确定静止物体的三角面位置时采用三角期望方法,将三角形的3个顶点作为3个离散变量,利用离散变量获取期望值,作为三角面可能出现的位置。
4.根据权利要求1所述的一种虚拟现实场景的操作碰撞检测方法,其特征在于还包括模型更新,采用平移更新或旋转更新形式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010304856.3A CN111652908A (zh) | 2020-04-17 | 2020-04-17 | 一种虚拟现实场景的操作碰撞检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010304856.3A CN111652908A (zh) | 2020-04-17 | 2020-04-17 | 一种虚拟现实场景的操作碰撞检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111652908A true CN111652908A (zh) | 2020-09-11 |
Family
ID=72346593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010304856.3A Pending CN111652908A (zh) | 2020-04-17 | 2020-04-17 | 一种虚拟现实场景的操作碰撞检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111652908A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111921202A (zh) * | 2020-09-16 | 2020-11-13 | 成都完美天智游科技有限公司 | 虚拟场景的数据处理方法、装置、设备及可读存储介质 |
CN113001551A (zh) * | 2021-03-18 | 2021-06-22 | 青岛九维华盾科技研究院有限公司 | 基于八叉树结构分割的快速碰撞检测方法 |
CN113838215A (zh) * | 2021-07-30 | 2021-12-24 | 歌尔光学科技有限公司 | Vr碰撞检测方法及系统 |
CN114470786A (zh) * | 2022-01-27 | 2022-05-13 | 北京字跳网络技术有限公司 | 帧同步数据处理方法、装置、可读介质和电子设备 |
CN114714627A (zh) * | 2022-04-13 | 2022-07-08 | 南京铖联激光科技有限公司 | 针对3d打印控制软件碰撞检测系统及其检测方法 |
CN114918913A (zh) * | 2022-03-31 | 2022-08-19 | 杭州芯控智能科技有限公司 | 一种碰撞检测方法、装置、计算机设备和存储介质 |
CN116612825A (zh) * | 2023-07-19 | 2023-08-18 | 四川省产品质量监督检验检测院 | 分子静电势等值面点云的碰撞点检测和碰撞体积计算方法 |
WO2023159882A1 (zh) * | 2022-02-23 | 2023-08-31 | 华为技术有限公司 | 一种空间碰撞检测方法、装置及电子设备 |
CN117392358A (zh) * | 2023-12-04 | 2024-01-12 | 腾讯科技(深圳)有限公司 | 碰撞检测方法、装置、计算机设备和存储介质 |
JP7441361B1 (ja) | 2023-05-26 | 2024-02-29 | Kddi株式会社 | 情報処理装置、情報処理方法及びプログラム |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030164864A1 (en) * | 2002-02-19 | 2003-09-04 | Shmuel Aharon | Collision detection method for deformable objects in a scene |
CN102368280A (zh) * | 2011-10-21 | 2012-03-07 | 北京航空航天大学 | 一种面向虚拟装配的基于aabb-obb混合包围盒的碰撞检测方法 |
CN104535855A (zh) * | 2014-12-17 | 2015-04-22 | 国家电网公司 | 一种基于离散正交s变换的电能质量扰动信号检测算法 |
CN105469406A (zh) * | 2015-11-30 | 2016-04-06 | 东北大学 | 一种基于包围盒与空间划分的虚拟物体碰撞检测方法 |
US20180053311A1 (en) * | 2015-11-30 | 2018-02-22 | Tencent Technology (Shenzhen) Company Limited | Method, terminal, and storage medium for detecting collision between colliders in real-time virtual scene |
WO2018103635A1 (zh) * | 2016-12-07 | 2018-06-14 | 腾讯科技(深圳)有限公司 | 一种vr场景下的攀爬操作处理方法、装置及可读存储介质 |
-
2020
- 2020-04-17 CN CN202010304856.3A patent/CN111652908A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030164864A1 (en) * | 2002-02-19 | 2003-09-04 | Shmuel Aharon | Collision detection method for deformable objects in a scene |
CN102368280A (zh) * | 2011-10-21 | 2012-03-07 | 北京航空航天大学 | 一种面向虚拟装配的基于aabb-obb混合包围盒的碰撞检测方法 |
CN104535855A (zh) * | 2014-12-17 | 2015-04-22 | 国家电网公司 | 一种基于离散正交s变换的电能质量扰动信号检测算法 |
CN105469406A (zh) * | 2015-11-30 | 2016-04-06 | 东北大学 | 一种基于包围盒与空间划分的虚拟物体碰撞检测方法 |
US20180053311A1 (en) * | 2015-11-30 | 2018-02-22 | Tencent Technology (Shenzhen) Company Limited | Method, terminal, and storage medium for detecting collision between colliders in real-time virtual scene |
WO2018103635A1 (zh) * | 2016-12-07 | 2018-06-14 | 腾讯科技(深圳)有限公司 | 一种vr场景下的攀爬操作处理方法、装置及可读存储介质 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022057079A1 (zh) * | 2020-09-16 | 2022-03-24 | 成都完美天智游科技有限公司 | 虚拟场景的数据处理方法、装置、计算机程序及可读介质 |
CN111921202A (zh) * | 2020-09-16 | 2020-11-13 | 成都完美天智游科技有限公司 | 虚拟场景的数据处理方法、装置、设备及可读存储介质 |
CN113001551A (zh) * | 2021-03-18 | 2021-06-22 | 青岛九维华盾科技研究院有限公司 | 基于八叉树结构分割的快速碰撞检测方法 |
CN113838215A (zh) * | 2021-07-30 | 2021-12-24 | 歌尔光学科技有限公司 | Vr碰撞检测方法及系统 |
CN114470786A (zh) * | 2022-01-27 | 2022-05-13 | 北京字跳网络技术有限公司 | 帧同步数据处理方法、装置、可读介质和电子设备 |
CN114470786B (zh) * | 2022-01-27 | 2023-12-01 | 北京字跳网络技术有限公司 | 帧同步数据处理方法、装置、可读介质和电子设备 |
WO2023159882A1 (zh) * | 2022-02-23 | 2023-08-31 | 华为技术有限公司 | 一种空间碰撞检测方法、装置及电子设备 |
CN114918913A (zh) * | 2022-03-31 | 2022-08-19 | 杭州芯控智能科技有限公司 | 一种碰撞检测方法、装置、计算机设备和存储介质 |
CN114918913B (zh) * | 2022-03-31 | 2024-04-19 | 杭州芯控智能科技有限公司 | 一种碰撞检测方法、装置、计算机设备和存储介质 |
CN114714627A (zh) * | 2022-04-13 | 2022-07-08 | 南京铖联激光科技有限公司 | 针对3d打印控制软件碰撞检测系统及其检测方法 |
CN114714627B (zh) * | 2022-04-13 | 2023-07-18 | 南京铖联激光科技有限公司 | 针对3d打印控制软件碰撞检测系统及其检测方法 |
JP7441361B1 (ja) | 2023-05-26 | 2024-02-29 | Kddi株式会社 | 情報処理装置、情報処理方法及びプログラム |
CN116612825A (zh) * | 2023-07-19 | 2023-08-18 | 四川省产品质量监督检验检测院 | 分子静电势等值面点云的碰撞点检测和碰撞体积计算方法 |
CN116612825B (zh) * | 2023-07-19 | 2023-10-13 | 四川省产品质量监督检验检测院 | 分子静电势等值面点云的碰撞点检测和碰撞体积计算方法 |
CN117392358A (zh) * | 2023-12-04 | 2024-01-12 | 腾讯科技(深圳)有限公司 | 碰撞检测方法、装置、计算机设备和存储介质 |
CN117392358B (zh) * | 2023-12-04 | 2024-04-09 | 腾讯科技(深圳)有限公司 | 碰撞检测方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111652908A (zh) | 一种虚拟现实场景的操作碰撞检测方法 | |
US7348975B2 (en) | Applications of interval arithmetic for reduction of number of computations in ray tracing problems | |
EP1055200B1 (en) | Visible-object determination for interactive visualization | |
US7773087B2 (en) | Dynamically configuring and selecting multiple ray tracing intersection methods | |
Palmer et al. | Collision detection for animation using sphere‐trees | |
US6373485B2 (en) | Mitigating the effects of object approximations | |
Greß et al. | GPU‐based collision detection for deformable parameterized surfaces | |
US20070024615A1 (en) | Real-time precision ray tracing | |
US20190156550A1 (en) | Ray-triangle intersection testing with tetrahedral planes | |
CN112755535A (zh) | 光照渲染方法、装置、存储介质及计算机设备 | |
CN115115773A (zh) | 碰撞检测方法、装置、设备及存储介质 | |
Li et al. | A GPU-based voxelization approach to 3D Minkowski sum computation | |
Chao et al. | Improved hybrid bounding box collision detection algorithm | |
EP2336977A1 (en) | A Micro-architecture System and Method for ray tracing and collision detection | |
Benallegue et al. | Fast C 1 proximity queries using support mapping of sphere-torus-patches bounding volumes | |
WO1998043208A2 (en) | Method and apparatus for graphics processing | |
Figueiredo et al. | A survey on collision detection techniques for virtual environments | |
Kunert et al. | Efficient point cloud rasterization for real time volumetric integration in mixed reality applications | |
CN114742944A (zh) | 面向工业机器人路径规划的保守碰撞检测方法 | |
Zhang et al. | Haptic interaction with a polygon mesh reconstructed from images | |
An et al. | Collision Detection Technology based on bounding box of Virtual Reality | |
Figueiredo | Interactive Collision Detection for 3D Environments | |
Zachmann | Collision Detection as a Fundamental Technology in VR Based Product Engineering | |
Nirnimesh et al. | Culling an object hierarchy to a frustum hierarchy | |
Wang | Research And Implementation of Isosurface Extraction Algorithm Based on Flexicubes |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200911 |
|
RJ01 | Rejection of invention patent application after publication |