CN106096082A - 一种基于数据分块及并行处理的碰撞检测方法 - Google Patents
一种基于数据分块及并行处理的碰撞检测方法 Download PDFInfo
- Publication number
- CN106096082A CN106096082A CN201610368306.1A CN201610368306A CN106096082A CN 106096082 A CN106096082 A CN 106096082A CN 201610368306 A CN201610368306 A CN 201610368306A CN 106096082 A CN106096082 A CN 106096082A
- Authority
- CN
- China
- Prior art keywords
- bounding box
- node
- deblocking
- collision
- parallel processing
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/367—Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于数据分块及并行处理的碰撞检测方法,通过构建虚拟物体的包围盒树,以各节点的包围盒为数据库,根据计算机流程数将数据库进行分块;通过数据分块,可以有效减少每个处理器处理的任务数,避免数据分配不均匀造成的延误。流水线方法为一种典型的并行处理方法,将问题分为若干个解决步骤,各步骤由独立的处理器执行,通过加速各处理器从而提高整条流水线速度。
Description
技术领域
本发明涉及一种碰撞检测方法,具体是一种基于数据分块及并行处理的碰撞检测方法。
背景技术
碰撞检测是虚拟现实技术的重要组成部分,其主要任务是检测各种物体模型之间是否发生碰撞,如果发生碰撞则给出碰撞信息,同时指导系统进行下一步的操作。碰撞检测的基础是现实生活中两个不可穿透的对象不能同时共享同一片空间区域的事实。目前,按照检测对象的性质,碰撞检测可以分为基于时间域和基于空间域的检测算法,在此基础上又可以进一步划分为不同的种类。
随着网络技术的发展和虚拟现实技术的兴起,碰撞检测问题再一次成为研究的热点。虚拟场景的规模不断扩大,模型的精度也越来越高,通过减少碰撞检测的次数来加快算法成为研究的重点方向。
发明内容
针对上述现有技术存在的问题,本发明提供一种基于数据分块及并行处理的碰撞检测方法,数据分块和并行技术引入碰撞检测中,提高了物体碰撞检测速度,快速识别碰撞结果。
为了实现上述目的,本发明采用的技术方案是:该种基于数据分块及并行处理的碰撞检测方法,包括以下步骤:
(1)以虚拟物体几何全集的包围盒作为根节点,根据与分裂平面的位置将所有元素分为数量相当的两部分,分别建立包围盒;其中,以包围盒在此方向上最长轴为方向轴选择分裂平面;
(2)以上述这两部分为根节点自顶向下进行递归分治,叶节点的个数满足条件2m≤M,m为包围盒层数,M为处理器数;
(3)采用数据分块技术分割包围盒树,以每个叶节点的包围盒为一个数据块组成数据 库,各层的每个数据块由计算机对应的一个处理器负责,将各物体的碰撞问题细分为数据块中几何元素的碰撞检测;
(4)检测环境中两虚拟物体几何全集的包围盒,若发生碰撞,对物体的边界进行预处理,以各自叶节点为当前节点;
(5)取两物体的当前结点的包围盒逐一配对进行碰撞测试,若不发生碰撞,则停止遍历,若发生碰撞,则将当前节点存入链表中,链表中各数据相互独立,由各处理器并行进行访问调用,并作为下次碰撞检测的初选范围;
(6)以当前节点的上层根节点为当前结点,递归执行步骤(5)。
进一步,所述包围盒为轴对齐包围盒AABB或者方向包围盒OBB或者k-dop包围盒。
进一步,所述各叶节点包围盒的碰撞测试均为相互独立,无直接相关联,存储在数据链表中,各处理器并行进行访问。
进一步,所述步骤(5)中根据物体运动的连续性,下次检测链表中的各节点,由各节点碰撞状态变化确定检测范围;可避免后续的冗余检测。
与现有技术相比,本发明采用数据分块和并行处理相结合的方式,通过数据分块,可以有效减少每个处理器处理的任务数,避免数据分配不均匀造成的延误。流水线处理为一种典型的并行处理方法,将问题分为若干个解决步骤,各步骤由独立的处理器执行,通过加速各处理器从而提高整条流水线速度。
附图说明
图1是本发明的流程图;
图2是本发明中包围盒树的示意图。
具体实施方式
下面将对本发明作进一步说明。
如图1和图2所示,本发明包括以下步骤:
(1)以虚拟物体几何全集的包围盒作为根节点,根据与分裂平面的位置将所有元素分为数量相当的两部分,分别建立包围盒;其中,以包围盒在此方向上最长轴为方向轴选择 分裂平面;
(2)以上述这两部分为根节点自顶向下进行递归分治,叶节点的个数满足条件2m≤M,m为包围盒层数,M为处理器数;
(3)采用数据分块技术分割包围盒树,以每个叶节点的包围盒为一个数据块组成数据库,各层的每个数据块由计算机对应的一个处理器负责,将各物体的碰撞问题细分为数据块中几何元素的碰撞检测(碰撞检测即为检测各包围盒是否有交集);
(4)检测环境中两虚拟物体几何全集的包围盒,若发生碰撞,对物体的边界进行预处理,以各自叶节点为当前节点;
(5)取两物体的当前结点的包围盒逐一配对进行碰撞测试,若不发生碰撞,则停止遍历,若发生碰撞,则将当前节点存入链表中,链表中各数据相互独立,由各处理器并行进行访问调用,并作为下次碰撞检测的初选范围;
(6)以当前节点的上层根节点为当前节点,递归执行步骤(5)。
进一步,所述包围盒为轴对齐包围盒AABB或者方向包围盒OBB或者k-dop包围盒。
进一步,所述各叶节点包围盒的碰撞测试均为相互独立,无直接相关联,存储在数据链表中,各处理器并行进行访问。
进一步,所述步骤(5)中根据物体运动的连续性,下次检测链表中的各节点,由各节点碰撞状态变化确定检测范围。
整个检测过程中,需要多次执行操作各数据块,各节点包围盒的碰撞测试是相互独立、算法相同的,没有直接相关联,应用流水线技术动态划分总任务进程,避免数据分配不均匀造成的延误,操作同步执行,不需要对任务加锁,加速检测速度。算法如下:
。
Claims (4)
1.一种基于数据分块及并行处理的碰撞检测方法,其特征在于,包括以下步骤:
(1)以虚拟物体几何全集的包围盒作为根节点,根据与分裂平面的位置将所有元素分为数量相当的两部分,分别建立包围盒;
(2)以上述这两部分为根节点自顶向下进行递归分治,叶节点的个数满足条件2m≤M,m为包围盒层数,M为处理器数;
(3)采用数据分块技术分割包围盒树,以每个叶节点的包围盒为一个数据块组成数据库,各层的每个数据块由计算机对应的一个处理器负责,将各物体的碰撞问题细分为数据块中几何元素的碰撞检测;
(4)检测环境中两虚拟物体几何全集的包围盒,若发生碰撞,对物体的边界进行预处理,以各自叶节点为当前节点;
(5)取两物体的当前结点的包围盒逐一配对进行碰撞测试,若不发生碰撞,则停止遍历,若发生碰撞,则将当前节点存入链表中,链表中各数据相互独立,由各处理器并行进行访问调用,并作为下次碰撞检测的初选范围;
(6)以当前节点的上层根节点为当前节点,递归执行步骤(5)。
2.根据权利要求1所述的一种基于数据分块及并行处理的碰撞检测方法,其特征在于,所述包围盒为轴对齐包围盒AABB或者方向包围盒OBB或者k-dop包围盒。
3.根据权利要求1所述的一种基于数据分块及并行处理的碰撞检测方法,其特征在于,所述各叶节点包围盒的碰撞测试均为相互独立,无直接相关联,存储在数据链表中,各处理器并行进行访问。
4.根据权利要求1所述的一种基于数据分块及并行处理的碰撞检测方法,其特征在于,所述步骤(5)中根据物体运动的连续性,下次检测链表中的各节点,由各节点碰撞状态变化确定检测范围。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610368306.1A CN106096082A (zh) | 2016-05-24 | 2016-05-24 | 一种基于数据分块及并行处理的碰撞检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610368306.1A CN106096082A (zh) | 2016-05-24 | 2016-05-24 | 一种基于数据分块及并行处理的碰撞检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106096082A true CN106096082A (zh) | 2016-11-09 |
Family
ID=57229494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610368306.1A Pending CN106096082A (zh) | 2016-05-24 | 2016-05-24 | 一种基于数据分块及并行处理的碰撞检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106096082A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106469138A (zh) * | 2016-09-29 | 2017-03-01 | 东软集团股份有限公司 | 词云的生成方法及装置 |
WO2022121525A1 (zh) * | 2020-12-11 | 2022-06-16 | 中兴通讯股份有限公司 | 三维场景数据的渲染方法及装置、存储介质、电子装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593366A (zh) * | 2009-06-24 | 2009-12-02 | 北京航空航天大学 | 一种基于平衡二叉树的大规模虚拟场景碰撞检测方法 |
CN102446122A (zh) * | 2011-12-21 | 2012-05-09 | 上海电机学院 | 一种基于包围盒树的碰撞检测方法 |
CN102663825A (zh) * | 2012-02-29 | 2012-09-12 | 中山大学 | 一种三维碰撞检测方法 |
CN102193837B (zh) * | 2011-04-26 | 2012-12-05 | 浙江大学 | 一种基于前线的包围盒碰撞检测方法 |
CN102393826B (zh) * | 2011-07-15 | 2013-01-30 | 浙江大学 | 一种基于多核并行处理的柔性场景连续碰撞检测方法 |
CN104867177A (zh) * | 2014-12-23 | 2015-08-26 | 上海电机学院 | 一种基于包围盒树法的并行碰撞检测方法 |
-
2016
- 2016-05-24 CN CN201610368306.1A patent/CN106096082A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593366A (zh) * | 2009-06-24 | 2009-12-02 | 北京航空航天大学 | 一种基于平衡二叉树的大规模虚拟场景碰撞检测方法 |
CN102193837B (zh) * | 2011-04-26 | 2012-12-05 | 浙江大学 | 一种基于前线的包围盒碰撞检测方法 |
CN102393826B (zh) * | 2011-07-15 | 2013-01-30 | 浙江大学 | 一种基于多核并行处理的柔性场景连续碰撞检测方法 |
CN102446122A (zh) * | 2011-12-21 | 2012-05-09 | 上海电机学院 | 一种基于包围盒树的碰撞检测方法 |
CN102663825A (zh) * | 2012-02-29 | 2012-09-12 | 中山大学 | 一种三维碰撞检测方法 |
CN104867177A (zh) * | 2014-12-23 | 2015-08-26 | 上海电机学院 | 一种基于包围盒树法的并行碰撞检测方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106469138A (zh) * | 2016-09-29 | 2017-03-01 | 东软集团股份有限公司 | 词云的生成方法及装置 |
CN106469138B (zh) * | 2016-09-29 | 2020-07-17 | 东软集团股份有限公司 | 词云的生成方法及装置 |
WO2022121525A1 (zh) * | 2020-12-11 | 2022-06-16 | 中兴通讯股份有限公司 | 三维场景数据的渲染方法及装置、存储介质、电子装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI395155B (zh) | 用於處理射線之方法與系統以及包括相關聯資料之機器可存取媒體 | |
US9342065B2 (en) | Path interference and generation device and method | |
EP2973427B1 (en) | Continuous interaction learning and detection in real-time | |
CN105700956A (zh) | 用于处理分布式作业的方法和系统 | |
CN106096082A (zh) | 一种基于数据分块及并行处理的碰撞检测方法 | |
US20200143904A1 (en) | Predicting molecular properties of molecular variants using residue-specific molecular structural features | |
CN108725437A (zh) | 一种自动停车入库方法和装置 | |
WO2018083512A1 (en) | Process and system for providing a machining method for manufacturing a feature in a part | |
CN102393826A (zh) | 一种基于多核并行处理的柔性场景连续碰撞检测方法 | |
US20140074538A1 (en) | Stack handling operation method, system, and computer program | |
CN104268427A (zh) | 面向车身多工位装配过程的多偏差源在线诊断系统及方法 | |
Lu et al. | Modeling and simulation of aircraft assembly line based on quest | |
US20150103080A1 (en) | Computing device and method for simulating point clouds | |
CN107457793A (zh) | 利用多机器人动态用户框进行动态激光触摸感测 | |
CN102902769A (zh) | 一种云计算平台数据库基准测试系统及其方法 | |
KR101542558B1 (ko) | 웨이퍼 수율 맵을 분석하는 방법 및 상기 방법을 기록한 기록매체 | |
CN102819237A (zh) | 一种实体法铣削仿真过程中仿真目标毛坯的产生方法 | |
US9208535B2 (en) | Method and apparatus for graphical processing unit (GPU) accelerated large-scale web community detection | |
von Boeselager et al. | Model‐Based Design and Experimental Evaluation of a High‐Throughput Electrode Feeding and Stacking Process | |
Du et al. | A rapid oriented detection method of virtual components for augmented assembly | |
US9262572B2 (en) | Fast and accurate capacitance checker | |
Weber et al. | Workpiece positioning based on supervised learning methods for simulation-based optimization of virtual tooling processes | |
CN104461478A (zh) | 三次元云端离线编程系统及方法 | |
CN102810058A (zh) | 量测编程坐标系刷新系统及方法 | |
US20160357879A1 (en) | Method and apparatus for checking the buildability of a virtual prototype |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161109 |