CN102446122A - Collision detection method based on bounding volume tree - Google Patents

Collision detection method based on bounding volume tree Download PDF

Info

Publication number
CN102446122A
CN102446122A CN2011104337932A CN201110433793A CN102446122A CN 102446122 A CN102446122 A CN 102446122A CN 2011104337932 A CN2011104337932 A CN 2011104337932A CN 201110433793 A CN201110433793 A CN 201110433793A CN 102446122 A CN102446122 A CN 102446122A
Authority
CN
China
Prior art keywords
node
bounding box
tree
bcollide
collision
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
CN2011104337932A
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 CN2011104337932A priority Critical patent/CN102446122A/en
Publication of CN102446122A publication Critical patent/CN102446122A/en
Pending legal-status Critical Current

Links

Images

Abstract

The invention provides a collision detection method based on a bounding volume tree, which performs detection from the root portion to the branch extreme end and includes that: step a building the bounding volume tree of two objects; step b obtaining current nodes of the bounding volume tree of the two objects for performing detection with two nodes as a group, judging whether the two nodes collide, and turning to step c if collision happens, otherwise, turning to step d; step c judging whether the current nodes are leaf nodes, recording the nodes if the current nodes are leaf nodes, returning and performing accurate detection to determine whether collision really happens, otherwise, taking all sub nodes of the current nodes as the current nodes of the tree and recursively executing the step b; and step d calculating node information including 'nearest distance', 'speed' and 'whether nodes are collided' if the current nodes do not contain undetected brother nodes and returning, otherwise, sequentially taking next brother nodes as the current nodes of the tree and recursively executing the step b. A method for performing detection from the branch extreme end to the root portion is further provided.

Description

A kind of collision checking method based on the bounding box tree
Technical field
The present invention relates to collision checking method, particularly relate to a kind of collision checking method based on the bounding box tree.
Background technology
Collision problem receives more concern for many years always, and collision checking method all has application promise in clinical practice at computational geometry, computer animation, CAD/CAM in the fields such as emulated robot and virtual reality.
Nearly two during the last ten years, and the researchist has done considerable significant work in the collision detection field, proposes some comparatively ripe methods, generally these methods is divided into two big types: geometry decomposition method and layering bounding box method.The former is the little cell that whole Virtual Space is divided into equal volume, only the geometric object of having occupied same cell or adjacent cells lattice is intersected calculating.More typical example has: Octree, k-d tree, BSP tree etc.The characteristics of these class methods are: method is complicated, precision is high.The core concept of layering bounding box is that the simple bounding box of geometrical property describes approx complicated geometric object with volume is bigger; Thereby come guestimate two detected objects whether to collide through judging that bounding box is whether overlapping; Can approach geometric model step by step through the structure tree hierarchy in addition, improve accuracy of detection.The layering bounding box becomes a kind of collision checking method that is widely used because its method is simple, efficient is high relatively.
But also there are some problems in existing dynamic collision checking method, as piercing through in detecting and omission etc.In addition, the general time complexity of collision checking method between traditional many objects is O (n2), can not satisfy the requirement of real-time, is unfavorable for the collision detection Rapid Realization.How much decomposition methods based on the space segmentation technology are held owing to number of partitions is difficult, and efficient is not high.Octree and other geometric model can not increase substantially efficient yet when the geometrical interference problem that solves between the framework of collision detection.Although also can adopt layering bounding box technology to quicken the collision detection of object scene, general bounding box method is as a holistic approach, and accuracy of detection is low, and efficient improves and is not obvious.
Summary of the invention
The objective of the invention is to overcome the deficiency of prior art, a kind of collision checking method of setting based on bounding box fast is provided.
For achieving the above object, the present invention adopts following technical scheme:
The present invention at first provides a kind of collision checking method based on the bounding box tree, detects to the branch least significant end from usage tree root, comprises following steps:
Step a: the bounding box tree of setting up two objects; This step a specifically comprises:
Step a1: set up the bounding box of whole object, this bounding box is as the root node of the bounding box tree of this object;
Step a2: utilize the plane vertical that above-mentioned bounding box is divided into two sub-bounding boxs to form two node of root node with the local coordinate axle; When the basic geometric element number that comprises when all child nodes is less than given in advance leaf node and comprises the minimum value of geometric element number; Turn to step b, otherwise turn to step a3;
Step a3: two node that obtain among the step a2 are recursively carried out the cutting procedure of above-mentioned bounding box respectively, when depth of recursion has surpassed the given in advance maximal tree degree of depth, turn to step b, otherwise continue to hold to step a2;
Step b: the current node of getting the bounding box tree of said two objects detects between any two, judges whether to bump, if bump, turns to step c, if do not have collision, turns to steps d;
Step c: judge whether current node is leafy node, if accurately detect and determine whether really to bump; And upgrade according to testing result and to comprise " minimum distance "; Whether " speed ", " colliding " is at interior nodal information, and record " minimum distance " path in search tree; Write down this node, return; If not leafy node is then got the current node of its all child node as this tree, recurrence execution in step b;
Steps d: if the sibling that current node does not detect do not show not bump, then calculate and comprise " minimum distance ", " speed ", whether " colliding " at interior nodal information, write down current node after, return; If also have the sibling that does not detect, then will descend the current node of sibling successively, recurrence execution in step b as this tree.
Further, among the said step b, when current node was detected between any two, system can be according to the order of priority chained list, the collision situation of inspected object between in twos successively, and this priority chained list obtains according to pri function P, and P is following for this pri function:
P ( bCollide , V , D min ) = 1 bCollide = 0 V D min bCollide = 0 , D min Length 1 + Length 2 < 0.5 - 1 + V D min bCollide = 0 , D min Length 1 + Length 2 > 0.5
V=D min(k-1)-D min(k-2)
P is bCollide, V, D MinFunction, whether bCollide representes that detected last time and bumps; Represent during bCollide=1 to bump, do not bump during bCollide=0; D MinBe the distance between the two articles closest approach that calculated during collision detection last time; V representes the object speed of last time during collision detection, the value of V be preceding once with the difference of preceding twice minimum distance; Length1 and Length2 are respectively the mean breadth of two articles, i.e. the mean value of length; Ratio
Figure BDA0000123108220000032
Physical meaning be the relative distance between two articles.
Further, when P can abandon the detection of this node during less than predetermined value, and abandoned the number of times that detects through this node of counter C record, if counter C has surpassed preset value, then system detects this node, and with counter O reset.
The present invention also provides a kind of collision checking method based on the bounding box tree, detects to usage tree root from the branch least significant end, comprises following steps:
Step e: the bounding box tree of setting up two objects; This step e specifically comprises:
Step e1: set up the bounding box of whole object, this bounding box is as the root node of the bounding box tree of this object;
Step e2: utilize the plane vertical that above-mentioned bounding box is divided into two sub-bounding boxs to form two node of root node with the local coordinate axle; When the basic geometric element number that comprises when all child nodes is less than given in advance leaf node and comprises the minimum value of geometric element number; Turn to step f, otherwise turn to step e3;
Step e3: two node that obtain among the step e2 are recursively carried out the cutting procedure of above-mentioned bounding box respectively, when depth of recursion has surpassed the given in advance maximal tree degree of depth, turn to step f, otherwise continue to hold to step e2;
Step f: will detect the node that bumps, as current node;
Whether step g: detect current node and bump, like generation, then method finishes to return, if do not have collision, turns to step h;
Step h: the brotgher of node to present node is carried out collision detection, if bump, then method finishes; If do not bump, then with father node as present node, get into the higher level of bounding box tree, and change step g over to.
Further, in the said step g, when current node was detected between any two, system can be according to the order of priority chained list, the collision situation of inspected object between in twos successively, and this priority chained list obtains according to pri function P, and P is following for this pri function:
P ( bCollide , V , D min ) = 1 bCollide = 0 V D min bCollide = 0 , D min Length 1 + Length 2 < 0.5 - 1 + V D min bCollide = 0 , D min Length 1 + Length 2 > 0.5
V=D min(k-1)-D min(k-2)
P is bCollide, V, D MinFunction, whether bCollide representes that detected last time and bumps; Represent during bCollide=1 to bump, do not bump during bCollide=0; D MinBe the distance between the two articles closest approach that calculated during collision detection last time; V representes the object speed of last time during collision detection, the value of V be preceding once with the difference of preceding twice minimum distance; Length1 and Length2 are respectively the mean breadth of two articles, i.e. the mean value of length; Ratio
Figure BDA0000123108220000052
Physical meaning be the relative distance between two articles.
Further, when P can abandon the detection of this node during less than predetermined value, and abandoned the number of times that detects through this node of counter C record, if counter C has surpassed preset value, then system detects this node, and with counter O reset.
Further; The root node of the usage tree root of object can have time-out count device Cr; The search that every pair of this object carries out once from bottom to top just adds one with the value of counter Cr; If the value of counter Cr surpasses preset definite value, just this object is carried out from the method for usage tree root to the detection of branch least significant end.
Another collision checking method based on the bounding box tree of the present invention detects to usage tree root from the branch least significant end, comprises following steps:
Step I: will be according to " minimum distance " path of this object being carried out generate from the method that usage tree root detects to the branch least significant end, two nodes of selecting to have " minimum distance " at the bottom of two articles are as present node;
Whether step j: detect current node and bump, like generation, then method finishes to return, if do not have collision, turns to step I;
Step k: the brotgher of node to present node is carried out collision detection, if bump, then method finishes; If do not bump, then with father node as present node, get into the higher level of bounding box tree, and change step j over to.
Further, among the said step j, when current node was detected between any two, system can be according to the order of priority chained list, the collision situation of inspected object between in twos successively, and this priority chained list obtains according to pri function P, and P is following for this pri function:
P ( bCollide , V , D min ) = 1 bCollide = 0 V D min bCollide = 0 , D min Length 1 + Length 2 < 0.5 - 1 + V D min bCollide = 0 , D min Length 1 + Length 2 > 0.5
V=D min(k-1)-D min(k-2)
P is bCollide, V, D MinFunction, whether bCollide representes that detected last time and bumps; Represent during bCollide=1 to bump, do not bump during bCollide=0; D MinBe the distance between the two articles closest approach that calculated during collision detection last time; V representes the object speed of last time during collision detection, the value of V be preceding once with the difference of preceding twice minimum distance; Length1 and Length2 are respectively the mean breadth of two articles, i.e. the mean value of length; Ratio
Figure BDA0000123108220000062
Physical meaning be the relative distance between two articles.
Further, when P can abandon the detection of this node during less than predetermined value, and abandoned the number of times that detects through this node of counter C record, if counter C has surpassed preset value, then system detects this node, and with counter O reset.
Further; The root node of the usage tree root of object can have time-out count device Cr; The search that every pair of this object carries out once from bottom to top just adds one with the value of counter Cr; If the value of counter Cr surpasses preset definite value, just this object is carried out from the method for usage tree root to the detection of branch least significant end.
The invention has the beneficial effects as follows:
(1) through optimizing AABB bounding box storage organization, on the bounding box node, increases information such as " minimum distance last time ", " speed ", " whether colliding ", dynamic space-time information such as colliding part, collision degree, relative velocity are provided.
(2) through in the bounding box tree, setting up the multilevel precedence strategy, improve collision detection speed, adapted to the needs of dynamic collision detection, significantly improved detection efficiency.
(3) generation of omission has effectively been avoided in the introducing of time-out count device, and accuracy of detection can adapt to according to system loading automatically, is guaranteeing to satisfy the real-time requirement of collision detection effectively under the high precision prerequisite.
Description of drawings
Accompanying drawing 1 is the synoptic diagram of axle alignment bounding box.
Accompanying drawing 2 is the synoptic diagram that surround ball.
Accompanying drawing 3 is synoptic diagram of direction bounding box.
Accompanying drawing 4 is synoptic diagram of discrete direction polyhedron bounding box.
Accompanying drawing 5 is synoptic diagram of the bounding box set up of the present invention.
Accompanying drawing 6 is synoptic diagram of the collision detection priority chained list set up of the present invention.
Accompanying drawing 7 is the synoptic diagram in minimum distance of the present invention path.
Embodiment
Provide a kind of embodiment of the present invention below in conjunction with accompanying drawing.
Bounding box is widely used as the reasonable collision detection means of generally acknowledging.Whether the core concept of bounding box method is to describe approx complicated geometric object with the bigger and simple bounding box of geometrical property of volume, thereby come guestimate two detected objects to collide through judging that bounding box is whether overlapping.Because apart from each other between the voluminous object in the virtual environment, therefore, it is right that this method can be screened the object that does not bump in a large number, thereby accelerate the speed of collision detection.Can select suitable bounding box as required for use during use.More typical bounding box; Axle alignment bounding box AABB along coordinate axis is arranged; Be cube bounding box (shown in accompanying drawing 1), surround ball (shown in accompanying drawing 2), direction bounding box OBB (shown in accompanying drawing 3) and discrete direction polyhedron k-dop bounding box (shown in accompanying drawing 4).The AABB bounding box makes at most with the most use in the history of collision detection, and it is all quite simple at aspects such as the generation of bounding box, crossing detections, and can not rotate with besieged object, so update method is also very simple.
In addition, construct the geometric model that tree-shaped hierarchical structure can more and more be approached object, until the geometrical property that almost completely obtains object.A complex object is made up of a lot of how much subdivisions usually; Can further obtain the bounding box of these how much subdivisions; These subdivisions can recursively be made up of littler part again, therefore can the bounding box of object and subdivision thereof be organized into hierarchical structure tree (for example being organized into a binary tree), and the root node of this tree is the bounding box of object; Leaf node is how much yuan (like tetrahedrons) that constitute each subdivision of object, and intermediate node is then corresponding to the bounding box of subdivisions at different levels.If it is proper that this hierarchical structure is organized, further acceleration detection method then.
On this basis, the present invention proposes a kind of collision checking method based on the bounding volume hierarchy tree, and what the bounding box tree was selected for use is the AABB bounding box.Bounding volume hierarchy tree method of the present invention is expressed as the basis with the polyhedral B-rep solid model of object; Detail record constitutes the geological information and the interconnected relationship (being topology information) thereof of all geometric elements of object; So that direct access constitutes the defined parameters on each face, limit and each summit of object, helping with face, limit, point is that various geometric operations and operation are carried out in the basis; And information such as distance between colliding part, object, speed are provided.Bounding volume hierarchy tree method of the present invention can be got rid of disjoint object fast.
The present invention is based on above-mentioned bounding volume hierarchy tree method and designed two kinds of searching methods: first kind is top-down searching method; Promptly successively search for to the branch least significant end from usage tree root; This method can realize the accurate Calculation of collision detection, and information such as distance between colliding part, object, speed can be provided; Second kind is searching method from bottom to top, promptly successively searches for to usage tree root from the branch least significant end, is primarily aimed at the situation that last time detection has bumped, and purpose is to judge whether collision fast, and second method is avoided many unnecessary detections to a great extent.
At first bounding volume hierarchy tree method of the present invention is explained below, then to explaining respectively based on two kinds of searching methods of this bounding volume hierarchy tree method.
Set the bounding volume hierarchy tree method of the present invention of explaining with the bounding box of setting up two objects.Can be with reference to figure 5, bounding volume hierarchy tree method specifically comprises:
Step a1: set up the bounding box of whole object, this bounding box is as the root node of the bounding box tree of this object;
Step a2: utilize the plane vertical that above-mentioned bounding box is divided into two sub-bounding boxs to form two node of root node with the local coordinate axle; When the basic geometric element number that comprises when all child nodes is less than given in advance leaf node and comprises the minimum value of geometric element number; Turn to step b, otherwise turn to step a3;
Step a3: two node that obtain among the step a2 are recursively carried out the cutting procedure of above-mentioned bounding box respectively, when depth of recursion has surpassed the given in advance maximal tree degree of depth, turn to step b, otherwise continue to hold to step a2.
Suitable end condition is quite important for recursive procedure.For this reason, the present invention has designed following three outlets for the process of above-mentioned recurrence establishment bounding box tree:
1. depth of recursion has surpassed the given in advance maximal tree degree of depth;
2. the basic geometric element number that child node comprised is less than the minimum value that given in advance leaf node comprises the geometric element number;
3. left and right child node has at least a geometric element number that comprises to approach its father node to comprise the geometric element number.Because divide again after this step and go down to lose meaning.
As shown in Figure 5, each node of bounding box tree comprises two sub-objects: polyhedron subobject and bounding box subobject.The polyhedron subobject is used for accurate collision detection, and the bounding box subobject is used for quick, rough detection." minimum distance last time " represented this node in last distance apart from another object closest approach when once making collision detection with another object, can with on this node place bounding box and another object between certain bounding box apart from approximate representation " minimum distance last time "." speed last time " has write down the speed of related movement between two articles, i.e. the rate of change of " minimum distance last time ".The calculating of " last time minimum distance, speed, whether collide " can provide the priority foundation of collision detection, thereby further optimizes collision checking method.On the other hand, system can judge whether the scope of carrying out collision detection and detecting according to the current load of machinery systems of priority and system of collision detection.For example, two apart from each others are arranged and the very slow object of relative motion, and the load of system is very heavy at this moment, then there is no need to carry out collision detection fully.
First kind of top-down searching method; The method of promptly successively searching for to the branch least significant end from usage tree root; Be suitable for the object that before do not bump, can realize the accurate Calculation of collision detection, and information such as distance between colliding part, object, speed can be provided; This method in layer detects from tree root, and key step is following:
Step a: set up the bounding box tree of two objects, concrete steps such as above-mentioned;
Step b: the current node of getting the bounding box tree of said two objects detects between any two, judges whether to bump, if bump, turns to step c, if do not have collision, turns to steps d;
Step c: judge whether current node is leafy node, if accurately detect and determine whether really to bump; And upgrade according to testing result and to comprise " minimum distance "; Whether " speed ", " colliding " is at interior nodal information, and record " minimum distance " path in search tree; Write down this node, return; If not leafy node is then got the current node of its all child node as this tree, recurrence execution in step b;
Steps d: if the sibling that current node does not detect do not show not bump, then calculate and comprise " minimum distance ", " speed ", whether " colliding " at interior nodal information, write down current node after, return; If also have the sibling that does not detect, then will descend the current node of sibling successively, recurrence execution in step b as this tree.
Said accurate detection just is meant does detection to two objects, and method is identical with detecting two bounding boxs, no longer gives unnecessary details here.Because the bounding box method is equivalent to object has been added a bounding box; Enlarged the original; So bounding box detects and bumps and might not really just bump by object, the box zone that might just add bumps, and therefore also will specifically detect two objects.
After considering that two articles bumps; Can be on the very big probability when detecting in same location detection to this phenomenon of collision next time; The present invention has done certain modification to said method again; Take to search for from down to up the bounding box tree, set two polyhedrons that lowermost layer has minimum distance, carry out collision detection from bounding box." minimum distance " path can be with reference to Fig. 6, and two polyhedrons that have minimum distance on polyhedron a and the polyhedron b are polyhedron a32 and polyhedron b31.This method is suitable for before taking place the object of collision, and concrete steps are following:
Step I: " minimum distance " path that will generate according to first method, two nodes of selecting to have " minimum distance " at the bottom of two articles are as present node;
Whether step j: detect current node and bump, like generation, then method finishes to return, if do not have collision, turns to step I;
Step k: the brotgher of node to present node is carried out collision detection, if bump, then method finishes; If do not bump, then with father node as present node, get into the higher level of bounding box tree, and change step j over to.
The fundamental purpose of second method is to judge it is whether the two articles that preceding one-time detection bumps collides specifically fast.Because this method is the bottom from the bounding box tree, detect the collision back and just withdraw from immediately, therefore can avoid many unnecessary detections to a great extent.
The present invention further, can also set up a collision detection priority chained list except in the bounding box tree, having set up certain priority policy (like above-mentioned first method and second method) between object, as shown in Figure 7.The priority chained list has comprised the combination in twos between all objects.System is according to the order of priority chained list, the collision situation of inspected object between in twos successively, and system also can abandon the detection to some low priority node in the time of suitably.It is following that the present invention defines pri function P:
V=D min(k-1)-D min(k-2)
P ( bCollide , V , D min ) = 1 bCollide = 0 V D min bCollide = 0 , D min Length 1 + Length 2 < 0.5 - 1 + V D min bCollide = 0 , D min Length 1 + Length 2 > 0.5
P is bCollide, V, D MinFunction, whether bCollide representes that detected last time and bumps; Represent during bCollide=1 to bump, do not bump during bCollide=0; D MinBe the distance between the two articles closest approach that calculated during collision detection last time; V representes the object speed of last time during collision detection, the value of V be preceding once with the difference of preceding twice minimum distance; Length1 and Length2 are respectively the mean breadth of two articles, i.e. the mean value of length; Ratio
Figure BDA0000123108220000122
Physical meaning be the relative distance between two articles, for example, the mean breadth of two articles is 10, two articles is at a distance of also being 10, then ratio
Figure BDA0000123108220000123
Distance between the expression two articles has " object is so far away ".
The span of pri function P is [1,1].When pri function P=1, collision has taken place when representing last round of detection, then whether epicycle must detect these two objects and collide; When 0<P<1, do not detect collision when representing last round of the detection but this moment two articles distance very approaching, so in chained list, arrange according to their movement velocity; When P<0, expression two articles apart from each other is also arranged in chained list according to their movement velocity; When P=-1, expression two articles apart from each other, and speed of related movement is zero.
Further, can regulation P just abandon the detection of this node during less than certain predetermined value.The number of times that this node of counter C record is abandoned detecting can be set, if counter C has surpassed preset definite value, then system must detect this node, and with counter O reset.
In addition, above-mentioned second method only is an information of having upgraded part of nodes.For the information that guarantees other node is also upgraded in time; Can also add time-out count device Cr at the root node of representing object; The search that every pair of this object carries out once from bottom to top just adds one with the value of counter Cr; If the value of counter Cr surpasses preset definite value, then can only carry out first method, promptly top-down searching method to this object.
In sum; Collision checking method based on the bounding box tree provided by the present invention; Through optimizing AABB bounding box storage organization; On the bounding box node, increase information such as " minimum distance last time ", " speed ", " whether colliding ", the priority foundation of collision detection is provided, certain priority policy is provided in the bounding box tree, setting up collision detection priority chained list; Collision detection priority chained list has mainly been accomplished the priority arrangement to distance between object, in order to improve collision detection speed.And guaranteed that based on the collision detection searching method of bounding box tree collision detection accomplishes fast and accurately.The generation of omission has been avoided in the introducing of time-out count device again.In the searching method based on bounding box tree, first kind of top-down searching method realized the accurate Calculation of collision detection, and information such as distance between colliding part, object, speed are provided.And second kind of searching method from bottom to top is primarily aimed at the situation that last time detection has bumped, its objective is to judge whether collision fast.Second method is avoided many unnecessary detections to a great extent.
The above only is a preferred implementation of the present invention, should be pointed out that for those skilled in the art, under the prerequisite that does not break away from the present invention's design, can also make some changes, improvement or retouching and also should be regarded as protection scope of the present invention.

Claims (11)

1. the collision checking method based on the bounding box tree detects to the branch least significant end from usage tree root, it is characterized in that this method comprises following steps:
Step a: the bounding box tree of setting up two objects; This step a specifically comprises:
Step a1: set up the bounding box of whole object, this bounding box is as the root node of the bounding box tree of this object;
Step a2: utilize the plane vertical that above-mentioned bounding box is divided into two sub-bounding boxs to form two node of root node with the local coordinate axle; When the basic geometric element number that comprises when all child nodes is less than given in advance leaf node and comprises the minimum value of geometric element number; Turn to step b, otherwise turn to step a3;
Step a3: two node that obtain among the step a2 are recursively carried out the cutting procedure of above-mentioned bounding box respectively, when depth of recursion has surpassed the given in advance maximal tree degree of depth, turn to step b, otherwise continue to hold to step a2;
Step b: the current node of getting the bounding box tree of said two objects detects between any two, judges whether to bump, if bump, turns to step c, if do not have collision, turns to steps d;
Step c: judge whether current node is leafy node, if accurately detect and determine whether really to bump; And upgrade according to testing result and to comprise " minimum distance "; Whether " speed ", " colliding " is at interior nodal information, and record " minimum distance " path in search tree; Write down this node, return; If not leafy node is then got the current node of its all child node as this tree, recurrence execution in step b;
Steps d: if the sibling that current node does not detect do not show not bump, then calculate and comprise " minimum distance ", " speed ", whether " colliding " at interior nodal information, write down current node after, return; If also have the sibling that does not detect, then will descend the current node of sibling successively, recurrence execution in step b as this tree.
2. the collision checking method based on the bounding box tree according to claim 1; It is characterized in that, among the said step b, when current node is detected between any two; System is the order according to the priority chained list; The collision situation of inspected object between in twos successively, this priority chained list obtains according to pri function P, and P is following for this pri function:
P ( bCollide , V , D min ) = 1 bCollide = 0 V D min bCollide = 0 , D min Length 1 + Length 2 < 0.5 - 1 + V D min bCollide = 0 , D min Length 1 + Length 2 > 0.5
V=D min(k-1)-D min(k-2)
P is bCollide, V, D MinFunction, whether bCollide representes that detected last time and bumps; Represent during bCollide=1 to bump, do not bump during bCollide=0; D MinBe the distance between the two articles closest approach that calculated during collision detection last time; V representes the object speed of last time during collision detection, the value of V be preceding once with the difference of preceding twice minimum distance; Length1 and Length2 are respectively the mean breadth of two articles, i.e. the mean value of length; Ratio
Figure FDA0000123108210000022
Physical meaning be the relative distance between two articles.
3. the collision checking method based on the bounding box tree according to claim 2; It is characterized in that; When P abandons the detection of this node during less than predetermined value, and abandoned the number of times that detects, if counter C has surpassed preset value through this node of counter C record; Then system detects this node, and with counter O reset.
4. the collision checking method based on the bounding box tree detects to usage tree root from the branch least significant end, it is characterized in that this method comprises following steps:
Step e: the bounding box tree of setting up two objects; This step e specifically comprises:
Step e1: set up the bounding box of whole object, this bounding box is as the root node of the bounding box tree of this object;
Step e2: utilize the plane vertical that above-mentioned bounding box is divided into two sub-bounding boxs to form two node of root node with the local coordinate axle; When the basic geometric element number that comprises when all child nodes is less than given in advance leaf node and comprises the minimum value of geometric element number; Turn to step f, otherwise turn to step e3;
Step e3: two node that obtain among the step e2 are recursively carried out the cutting procedure of above-mentioned bounding box respectively, when depth of recursion has surpassed the given in advance maximal tree degree of depth, turn to step f, otherwise continue to hold to step e2;
Step f: will detect the node that bumps, as current node;
Whether step g: detect current node and bump, like generation, then method finishes to return, if do not have collision, turns to step h;
Step h: the brotgher of node to present node is carried out collision detection, if bump, then method finishes; If do not bump, then with father node as present node, get into the higher level of bounding box tree, and change step g over to.
5. the collision checking method based on the bounding box tree according to claim 4; It is characterized in that, in the said step g, when current node is detected between any two; System is the order according to the priority chained list; The collision situation of inspected object between in twos successively, this priority chained list obtains according to pri function P, and P is following for this pri function:
P ( bCollide , V , D min ) = 1 bCollide = 0 V D min bCollide = 0 , D min Length 1 + Length 2 < 0.5 - 1 + V D min bCollide = 0 , D min Length 1 + Length 2 > 0.5
V=D min(k-1)-D min(k-2)
P is bCollide, V, D MinFunction, whether bCollide representes that detected last time and bumps; Represent during bCollide=1 to bump, do not bump during bCollide=0; D MinBe the distance between the two articles closest approach that calculated during collision detection last time; V representes the object speed of last time during collision detection, the value of V be preceding once with the difference of preceding twice minimum distance; Length1 and Length2 are respectively the mean breadth of two articles, i.e. the mean value of length; Ratio Physical meaning be the relative distance between two articles.
6. the collision checking method based on the bounding box tree according to claim 5; It is characterized in that; When P abandons the detection of this node during less than predetermined value, and abandoned the number of times that detects, if counter C has surpassed preset value through this node of counter C record; Then system detects this node, and with counter O reset.
7. the collision checking method based on the bounding box tree according to claim 6; It is characterized in that; The root node of the usage tree root of object has time-out count device Cr; The search that every pair of this object carries out once from bottom to top just adds one with the value of counter Cr, if the value of counter Cr surpasses preset definite value, just this object is carried out each described method of claim 1-3.
8. the collision checking method based on the bounding box tree detects to usage tree root from the branch least significant end, it is characterized in that this method comprises following steps:
Step I: " minimum distance " path that will generate according to each described method of claim 1-3, two nodes of selecting to have " minimum distance " at the bottom of two articles are as present node;
Step j: detect current node and whether bump,, then return,, turn to step I if do not have collision as taking place;
Step k: the brotgher of node to present node is carried out collision detection, if bump, then method finishes; If do not bump, then with father node as present node, get into the higher level of bounding box tree, and change step j over to.
9. the collision checking method based on the bounding box tree according to claim 8; It is characterized in that, among the said step j, when current node is detected between any two; System is the order according to the priority chained list; The collision situation of inspected object between in twos successively, this priority chained list obtains according to pri function P, and P is following for this pri function:
P ( bCollide , V , D min ) = 1 bCollide = 0 V D min bCollide = 0 , D min Length 1 + Length 2 < 0.5 - 1 + V D min bCollide = 0 , D min Length 1 + Length 2 > 0.5
V=D min(k-1)-D min(k-2)
P is bCollide, V, D MinFunction, whether bCollide representes that detected last time and bumps; Represent during bCollide=1 to bump, do not bump during bCollide=0; D MinBe the distance between the two articles closest approach that calculated during collision detection last time; V representes the object speed of last time during collision detection, the value of V be preceding once with the difference of preceding twice minimum distance; Length1 and Length2 are respectively the mean breadth of two articles, i.e. the mean value of length; Ratio
Figure FDA0000123108210000052
Physical meaning be the relative distance between two articles.
10. the collision checking method based on the bounding box tree according to claim 9; It is characterized in that; When P abandons the detection of this node during less than predetermined value, and abandoned the number of times that detects, if counter C has surpassed preset value through this node of counter C record; Then system detects this node, and with counter O reset.
11. the collision checking method based on the bounding box tree according to claim 10; It is characterized in that; The root node of the usage tree root of object has time-out count device Cr; The search that every pair of this object carries out once from bottom to top just adds one with the value of counter Cr, if the value of counter Cr surpasses preset definite value, just this object is carried out each described method of claim 1-3.
CN2011104337932A 2011-12-21 2011-12-21 Collision detection method based on bounding volume tree Pending CN102446122A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011104337932A CN102446122A (en) 2011-12-21 2011-12-21 Collision detection method based on bounding volume tree

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011104337932A CN102446122A (en) 2011-12-21 2011-12-21 Collision detection method based on bounding volume tree

Publications (1)

Publication Number Publication Date
CN102446122A true CN102446122A (en) 2012-05-09

Family

ID=46008633

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011104337932A Pending CN102446122A (en) 2011-12-21 2011-12-21 Collision detection method based on bounding volume tree

Country Status (1)

Country Link
CN (1) CN102446122A (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693363A (en) * 2012-05-10 2012-09-26 北京像素软件科技股份有限公司 Scene management method in online game based on quad-tree
CN104200031A (en) * 2014-09-04 2014-12-10 大连大学 Collision detecting method based on distance precedence and space-time relevancy
CN104867177A (en) * 2014-12-23 2015-08-26 上海电机学院 Parallel collision detection method based on bounding box tree method
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
CN104154917B (en) * 2013-11-19 2017-02-08 深圳信息职业技术学院 Planning method and device of robot collision prevention path
CN108839019A (en) * 2018-06-25 2018-11-20 广州视源电子科技股份有限公司 The determination method and apparatus of the motion path of mechanical arm
CN111177888A (en) * 2019-12-09 2020-05-19 武汉光庭信息技术股份有限公司 Simulation scene collision detection method and system
CN112825199A (en) * 2019-11-20 2021-05-21 北京博超时代软件有限公司 Collision detection method, device, equipment and storage medium
CN112932662A (en) * 2021-02-01 2021-06-11 威海威高骨科手术机器人有限公司 Reset position detection method with patient safety protection function
CN113077643A (en) * 2021-03-23 2021-07-06 上海振华重工(集团)股份有限公司 Traffic control method, traffic control system and storage medium
CN113340247A (en) * 2021-06-15 2021-09-03 上海理工大学 Continuous collision detection method for vehicle body contact type three-coordinate measurement

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5590283A (en) * 1990-10-03 1996-12-31 Thinking Machines Corporation Parallel computer system with physically separate tree networks for data and control messages
CN101593366A (en) * 2009-06-24 2009-12-02 北京航空航天大学 A kind of large-scale virtual scene collision checking method based on balanced binary tree
CN102193837A (en) * 2011-04-26 2011-09-21 浙江大学 Front line-based method for detecting collision of bounding volume
CN102253862A (en) * 2011-04-26 2011-11-23 浙江大学 Single instruction multiple data (SIMD)-based k-discrete oriented polytope (k-DOP) bounding volume collision detection method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5590283A (en) * 1990-10-03 1996-12-31 Thinking Machines Corporation Parallel computer system with physically separate tree networks for data and control messages
CN101593366A (en) * 2009-06-24 2009-12-02 北京航空航天大学 A kind of large-scale virtual scene collision checking method based on balanced binary tree
CN102193837A (en) * 2011-04-26 2011-09-21 浙江大学 Front line-based method for detecting collision of bounding volume
CN102253862A (en) * 2011-04-26 2011-11-23 浙江大学 Single instruction multiple data (SIMD)-based k-discrete oriented polytope (k-DOP) bounding volume collision detection method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
XIONG YUMEI等: "A Dynamic Collision detection algorithm based on Bounding box-tree", 《ADVANCED MATERIALS RESEARCH》, 28 February 2011 (2011-02-28), pages 1041 - 1043 *
YUMEI XIONG等: "Research on Bounding Box-tree Algorithm for Collision Detection", 《ADVANCED MATERIALS RESEARCH》, vol. 186, 31 January 2011 (2011-01-31), pages 646 - 647 *

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693363A (en) * 2012-05-10 2012-09-26 北京像素软件科技股份有限公司 Scene management method in online game based on quad-tree
CN102693363B (en) * 2012-05-10 2015-03-25 北京像素软件科技股份有限公司 Scene management method in online game based on quad-tree
CN104154917B (en) * 2013-11-19 2017-02-08 深圳信息职业技术学院 Planning method and device of robot collision prevention path
CN104200031A (en) * 2014-09-04 2014-12-10 大连大学 Collision detecting method based on distance precedence and space-time relevancy
CN104200031B (en) * 2014-09-04 2017-11-24 大连大学 A kind of collision checking method based on distance priority and temporal correlation
CN104867177A (en) * 2014-12-23 2015-08-26 上海电机学院 Parallel collision detection method based on bounding box tree method
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
CN108839019A (en) * 2018-06-25 2018-11-20 广州视源电子科技股份有限公司 The determination method and apparatus of the motion path of mechanical arm
CN108839019B (en) * 2018-06-25 2020-09-01 广州视源电子科技股份有限公司 Method and device for determining motion path of mechanical arm
CN112825199A (en) * 2019-11-20 2021-05-21 北京博超时代软件有限公司 Collision detection method, device, equipment and storage medium
CN112825199B (en) * 2019-11-20 2023-09-19 北京博超时代软件有限公司 Collision detection method, device, equipment and storage medium
CN111177888A (en) * 2019-12-09 2020-05-19 武汉光庭信息技术股份有限公司 Simulation scene collision detection method and system
CN111177888B (en) * 2019-12-09 2022-06-17 武汉光庭信息技术股份有限公司 Simulation scene collision detection method and system
CN112932662A (en) * 2021-02-01 2021-06-11 威海威高骨科手术机器人有限公司 Reset position detection method with patient safety protection function
CN113077643A (en) * 2021-03-23 2021-07-06 上海振华重工(集团)股份有限公司 Traffic control method, traffic control system and storage medium
CN113077643B (en) * 2021-03-23 2022-05-03 上海振华重工(集团)股份有限公司 Traffic control method, traffic control system and storage medium
CN113340247A (en) * 2021-06-15 2021-09-03 上海理工大学 Continuous collision detection method for vehicle body contact type three-coordinate measurement
CN113340247B (en) * 2021-06-15 2022-07-12 上海理工大学 Continuous collision detection method for vehicle body contact type three-coordinate measurement

Similar Documents

Publication Publication Date Title
CN102446122A (en) Collision detection method based on bounding volume tree
CN104200031B (en) A kind of collision checking method based on distance priority and temporal correlation
Liu et al. A dynamic fusion pathfinding algorithm using delaunay triangulation and improved a-star for mobile robots
CN101510225B (en) STL model boolean operation method of products
CN112669434B (en) Collision detection method based on grid and bounding box
CN104317772B (en) A kind of Monte Carlo PARTICLE TRANSPORT FROM fast geometric disposal route based on space lattice segmentation
CN110220521A (en) A kind of generation method and device of high-precision map
CN106931970A (en) Robot security&#39;s contexture by self air navigation aid in a kind of dynamic environment
CN109682336A (en) Three-dimensional coordinates measurement path for vehicle body accuracy detection is planned automatically and optimization method
CN102999661A (en) Parallel collision detection system and method based on particle swarm optimization
CN102855387A (en) Two-dimensional space multi-route planning method based on niche particle swarms
CN114859375A (en) Autonomous exploration mapping system and method based on multi-robot cooperation
CN102393826A (en) Multi-core parallel processing based flexible scene continuous collision detection method
CN104992466A (en) Instant route-finding method for three-dimensional scene
Li Path planning of intelligent mobile robot based on Dijkstra algorithm
CN106197928A (en) A kind of bounding box collision checking method based on virtual ball
Sulaiman et al. Bounding volume hierarchies for collision detection
CN104361215A (en) Monte Carlo fusion reactor repeat processing method based on label information
CN105785919A (en) Point cloud five-axis no-global-interference cutter axis vector feasible domain calculation method
CN102393827A (en) Flexible scene continuous collision detection method based on continuous normal cone remover
CN104331080A (en) Fixed point track route planning method for mobile robot
CN103778657B (en) Space partition based sound beam tracing method
CN102393825A (en) Non-coplanar elimination based detecting method for continuous collision of flexible scene
CN115903816A (en) Low-energy-consumption mobile robot path planning method
CN104063594A (en) Complexity reliability calculation method based on optimized learning machine

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120509