CN102446122A - Collision detection method based on bounding volume tree - Google Patents
Collision detection method based on bounding volume tree Download PDFInfo
- 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
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
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:
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.
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:
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.
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:
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.
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 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, for example, the mean breadth of two articles is 10, two articles is at a distance of also being 10, then ratio
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:
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.
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:
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:
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.
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.
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)
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)
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 |
-
2011
- 2011-12-21 CN CN2011104337932A patent/CN102446122A/en active Pending
Patent Citations (4)
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)
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)
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'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 |