CN104867177A - Parallel collision detection method based on bounding box tree method - Google Patents

Parallel collision detection method based on bounding box tree method Download PDF

Info

Publication number
CN104867177A
CN104867177A CN201410836384.0A CN201410836384A CN104867177A CN 104867177 A CN104867177 A CN 104867177A CN 201410836384 A CN201410836384 A CN 201410836384A CN 104867177 A CN104867177 A CN 104867177A
Authority
CN
China
Prior art keywords
bounding
node
volumetree
bounding box
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
Application number
CN201410836384.0A
Other languages
Chinese (zh)
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.)
Shanghai Dianji University
Original Assignee
Shanghai Dianji University
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 Shanghai Dianji University filed Critical Shanghai Dianji University
Priority to CN201410836384.0A priority Critical patent/CN104867177A/en
Publication of CN104867177A publication Critical patent/CN104867177A/en
Pending legal-status Critical Current

Links

Landscapes

  • Image Analysis (AREA)

Abstract

The invention relates to a parallel collision detection method based on a bounding box tree method. When collision detection is carried out on two objects, a bounding box method is firstly added for collision detection, detection of a next step does not need to be carried out in the case of no collision, and in the case of collision, precise collision detection is carried out on the two objects. When precise collision detection is carried out on the two objects, a parallel idea is introduced, and parallel collision detection is realized. Collision detection between the two objects is converted into parallel collision detection among a series of tetrahedrons. On the premise of ensuring high precision, real-time collision detection requirements can be effectively met, the detection efficiency is improved, and the defect that common collision detection algorithm can only be applied to convex polyhedrons can be solved.

Description

A kind of method for detecting parallel collision based on bounding volumetree method
Technical field
The present invention relates to a kind of collision checking method, more particularly, the present invention relates to a kind of method for detecting parallel collision based on bounding volumetree method.
Background technology
In virtual reality, user feels that virtual objects should exist " truly ", and such as aircraft can not be ridden through a mountain, and when user beats stone by virtual hand, virtual hand should through stone etc.This requires virtual reality system must judge whether there occurs collision between dummy object in real time, accurately.Collision problem relates to collision detection and collision response two aspects, and wherein collision detection is used for detecting between different object whether there occurs collision.Accurate collision detection is to the authenticity, the credibility that improve emulation, and the feeling of immersion strengthening virtual environment has vital effect, and the complicacy of virtual environment self and real-time are also had higher requirement to collision detection.Collision detection algorithm can be divided into spatial decomposition method and the large class of layering bounding volume method two generally, the former is the little cell whole Virtual Space being divided into equal volume, only carries out intersecting calculating to the geometric object having occupied same cell or adjacent cells lattice.More typical example has: Octree, k-d tree, BSP tree etc.The feature of these class methods is: method is complicated, precision is high.Method for detecting parallel collision just belongs to this class.The core concept of layering bounding box is bigger with volume and the simple bounding box of geometrical property describes complicated geometric object approx, thus by judging bounding box whether overlap carrys out guestimate two detected object whether collide, in addition can approach geometric model step by step by structure tree hierarchy, improve accuracy of detection.Layering bounding box, because its method is simple, efficiency is relatively high, is also a kind of collision checking method of widespread use.
Self also there are some problems in above-mentioned collision checking method: as diapirism and omission situation etc. in detection.Collision checking method between traditional many objects is general comparatively complicated, can not meet the requirement of real-time, be unfavorable for that collision detection realizes fast.Based on the spatial decomposition method of compartition technology, the key factor affecting the method efficiency is the number of subregion, and the more difficult assurance of the number of subregion.During geometrical interference problem between the framework that solving collision detects of Octree and other geometric model, method efficiency can not be increased substantially.Layering Box technology is adopted to accelerate the collision detection of polyhedron scene, but general bounding volume method method integrally, accuracy of detection is low, and efficiency raising is also not obvious.Therefore be necessary to propose a kind of can be in addition comprehensive by the advantage of two class detection methods, the collision checking method that accuracy of detection and efficiency are all significantly increased.
Summary of the invention
Technical matters to be solved by this invention is based on this two classes collision checking method, and the advantage of comprehensive two class collision checking methods, draws the method for detecting parallel collision in conjunction with bounding box of improvement.
In order to realize above-mentioned technical purpose, providing a kind of method for detecting parallel collision based on bounding volumetree method, comprising the steps:
Step S1: two objects whether collided to be detected are provided;
Step S2: the bounding box setting up each described object entirety, described bounding box is as the root node of the bounding volumetree of described object;
Step S3: utilize the plane vertical with local coordinate axle that described bounding box is divided into two sub-bounding boxs, i.e. left bounding box and right bounding box, to form two child nodes of root node, i.e. left child node and right child node;
Step S4: described two child nodes obtained above-mentioned steps recursively perform the cutting procedure of described bounding box respectively, to obtain final bounding volumetree, and the number of geometric element that the given maximal tree degree of depth and leaf node comprise;
Step S5: the present node of the described bounding volumetree of two objects above-mentioned steps obtained detects between any two, judges whether to collide, if collide, turns to step S6, otherwise turns to step S7;
Step S6: if described current node is leafy node, writes down this node, return, and whether detection collides; If described current node is not leafy node, then get the current node of all child nodes as described bounding volumetree of described current node, recurrence performs step S5;
Step S7: if described current node is without the sibling do not detected, show not collide, after writing down described current node, return; The sibling do not detected if still have, then successively using the current node of lower described sibling as described bounding volumetree; Recurrence performs step S5.
As preferably, described two objects under test, for can be divided into multiple tetrahedron, have correlativity between described tetrahedron.
As preferably, detecting the detection method whether collided in described step S6 is spatial decomposition method.
As preferably, described spatial decomposition method is Octree algorithm or k-d (k-dimensional) tree algorithm or BSP (Binary Space Partioning trees, two-dimensional space is split) tree algorithm.
As preferably, described bounding box is that AABB bounding box (Axis Aligned Bounding Box, rectangular box) or oriented bounding box or fixed direction hull enclose box or encircle sphere.
As preferably, the outlet designing described step S4 is that depth of recursion has exceeded the described given maximal tree degree of depth.
As preferably, the outlet designing described step S4 for primitive geometric element number that described child node comprises be less than described given leaf node comprise the minimum value of geometric element number.
As preferably, the outlet designing described step S4 is differed below 10 by geometric element number that described left and right child node has at least one to comprise comprises geometric element number with its father node.
As preferably, each node of described bounding volumetree comprises two subobjects, is respectively polyhedron subobject and bounding box subobject.
Compared with prior art, the invention has the beneficial effects as follows: the present invention is when doing collision detection to two objects, and the method first increasing bounding box carries out collision detection, collide if there is not, just detecting without the need to doing next step, if collided, then doing two object collision detection of high precisions.When doing collision detection of high precision to two objects, introducing parallel thought, achieving Parallel Collision and detecting.Parallel Collision collision detection between two objects be converted into thus between serial tetrahedron detects, under the high-precision precondition of guarantee, effectively meet the requirement of real time of collision detection, improve detection efficiency, also solve the deficiency that general collision detection algorithm is only applicable to convex polyhedron simultaneously.
Embodiment
In order to make content of the present invention clearly with understandable, below in conjunction with specific embodiment, content of the present invention is described in detail.
The invention provides a kind of method for detecting parallel collision based on bounding volumetree method, comprise the steps:
Step 1: two objects whether collided to be detected are provided, described object is complicated polyhedron;
Step 2: the bounding box setting up each described object entirety, described bounding box is as the root node of the bounding volumetree of described object;
Step 3: utilize the plane vertical with local coordinate axle that described bounding box is divided into two sub-bounding boxs, i.e. left bounding box and right bounding box, to form two child nodes of root node, i.e. left child node and right child node;
Step 4: described two child nodes obtained above-mentioned steps recursively perform the cutting procedure of described bounding box respectively, to obtain final bounding volumetree, and the number of geometric element that the given maximal tree degree of depth and leaf node comprise;
Step 5: the present node of the described bounding volumetree of two objects above-mentioned steps obtained detects between any two, judges whether to collide, if collide, turns to step 6, otherwise turns to step 7;
Step 6: if described current node is leafy node, writes down this node, return, and whether detection collides; If described current node is not leafy node, then get the current node of all child nodes as described bounding volumetree of described current node, recurrence performs step 5;
Step 7: if described current node is without the sibling do not detected, show not collide, after writing down described current node, return; The sibling do not detected if still have, then successively using the current node of lower described sibling as described bounding volumetree; Recurrence performs step 5.
Preferably, described two objects under test are for can be divided into multiple tetrahedron, between described tetrahedron, there is correlativity, and correlativity is lower, by the collision detection between two complicated objects, the Parallel Collision be converted between serial tetrahedron detects thus, under the high-precision precondition of guarantee, effectively meet the requirement of real time of collision detection, also solve the deficiency that general collision detection algorithm is only applicable to convex polyhedron simultaneously.
Preferably, detecting the detection method whether collided in described step 6 is spatial decomposition method, and the detection of spatial decomposition method is more accurate.
Preferably, described spatial decomposition method is Octree algorithm or k-d tree algorithm or BSP tree algorithm.
Preferably, described bounding box is that AABB bounding box or oriented bounding box or fixed direction hull enclose box or encircle sphere.
Preferably, the outlet designing described step 4 is that depth of recursion has exceeded the described given maximal tree degree of depth.
Preferably, the outlet designing described step 4 for primitive geometric element number that described child node comprises be less than described given leaf node comprise the minimum value of geometric element number.
Preferably, the outlet designing described step 4 is differed below 10 by geometric element number that described left and right child node has at least one to comprise comprises geometric element number with its father node.
Preferably, each node of described bounding volumetree comprises two subobjects, is respectively polyhedron subobject and bounding box subobject, and polyhedron subobject is used for accurate collision detection, and bounding box subobject is used for quick, rough detection.
Be understandable that, although the present invention with preferred embodiment disclose as above, but above-described embodiment and be not used to limit the present invention.For any those of ordinary skill in the art, do not departing under technical solution of the present invention ambit, the technology contents of above-mentioned announcement all can be utilized to make many possible variations and modification to technical solution of the present invention, or be revised as the Equivalent embodiments of equivalent variations.Therefore, every content not departing from technical solution of the present invention, according to technical spirit of the present invention to any simple modification made for any of the above embodiments, equivalent variations and modification, all still belongs in the scope of technical solution of the present invention protection.

Claims (9)

1. based on a method for detecting parallel collision for bounding volumetree method, it is characterized in that, comprise the steps:
Step (S1): two objects whether collided to be detected are provided;
Step (S2): the bounding box setting up each described object entirety, described bounding box is as the root node of the bounding volumetree of described object;
Step (S3): utilize the plane vertical with local coordinate axle that described bounding box is divided into two sub-bounding boxs, i.e. left bounding box and right bounding box, to form two child nodes of root node, i.e. left child node and right child node;
Step (S4): described two child nodes obtained above-mentioned steps recursively perform the cutting procedure of described bounding box respectively, to obtain final bounding volumetree, and the number of geometric element that the given maximal tree degree of depth and leaf node comprise;
Step (S5): the present node of the described bounding volumetree of two objects above-mentioned steps obtained detects between any two, judge whether to collide, if collide, perform step (S6), otherwise perform step (S7);
Step (S6): if described current node is leafy node, writes down this node, return, and whether detection collides; If described current node is not leafy node, then get the current node of all child nodes as described bounding volumetree of described current node, recurrence performs step (S5);
Step (S7): if described current node is without the sibling do not detected, show not collide, after writing down described current node, return; The sibling do not detected if still have, shows to collide, then successively using the current node of lower described sibling as described bounding volumetree; Recurrence performs step (S5).
2. the method for detecting parallel collision based on bounding volumetree method according to claim 1, is characterized in that, described two objects under test, for can be divided into multiple tetrahedron, have correlativity between described tetrahedron.
3. the method for detecting parallel collision based on bounding volumetree method according to claim 1, is characterized in that, the detection method that in described step (S6), whether detection collides is spatial decomposition method.
4. the method for detecting parallel collision based on bounding volumetree method according to claim 2, is characterized in that, described spatial decomposition method is Octree algorithm or k-d tree algorithm or BSP tree algorithm.
5. the method for detecting parallel collision based on bounding volumetree method according to claim 1, is characterized in that, described bounding box is that AABB bounding box or oriented bounding box or fixed direction hull enclose box or encircle sphere.
6. the method for detecting parallel collision based on bounding volumetree method according to claim 1, is characterized in that, the outlet designing described step (S4) is that depth of recursion has exceeded the described given maximal tree degree of depth.
7. the method for detecting parallel collision based on bounding volumetree method according to claim 1, it is characterized in that, the outlet designing described step (S4) for primitive geometric element number that described child node comprises be less than described given leaf node comprise the minimum value of geometric element number.
8. the method for detecting parallel collision based on bounding volumetree method according to claim 1, it is characterized in that, the outlet designing described step (S4) is differed below 10 by geometric element number that described left and right child node has at least one to comprise comprises geometric element number with its father node.
9. the method for detecting parallel collision based on bounding volumetree method according to claim 1, is characterized in that, each node of described bounding volumetree comprises two subobjects, is respectively polyhedron subobject and bounding box subobject.
CN201410836384.0A 2014-12-23 2014-12-23 Parallel collision detection method based on bounding box tree method Pending CN104867177A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410836384.0A CN104867177A (en) 2014-12-23 2014-12-23 Parallel collision detection method based on bounding box tree method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410836384.0A CN104867177A (en) 2014-12-23 2014-12-23 Parallel collision detection method based on bounding box tree method

Publications (1)

Publication Number Publication Date
CN104867177A true CN104867177A (en) 2015-08-26

Family

ID=53912991

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410836384.0A Pending CN104867177A (en) 2014-12-23 2014-12-23 Parallel collision detection method based on bounding box tree method

Country Status (1)

Country Link
CN (1) CN104867177A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105469406A (en) * 2015-11-30 2016-04-06 东北大学 Bounding box and space partitioning-based virtual object collision detection method
CN106096082A (en) * 2016-05-24 2016-11-09 国网安徽省电力公司宿州供电公司 A kind of based on deblocking and the collision checking method of parallel processing
CN106197928A (en) * 2016-06-30 2016-12-07 哈尔滨理工大学 A kind of bounding box collision checking method based on virtual ball
CN106599514A (en) * 2016-12-29 2017-04-26 安徽中科超安科技有限公司 Non-associative multi-level space division tree-based Monte Carlo facet geometric processing method
CN109669538A (en) * 2018-12-05 2019-04-23 中国航天员科研训练中心 One kind in virtual reality compound movement constraint under grasping body exchange method
CN111062980A (en) * 2019-11-22 2020-04-24 西安理工大学 Soft body collision detection method
CN114536342A (en) * 2022-03-23 2022-05-27 宁波睿达医疗器械有限公司 Multi-arm system and inter-arm collision avoidance control method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101739713A (en) * 2008-11-14 2010-06-16 上海电机学院 Method for detecting parallel collision based on subdivision
CN102446122A (en) * 2011-12-21 2012-05-09 上海电机学院 Collision detection method based on bounding volume tree
CN102982375A (en) * 2012-11-16 2013-03-20 上海电机学院 Parallel collision detection system and method based on genetic algorithm

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101739713A (en) * 2008-11-14 2010-06-16 上海电机学院 Method for detecting parallel collision based on subdivision
CN102446122A (en) * 2011-12-21 2012-05-09 上海电机学院 Collision detection method based on bounding volume tree
CN102982375A (en) * 2012-11-16 2013-03-20 上海电机学院 Parallel collision detection system and method based on genetic algorithm

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
熊玉梅 等: "基于并行的快速碰撞检测算法的研究", 《计算机应用与软件》 *
熊玉梅: "一种基于多面体剖分的快速并行碰撞检测算法", 《上海电机学院学报》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105469406A (en) * 2015-11-30 2016-04-06 东北大学 Bounding box and space partitioning-based virtual object collision detection method
CN105469406B (en) * 2015-11-30 2018-05-04 东北大学 A kind of dummy object collision checking method based on bounding box and space division
CN106096082A (en) * 2016-05-24 2016-11-09 国网安徽省电力公司宿州供电公司 A kind of based on deblocking and the collision checking method of parallel processing
CN106197928A (en) * 2016-06-30 2016-12-07 哈尔滨理工大学 A kind of bounding box collision checking method based on virtual ball
CN106599514A (en) * 2016-12-29 2017-04-26 安徽中科超安科技有限公司 Non-associative multi-level space division tree-based Monte Carlo facet geometric processing method
CN106599514B (en) * 2016-12-29 2018-04-20 安徽中科超安科技有限公司 A kind of Monte Carlo dough sheet geometric manipulations method based on dereferenced multistage space cut tree
CN109669538A (en) * 2018-12-05 2019-04-23 中国航天员科研训练中心 One kind in virtual reality compound movement constraint under grasping body exchange method
CN109669538B (en) * 2018-12-05 2021-06-04 中国航天员科研训练中心 Object grabbing interaction method under complex motion constraint in virtual reality
CN111062980A (en) * 2019-11-22 2020-04-24 西安理工大学 Soft body collision detection method
CN114536342A (en) * 2022-03-23 2022-05-27 宁波睿达医疗器械有限公司 Multi-arm system and inter-arm collision avoidance control method thereof

Similar Documents

Publication Publication Date Title
CN104867177A (en) Parallel collision detection method based on bounding box tree method
US8014568B2 (en) Method for computer-aided identification of the child octants of a parent octant, which are intersected by a beam, in an octree data structure by means of look-up tables
CN104658033B (en) Global illumination method for drafting and device under multiple light courcess
CN110020620A (en) Face identification method, device and equipment under a kind of big posture
CN106168797B (en) A kind of method that modularization obtains the useful item failure probability of nuclear power station fault tree
CN104361624B (en) The rendering intent of global illumination in a kind of electronic 3-D model
CN105488847B (en) The single grade of single power wire three-dimensional rebuilding method based on airborne laser radar point cloud
CN113689556A (en) Block self-adaptive Cartesian grid quick map mapping method and system
CN105844602A (en) Airborne LIDAR point cloud 3D filtering method based on volume elements
CN104183021B (en) A kind of method of utilizing removable space lattice to simplify cloud data
CN106844610A (en) A kind of distributed structured three-dimensional point cloud image processing method and system
CN106599514B (en) A kind of Monte Carlo dough sheet geometric manipulations method based on dereferenced multistage space cut tree
CN107341804A (en) Determination method and device, image superimposing method and the equipment of cloud data midplane
CN103049341A (en) Oriented bounding box (OBB) layer body tree collision detection method with anticipating method
Bannister et al. Windows into geometric events: Data structures for time-windowed querying of temporal point sets
Akagi et al. A resolution reduction method for multi-resolution terrain maps
CN104572588B (en) Matrix inversion process method and apparatus
CN116310060B (en) Method, device, equipment and storage medium for rendering data
CN104867129A (en) Light field image segmentation method
CN103065306A (en) Processing method and device of graphic data
CN102663789A (en) Method for performing triangularization on polygon containing holes and islands in two-dimensional plane
Wenzel et al. Accelerating navigation in the VecGeom geometry modeller
CN112614226A (en) Point cloud multi-view feature fusion method and device
Poncelet et al. Sandpile probabilities on triangular and hexagonal lattices
Zhou et al. An improved algorithm to convert CAD model to MCNP geometry model based on STEP file

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate 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: 20150826