CN106096082A - 一种基于数据分块及并行处理的碰撞检测方法 - Google Patents

一种基于数据分块及并行处理的碰撞检测方法 Download PDF

Info

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
Application number
CN201610368306.1A
Other languages
English (en)
Inventor
许启金
于启万
别长报
吴翔
叶辉
郑浩
吴伟
廖志斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
Suzhou Power Supply Co of State Grid Anhui Electric Power Co Ltd
Original Assignee
State Grid Corp of China SGCC
Suzhou Power Supply Co of State Grid Anhui Electric Power Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, Suzhou Power Supply Co of State Grid Anhui Electric Power Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN201610368306.1A priority Critical patent/CN106096082A/zh
Publication of CN106096082A publication Critical patent/CN106096082A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design 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)中根据物体运动的连续性,下次检测链表中的各节点,由各节点碰撞状态变化确定检测范围。
CN201610368306.1A 2016-05-24 2016-05-24 一种基于数据分块及并行处理的碰撞检测方法 Pending CN106096082A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 上海电机学院 一种基于包围盒树法的并行碰撞检测方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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) 用於處理射線之方法與系統以及包括相關聯資料之機器可存取媒體
US11804283B2 (en) Predicting molecular properties of molecular variants using residue-specific molecular structural features
CN105700956A (zh) 用于处理分布式作业的方法和***
Hao et al. 6+ X locating principle based on dynamic mass centers of structural parts machined by responsive fixtures
CN106096082A (zh) 一种基于数据分块及并行处理的碰撞检测方法
JP2016190315A (ja) プログラム作成支援方法およびプログラム作成支援装置ならびにプログラム
US9495653B2 (en) Stack handling operation method, system, and computer program
US20160125009A1 (en) Parallelized execution of window operator
CN104268427A (zh) 面向车身多工位装配过程的多偏差源在线诊断***及方法
CN108725437A (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) 利用多机器人动态用户框进行动态激光触摸感测
CN104506636B (zh) 一种数据同步方法及装置
CN101510281A (zh) 确定成本计算步骤的***、方法
US20150082269A1 (en) Cloud server and method for programming three-dimensional measurement of product off-line
KR101542558B1 (ko) 웨이퍼 수율 맵을 분석하는 방법 및 상기 방법을 기록한 기록매체
CN102819237A (zh) 一种实体法铣削仿真过程中仿真目标毛坯的产生方法
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
US20150145866A1 (en) Method and apparatus for graphical processing unit (gpu) accelerated large-scale web community detection
CN104598384A (zh) 代码检测方法及装置
CN106156786B (zh) 基于多gpu的随机森林训练方法
US20210334426A1 (en) Section measurement system
CN105808318B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20161109