collision handling for virtual environments
TRANSCRIPT
Collision Handling for Virtual Environments
Carol O’Sullivan, John Dingliana, Fabio Ganovelli, Gareth Bradshaw
Image Synthesis Group, Trinity College Dublin {Carol.OSullivan, John.Dingliana, Fabio.Ganovelli, Gareth.Bradshaw}@cs.tcd.ie
Abstract An efficient and realistic collision handling mechanism is fundamental to any physically plausible Virtual Environment. In this tutorial, we will first examine the applications of collision handling, and introduce the open problems in this area. We will then provide a detailed introduction to the many different approaches, past and current, to the problems of collision detection and contact modelling. The construction and evaluation of the wide range of bounding volume hierarchies used for collision detection will be discussed, as will the particular problems associated with deformable object animation. The next issue to be addressed is the problem of collision response, and finally we will discuss perceptual issues relating to this topic.
Tutorial Outline i. Introduction. Collision Handling: Applications and Challenges;
ii. Collision Detection for rigid bodies. Hierarchical techniques and progressive refinement; Interruptible collision handling.
iii. Bounding volumes: construction and evaluation; iv. Deformable object animation.
v. Collision Response: Physically-accurate response techniques for rigid-body
animation; Problems with contact modelling; Approximate/plausible response; Graceful degradation of response.
vi. Perceptual issues in collision handling; Heuristics for perceptually-adaptive
collision processing; Perception of collision physics; An overview of these issues is presented in the following notes and in the sets of slides found in Appendix A.
1. Introduction
Everyone knows that one solid object cannot occupy the space of another. To express solidity in a simulated virtual environment, objects need to respond at the right time and in the right manner to collisions with other objects in the scene. Therefore, any physically plausible animation system, such as one that drives a Virtual Environment, needs efficient and realistic collision handling. The problems of detecting when objects collide, reporting the points of contact between them, and subsequently
determining an appropriate physical (or behavioural) response, all require a significant amount of processing. As the numbers of objects in the scene increases and/or the models become more complex, collision handling quickly becomes a major bottleneck in the system, sometimes accounting for over 95% of the overall computation time per frame [Mirtich 1996]. Many of the earlier approaches to collision detection were based on expensive object-object intersection tests. Introducing a multi-pass approach to the problem allows the elimination of expensive tests between distant objects. In addition, many techniques only provide a yes/no answer to the question of whether a collision has occurred, without providing detailed contact information. Performing accurate collision response under such circumstances is often difficult. Because of the inherent complexity of the problem, further improvements in efficiency may be achieved by using pre-computation processes. These usually involve the calculation of hierarchical approximations of the objects, thus enabling quick rejection tests. Many collision handling methods make assumptions about the rigidity and topology of the objects, but what happens when such assumptions are not valid? Collision handling between deformable objects is very computationally expensive, and most solutions are far from real-time, although recently some attempts have been made address this situation. For dynamic interactive environments, the kinematics of objects (and hence their collisions) cannot be determined a priori. In such situations, where a high and constant frame-rate is vital, significant levels of simplification are required in order to overcome the collision handling bottleneck. Interruptible techniques attempt to optimise this speed-accuracy trade-off by adaptively managing the complexity level of the simulation. Approximate contact modelling and plausible response in such circumstances is a particularly challenging issue. In particular, knowledge of the visual perception of collision events and physics can be very useful in optimising the quality of such real-time simulations.
1.1. Collision Handling: Applications and Challenges; The original motivation for Collision Detection algorithms arose in areas such as CAD and Robotics, where the desire was to do more work on the computer, and to off-load work from the human designer or planner. Problems such as handling many different CAD shape descriptions, VLSI layout, robot path planning, bin packing, and assembly planning gave rise to off-line algorithms, where objects positions and motions were fully predictable over time, and “what if” analysis was done to generate an optimum solution. Real-time performance was not an issue in such systems, and fully accurate mathematical intersection tests could be utilized. As time progressed, the desire for realtime and interactive systems increased. For example, CAD designers want to see the results of their new layout immediately, not several minutes later. As they reposition an object, they want to try it out in several locations, and the collision tests with other objects must be performed while they are doing this, in real-time. In such a case, it is not possible to predict in advance what will happen. Robotics applications in the past were typically characterised by static scenes, where one or more robotic devices performed pre-specified tasks. Therefore, pre-processing could be used to predict where collisions would happen. However, with the
development of more autonomous robots, who can operate in unknown environments, and whose behaviour is impossible to predict in advance, this situation has also changed. Much cross-over research has occurred between the fields. For example, the collision detection algorithm proposed in [Lin and Canny 1991] and [Lin 1993] has been used in both robotics and animation. The range of applications that require collision detection is extensive. Vehicle simulators are one case in point, where the users manipulate a steering device, and attempt to avoid obstacles in their way. In molecular modeling, simulations allow interactive testing of new drugs to examine how molecules interact and collide with each other. Training and education systems that realistically model the movement of objects within the geometric constraints of their layout, allow designers to experiment interactively with different strategies, e.g. to assemble or disassemble equipment, to perform a virtual surgery, or to test different paths that a robot could take. Such simulations are a safe and cheap way to teach. Human character animation is one of the most challenging topics in computer animation, and collision detection is an important issue here also. As a figure moves, collisions must be detected between the virtual person and its environment, its clothes and hair, and self-collisions between limbs and digits. Haptic interfaces are devices that allow humans to interact manually with virtual environments, and to actually feel a sense of touch via these devices as if they were really touching the virtual objects. Virtual Environment applications allow users to enter a computer-generated virtual world and interact with graphical objects and virtual agents with a sense of reality. Such systems may be either immersive, or desktop based. One thing they have in common is a requirement for extremely high and constant frame-rates. Physical interactions such as touching, hitting and throwing are usually triggered by collision. The more objects in the environment, and the more complex these objects are, the higher the burden on the engine that powers the animation, and hence the greater the need for extremely rapid collision detection. We have seen that there is a requirement for collision detection in almost all systems that animate graphical objects, or which need to determine potential collisions with real objects in advance. This poses a significant challenge in the area of real-time systems, and as the demand for more realism and interaction in such systems is constantly increasing, it is also likely to remain a challenge for quite some time into the future.
2. Collision Detection for Rigid Bodies
When animating more than two objects, the most obvious problem which arises is the O(N2) problem of detecting collisions between all N objects. This is known as the all-pairs problem. It is obvious that this is an undesirable property of any collision detection algorithm, and several techniques have been proposed to deal with it. Hybrid collision detection refers to any collision detection method which first performs one or more iterations of approximate tests to identify interfering objects in the entire workspace and then performs a more accurate test to identify the object parts causing interference. [Hubbard 1995a,b] and [Cohen 1995] both propose hybrid algorithms for collision detection. The former refers to the two levels of the algorithm
as the broad phase, where approximate intersections are detected, and the narrow phase, where exact collision detection is performed. Such an approach is essential for acceptable collision detection performance. The narrow phase itself may also consist of several levels of intersection testing between two objects at increasing levels of accuracy, the last of which may be fully accurate. We shall refer to these as the progressive refinement levels and the exact level respectively.
2.1. Narrow Phase: The Exact Level
Any collision detection algorithm depends on the technique used to model the objects, and the data structure used to represent that model. The narrow phase, where exact collision detection is performed, depends greatly on the object representation scheme used. Polygonal representations of surfaces are widely used to represent surfaces in 3D graphics. Surfaces, which are intrinsically planar, such as those on building exteriors and cabinets, can be easily and naturally represented in this way. However, virtually any surface can be represented by polygons if the number of polygons is sufficiently high. This leads, however, to an approximate representation only. In order to reduce the faceted effect of these surfaces, the number of polygons has to be increased to such an extent that affects space requirements and computation time of algorithms processing the surface. Many different special cases must be handled, and cases may occur where polygon edges “tunnel” through each other, or smaller surfaces pass through an entire polygon. A major advantage to using polygonal representations of objects is the fact that many manufacturers provide specialized acceleration hardware to implement common operations on polygons, such as clipping and shading. Polyhedral methods are not well suited to surfaces that deform in time, and which roll or slide against each other. In such cases High-level surface representations are more desirable. One such representation is a collection of Parametric Patches, which are regions on a curved surface bounded by parametric curves. The number of parametric patches needed to approximate a curved surface to a reasonable degree of accuracy is many fewer than the number of polygonal patches that would approximate it to the same level. Implicit Surfaces are defined using implicit functions, and also have some desirable properties, such as being closed manifolds. This means that they define a complete solid model, not just the surface as in the case of parametric surfaces and polygonal models. Collision detection algorithms have been developed to process collisions between objects modeled via these techniques [Von-Herzen et al. 1990] [Snyder et al. 1993][Shene and Johnstone 1991]. For a more extensive survey of collision detection techniques between a variety of geometric models, see [Lin and Gottschalk 1998]. Polygonal models can be either convex, or non-convex. If a polygon is convex, that means that the line between any two points inside the polygon must also lie completely inside. The concept extends to three dimensions, where a surface composed of polygons is called a polytope. If the polytope is convex, then any line between two points inside this area must lie completely within the surface defined by such a polytope. Most of the work on collision detection techniques has concentrated on detecting collisions between convex polytopes. Such approaches fall into two broad categories: Feature-based methods, and Simplex-based methods.
Feature-based methods concentrate on the inter-relations between the vertices, edges and faces of two polytopes, i.e. their features. The main goal of such algorithms is to detect whether two polytopes are touching or not. All feature-based schemes are broadly derived from the Lin-Canny closest features algorithm [Lin and Canny 1991] [Lin 1993]. They are based on partitioning each polytope into features and constructing a Voronoi Region for each feature i.e. the set of points closer to that feature than any other. See Figure 1 for a representation of the Voronoi regions associated with a face, edge and vertex.
Figure 1: Voronoi regions for (a) a face, (b) an edge and (c) a vertex.
The Lin-Canny algorithm determines whether two objects are disjoint or not, by computing the distance between their closest features. It tracks these features, and caches them between subsequent calls to the algorithm. In this way it exploits coherence, because the closest features will not change significantly between successive frames, and “feature-stepping” is used to keep the closest features up to date, i.e. if the closest features have changed, they are going to be adjacent to those cached, and hence finding them is quite efficient. The algorithm to track these features runs in expected constant time if the collision detection time-step (i.e. the steps which the animation takes before each iteration of the collision detection algorithm) is small relative to the speed at which the objects are moving. The algorithm has been built into a general collision detection package I-Collide, described in [Cohen et al. 1995] and [Ponamgi et al. 1997] which is freely available on the World Wide Web.
(a)
(b)
(c)
The Lin-Canny algorithm does not handle penetrating polytopes, however, and if such a condition arises the algorithm enters an infinite loop. A possible solution to this problem is to force termination after a maximum iteration, and return a simple result stating that the objects have collided. However, this solution is quite slow, and no measure of inter-penetration is provided. Inter-penetrating objects will occur very frequently unless they are moving quite slowly, and/or if the detection time-step is quite small. This is unlikely to be the case in real-time applications such as games and Virtual Environments. If inter-penetration occurs, and more information is needed about the exact time of contact, backtracking is necessary to pinpoint the exact instant in time when collision occurred, a slow and cumbersome process. Pseudo internal Voronoi regions for convex polyhedra were introduced in [Ponamgi et al. 1997] to try to circumvent this problem. Another problem is the need to handle many special cases separately (e.g. parallel features), and the difficulty of configuration, with several numerical tolerances that need to be adjusted to achieve the desired performance. The V-Clip (Voronoi-Clip) feature-based algorithm presented in [Mirtich 1998] has been inspired by the Lin-Canny algorithm, but claims to overcome the chief limitations of that algorithm. It handles the penetration case, needs no tolerances to be adjusted, exhibits no cycling behaviour, and is simpler to implement due to fewer special-case considerations. This is commonly held to be the fastest available published scheme for collision detection between rigid convex bodies. The main advantage to the feature-based algorithms is efficiency and fast yes/no answers to collision detection. However, for contact modelling they are not ideal. Simplex-based algorithms are an alternative to feature-based solutions. A simplex is the generalisation of a triangle to arbitrary dimensions. The approach in these cases is to treat a polytope as the convex hull of a point set. Operations are then performed on simplices defined by subsets of these points. The first of such algorithms was presented in [Gilbert et al. 1988] and is commonly referred to as GJK. The main strength of this algorithm is that, in addition to detecting whether two objects have collided or not, it can also return a measure of interpenetration. [Rabbitz 1994] improved upon GJK by exploiting coherence, and [Cameron 1997] developed it further to produce the algorithm that is known as Enhanced GJK. This algorithm achieves the same almost-constant time complexity as Lin-Canny, while eliminating most of its main weaknesses. Mirtich claims that the V-Clip algorithm requires fewer floating-point operations than Enhanced GJK, and is hence more efficient, but it is also admitted that the GJK algorithms return the best measures of penetration. It is often claimed that extending these “exact” techniques to handle non-convex polytopes is simple, as such polytopes can be represented by hierarchies of convex components. A “pass the parcel” approach is recommended, with collision checking being performed between the convex hulls of successive subsets of convex components, which are then unwrapped when a collision is detected. Results are rarely presented for such operations, and the focus of the validation performed is mainly on the efficiency of the intersection tests between two convex objects. Mirtich admits that although this technique works well for slightly non-convex objects, it becomes very inefficient as the level of non-convexity increases. Therefore, these techniques are very useful for situations where a small number of convex, or slightly non-convex objects are interacting in real-time, but in other situations techniques based on hierarchical representations are much more suitable.
2.2. Narrow Phase: Progressive Refinement Levels The progressive refinement levels of the narrow phase of a collision detection algorithm are often based on using bounding volumes and spatial decomposition techniques in a hierarchical manner. Hierarchical methods have the advantage that as a result of simple tests at a given point in the object hierarchies, branches below a particular node can be identified as irrelevant to the current search and so pruned from the search. Trees of bounding volumes are used, each level approximating the object. This is a form of Level Of Detail (LOD) representation of the object. This differs from the polygonal levels of detail used in multiresolution methods for faster rendering of complex objects, or surfaces such as mountainous terrain [Hoppe 1998][Rossignac and Borrel 1993]. In such techniques, the aim is to render an approximation that is as visually similar to the original model as possible. LODs for collision detection are always conservative approximations to the object, and the choice of volume is usually based on the speed of their intersection tests. More recently emphasis has been placed on their ability to approximate the geometry of the bounded object. Some of the hierarchies that have been used are presented in Section 3.
2.3. Broad Phase Collision Detection [Hubbard 1995a,b] highlights three potential weaknesses of collision detection algorithms. The most serious of these is the all-pairs weakness discussed above, where every object in the scene must be compared with every other one at every collision timestep of the animation. Most research has concentrated on alleviating this problem. A second problem is what he calls the fixed-timestep weakness. Allowing the objects to move larger distances before checking whether they intersect leads to a more efficient algorithm, but it is possible that some collisions will be missed, and objects will tunnel through each other. Decreasing the size of the time-step would reduce the chances of this happening, but would cause a lot of extra unnecessary intersection tests. The third weakness refers to the narrow phase, and is the pair-processing weakness. This refers to the non-robust properties of algorithms such as the original Lin-Canny discussed above, which must handle many special cases and can exhibit strange behaviour such as cycling. Hubbard recommends the use of an adaptive timestep, which becomes small when collisions are likely and large when they are not. For the broad phase of his algorithm, 4-dimensional structures called space-time bounds are used, which provide a conservative estimate of where an object may be in the future. The fourth dimension represents time. Overlaps of these bounds trigger the narrow phase, which is based on hierarchies of spheres. Collision detection between sphere trees is robust, thus solving the pair-processing problem. Using the space-time bounds, attention is focused on the objects that are likely to collide, and those far away can be ignored, thus alleviating both the all-pairs weakness and the fixed-timestep weakness. [Cameron 1990] also addresses the fixed-timestep weakness through the use of four-dimensional bounding structures.
In [Cohen et al. 1995] multiple object pairs are “pruned” using bounding boxes. Overlapping bounding boxes then trigger the narrow phase of the algorithm. Their “Sweep and Prune” algorithm orthogonally projects axis-aligned bounding boxes of all objects onto the x, y and z-axes. This results in intervals, of which overlaps in all three dimensions indicate overlaps of the corresponding bounding boxes. Because of coherence, the relative positions of objects will not change significantly between frames, so insertion sort is used to keep the interval lists sorted, which runs in almost linear time for almost-sorted lists. This O(N) algorithm is extremely desirable, because it handles the all-pairs weakness, and has small computational overheads. It does not tackle the fixed-timestep weakness, but runs in almost constant time for a given number of objects. This makes it preferential in situations where a constant frame rate is required in the presence of large numbers of interacting objects. The use of an adaptive timestep could be undesirable in these circumstances because processing would slow down when many objects were close to each other, due to the smaller size of the time-steps, and then speed up as they became more evenly distributed. This would give a non-constant frame-rate, and hence lead to a jerky animation that can cause simulator sickness. However, it may be feasible to use an adaptive time-step in conjunction with adaptive techniques for the narrow phase testing (and ideally for other operations such as rendering). Efficient load-balancing mechanisms would be important in this case.
2.4. Interruptible Collision Detection In Virtual Reality applications, in order to create an illusion of real-time exploration of a virtual world, high and near-constant frame-rates must be achieved. If the frame rate is too slow, or too jerky, the interactive feel of the system is destroyed. In a very complex environment, the objects may be modeled using thousands or even millions of polygons. To render these polygons completely accurately, with full hidden surface removal, shading, and collision detection is usually beyond the capabilities of a typical desktop computer. Even with higher-powered graphics workstations, highly variable frame rate would be the result. One solution to this problem is to adjust image quality adaptively in order to maintain a uniform frame rate. Now consider the problem of a simulation with large numbers of colliding objects. In [Mirtich 2000] an avalanche of rocks falling down a mountain was simulated, generating a large number of collisions to be handled. Each frame took on average 97 seconds to compute, because the high number and complexity of contact groups formed generated a significant bottleneck in the collision detection routines. He states, however, that when robustness is more important than efficiency, it may be necessary to accept these computation times. However, collisions in a Virtual Environment must be handled in real-time, so it is obvious that a trade-off between detection accuracy and speed is needed to achieve the required high and constant frame-rate, thus maintaining the immersiveness and plausability of the environment. We have seen in the previous section that the use of an adaptive timestep is recommended in [Hubbard 1995a,b]. However, he goes further than this and recommends adaptive refinement at the narrow-phase level also. The idea of interruptible collision detection is presented, which allows the accuracy of intersection tests to be progressively refined until a target time has elapsed. Collisions
are detected between the sphere-trees of objects in round-robin order at increasing levels of detail, descending one level of all sphere trees at each iteration of the algorithm, until interruption occurs. This enables a fast, albeit approximate, answer when required. The advantage of an interruptible algorithm is that the application has full control over the length of time that collision processing may take. However, Hubbard’s algorithm simply returns a yes/no answer to the question of whether two objects have approximately collided or not. There is no facility to improve response based on the increasing accuracy of the tests when time allows. In addition, inaccuracies in the handling of collisions may cause the viewer to perceive unrealistic behaviour of colliding entities, such as them bouncing off at a distance or not rotating appropriately. In [Dingliana and O’Sullivan 2000], [Dingliana et al. 2001] and [O’Sullivan et al. 1999], an interruptible collision handling scheme is presented which attempts to alleviate both these problems. Firstly, perceptually-guided scheduling of collision processing is used, which allows the application to prioritise collisions and assign more processing time to those that are more important (see section 6 for further details). Secondly, graceful degradation of response is achieved by using approximate contact information to provide an optimal physical response with the most accurate data available (see section 5).
3. Bounding volumes: construction and evaluation
As mentioned in Section 2.2 the narrow phase processing often uses a tree of bounding volumes to cull out areas of the objects that cannot be in contact. Here is a list of some hierarchies that are used: • Octrees [Sammet and Webber 1988] Octrees are built by recursively sub-dividing
the volume containing an object into eight octants, and retaining only those octants that contain some part of the original object as nodes in the tree. Such a data structure is simple to produce automatically, and lends itself to efficient and elegant recursive algorithms. The disadvantage of this approach is that each level of the hierarchy does not fit the underlying object very tightly.
• Sphere Trees [Hubbard 1995a, 1996][Palmer and Grimsdale 1995][Quinlan 1994]. The main advantages of using spheres are that they are rotationally invariant, making them very fast to update, and it is very simple to test for distances between them, and test for overlaps. The disadvantage is that spheres do not approximate certain types of objects very efficiently. Hubbard attempts to improve upon this by building first a medial axis surface, which is like a skeleton representation of an object, and then placing the spheres upon this to provide a tighter-fitting approximation to the object. [O’Rourke and Badler 1979] also developed a method of tightly fitting spheres to an object.
• C-trees consist of a mixture of convex polyhedra and spheres [Youn and Wohn 1993]. This has the advantage of choosing primitives that best approximate the enclosed object, but a major drawback is that the hierarchy must be created by hand, and cannot be produced automatically. A similar approach is taken in [Rohlf and Helman 1994].
• OBB-trees [Gottschalk et al. 1996]. These hierarchies consist of tightly fitting Oriented Bounding Boxes. It is claimed that using an algorithm based on a separating axis, all the contacts between large complex geometries can be detected at interactive rates. However, it is admitted that other methods are very good at performing fast rejection tests, and a disadvantage of OBB-trees over Sphere trees is that they are slower to update.
• AABB-trees [Van Den Bergen 1997]. Axis Aligned Bounding Boxes are used, the advantage of these being their ease of computation and overlap testing. The disadvantage is, however, that the bounding boxes must be re-calculated whenever the objects rotate, or a separating axis test must be performed, as for OBB-trees.
• K-DOPs [Klosowski et al. 1997]. This approach uses hierarchies of k-DOPs, or discrete orientation polytopes, which are convex polytopes whose facets are determined by half spaces whose outward normals come from a small fixed set of k orientations. Again, they implement it with a small number of highly complex objects, for the purposes of haptic force-feedback. If there are a large number of objects between which fast rejection or acceptance is needed, the update time needed for these approximations is likely to add an unacceptable additional burden. This approach is a generalisation of AABBs (which are actually 6-dops), and therefore also suffers from the need for dynamic updating of the nodes.
• ShellTrees [Krishnan et al 1998a,b]. These trees consist of oriented bounding boxes and spherical shells, which enclose curved surfaces such as Bezier patches and NURBS. They are particularly suited to collision detection between the higher-order surface representations discussed in the previous section.
• Swept Sphere Volumes [Larsen et a. 1999]. A swept sphere volume is a sphere that is swept out along a geometric primitive, such as a point (a sphere) line (a cylinder with rounded ends) or rectangle (a cuboid with rounded edges and corners). These volumes provide a means varying the shape of the bounding primitive to achieve a tighter fit to the underlying geometry, without the disadvantage of having to compute them by hand. Similar performance results to OBB-trees are reported, although the potentially better fit provided by the swept voumes should provide more accurate collision tests, especially if no exact testing is performed at the end of the narrow phase, e.g. in the case of interruptible collision detection.
While many of the algorithms that use these Bounding Volume Hierarchies do so simply as an acceleration technique, interruptible collision detection [Hubbard 1995a] uses the hierarchies to produce a definite answer. Thus it is not only necessary to have tight fitting hierarchies – but it is also necessary to be able to compute the points of contact that are needed for contact modelling and collision response. For example the Separating Axis Test, used for OBBs and k-DOPs, simply provides a yes/no. A common way to evaluate such hierarchies is based on the time taken to perform the narrow phase traversal. As the objects are in motion it is necessary to update each of the primitives as the traversal occurs. Having updated a pair of nodes, so that they are both in the same co-ordinate frame, it is necessary to determine if they overlap. If the two nodes don’t overlap then their children nodes need not be considered. The following equation expresses the cost of performing collision detection between two objects:
Tc = Nu*Cu + Nv*Cv where Cu and Cv are the update and overlap costs respectively, and Nu and Nv are the number of nodes to be updated and tested. The number of bounding volumes needed to represent an object generally depends on the primitive used. Generally, the more degrees of freedom the primitive has the better it can approximate an object. Spheres and AABBs generally converge quite slowly to the object’s geometry, whereas OBBs and Spherical Shells converge much faster. It is also generally the case that the more degrees of freedom the primitive has – the higher the cost of updating (Cu) and of overlap testing (Cv) will be. This section of the tutorial will look at some of the bounding volume hierarchies mentioned and will use the above metric to evaluate their suitability for use in interruptible collision detection. More details may be found in the slide set in Appendix A.
4. Deformable object animation
This section reviews the approaches to collision detection that take deformations into account. The ability to detect and handle a collision between deformable objects is commonly seen as a “special feature” rather than a different problem. After all, the introduction of deformable objects in real-time environments is still a recent issue, so it is natural to try to extend the known algorithms, i.e. those for rigid bodies, to the case of objects that deform, before developing ad hoc algorithms.
Unfortunately it turns out that most of the known approaches, and especially the most efficient ones, are not really applicable to this new context. The reason is that they either use structures that depend on the shape of the objects (OBBTree, k-DOPs, sphereTrees, shellTrees) or assume that the objects are convex (feature based, V-clip, GJK). Furthermore, taking deformation into account leads to two new problems:
• self-intersection: this term refers to the fact that a deformation can possibly lead to a contact between different parts of the same surface, especially when it is experiencing a high degree of deformation as, for example, a piece of cloth. This problem introduces a factor of O(m2) to the complexity of the brute force solution, where m is the number of primitives composing the surface;
• cuts: the ability to cut the objects is a must for many real applications, especially the ones related to virtual surgery. This problem has a deep impact in both modelling the physics of the object and in detecting the possible collisions, because it requires discarding the assumption that at least the description of the surface never changes.
This part of the tutorial presents a set of techniques specifically designed for collision detection between deformable objects. It identifies the situations that each approach is suitable for, i.e. which assumptions it makes. The first part relates to collision between surfaces defined by parametric functions, emphasising the advantages of having such a compact description in computing hierarchies of bounding boxes and in testing for self-intersection [Von-Herzen et al. 1990, Hughes et al. 1996]. The second part is devoted to collision detection between polyhedral surfaces. Under the
assumption that the connectivity of polyhedra does not change, [Van Den Bergen 1997] showed that a hierarchy of Axis Aligned Bounding Boxes can be kept updated on the fly and [Volino et al. 1995] devised an approach to detect self-intersection through the use of triangles’ normals.
If the assumption on connectivity is also discarded, a surface may simply be considered as a soup of polygons. The no-assumption approaches, which can handle cuts, are generally based on indexing the space occupied by the bounding box of the object. In [Kitamura et al. 1998], when the bounding boxes of two different objects overlap, a hierarchy of Axis Aligned Bounding Boxes is built over the polygons intersecting the overlap region, while in [Ganovelli et al 2000] such a hierarchy is kept updated for each object, exploiting frame-to-frame coherency.
The special case of collision detection between a rigid object with a simple shape and a deformable object has been investigated in the context of models applied to virtual surgery, where ad hoc techniques, not applicable to the general case, have been developed [Cotin et. al 1998, Lombardo et. al 1999].
Further details about these techniques may be found in the slide set in Appendix A. It will emerge how challenging it is to define an efficient algorithm for the general case and therefore how many opportunities for research collision detection between deformable models still offers.
5. Contact Modelling and Collision Response
The primary goal of collision response is to deal in some consistent and expected manner with objects, which the detection mechanism has identified as colliding [Moore and Wilhelms 88]. The actual response will be specific to the application domain and may range from something as simple destroying one of the objects in a game, choosing a different path for one of the objects in a collision avoidance system or moving two objects apart so they are no longer colliding after the collision event. In self-regulating physically based animations we are primarily interested in rules that create behaviours in objects that are representative of their real-world counterparts. Solid objects should therefore not interpenetrate and if they should collide due to their movements across the scene, we expect that they will bounce away in directions and velocities that depend on their initial states and properties e.g. mass-distribution, relative sizes and densities. Collisions are a primary source of simulation discontinuity, where the states of objects or the laws that drive the evolution of states change instantaneously. Collisions are therefore a source of much additional computational workload. As we deal with a simulation on a discrete timestep by timestep scheme we often only detect a collision when two objects disjoint at time t0 are found to be interpenetrating at time t0+∆ t. For accurate results a rollback to the precise moment of contact is required and simulation should ideally restart from that point [Baraff and Witkin 97]. However this is expensive as it entails not only determining (or reasonably approximating) the exact contact time but discarding all the updates to the world that have been applied for the interpenetration frame. Techniques exist to improve this necessary rollback [Mirtich 00] but this remains a major problem for speed dependant interactive environments.
The requirement for fast and consistent frame rates in interactive animations can only be met through simplification and culling; by trading accuracy for speed. Many approaches try to optimise this trade-off by means of interactive techniques [Funkhouser and Sequin 93][Chenney and Forsyth 97][Dingliana and O’Sullivan 00]. Where accuracy is sacrificed, visually plausible results can still be achieved cheaply by the introduction of non-determinism (whether it be by design or implicitly due to simplifying approximations)[Barzel et al 96]. Traditional techniques for calculating contact responses can be roughly classified into penalty methods, impulse based methods and constraint based methods. The impulse-based methods allow for local calculation of state changes and are most suited for interactive simulation. All methods require fairly detailed input about the object to object contact points (or manifolds) and an intermediate contact modelling phase is necessary particularly in the case of refinable collision detection methods which have been traditionally used to only return a “yes, no or maybe” result about a collision. Ideally the narrow phase implements fine polygon-level intersection tests that produces accurate response data [Palmer and Grimsdale 95]. However, in time-critical implementations we are required to make an approximation of the contact from the results of an imprecise detection mechanism. As the collision detection is refined so too is the contact approximation and this is the convenient basis for refining the collision response (an otherwise “non-negotiable” constant time process). In hierarchical collision detection contact data becomes more precise as we traverse deeper down the hierarchy. The number of intersecting nodes increases and so does the collision response workload. A scheduler for such a system needs to project time for collision response and pre-allocate this from the full time-quota. These issues are presented in greater detail in the slide sets in Appendix A.
6. Perceptual Issues in Collision Handling
As stated in Section 2.4, Dingliana and O’Sullivan extended Hubbard’s interruptible collision detection routine to return collision data, which can be used in computing physically based responses to object collisions. As with the collision detection process the accuracy of the data (such as details of contact points) is improved as the mechanism traverses deeper into the sphere tree. As we deal with higher resolutions of the volume model, the approximated contact points become increasingly accurate (see Figure 2). If the mechanism is interrupted, e.g. when it has used up its allocated time quota, then it immediately returns the most accurate approximation it has so far computed. We must remember that we are dealing with a viewer-centric model and that what we are trying to optimise is the plausability of the animation rather than it’s mathematical accuracy [Barzel et al. 1996][Chenney and Forsyth 2000]. In the viewer-centric model, the first thing we should note is that objects (and collisions between objects) further away from the user, due to occlusion or perspective fore-shortening become more difficult to judge and, as a result, errors and approximations in their states and behaviours become more difficult to notice. Furthermore, even a casual study will show that users' primary awareness of events in a scene focuses in a small radius around the point of fixation (see Figure 3).
Other factors, which might influence the user's ability to judge an event on the scene, are properties of the objects involved e.g. size, shape, velocity, separation of the colliding entities; or properties of the scene and surroundings e.g. crowdedness, lighting, etc. Since the user's ability to notice error is non-uniformly spread across the scene, this suggests that processing time (and as a result simulation accuracy) for different events across the scene should also not be uniform. Instead, events should be prioritised across the scene, allowing the scheduling of processing time to be based on some measure of the importance of a collision or other event. A similar approach to the use of heuristics to select levels of detail for rendering is described in [Funkhouser and Sequin 1993] and [Reddy 1998]. The level of optimisation depends a great deal on the quality of the metrics used to perform the prioritisation of objects in the scene. Although good results have been achieved by using “obvious” metrics such as object velocities, projected screen distances and distance from the user's fixation point (determined with the use of an interactive eye-tracker, see Figure 4) more extensive studies need to be performed to identify the most important factors which affect user perception of events and to determine how the influence of all such factors varies across a simulation scene.
Figure 2: Multi-resolution collisions between objects. The bottom row of images show the volumes used to perform collision detection at increasing levels of detail, while the top row shows what is actually seen by the viewer at the moment of impact.
In [O’Sullivan et. al 1999] and [O’Sullivan and Dingliana 2001], criteria for prioritising collisions are presented. Psychological experiments are described which aim to determine the factors that influence people's perception of dynamic events such as collisions and physical behaviours with the purpose of developing dynamically-calculated metrics to drive the perceptual scheduling of our real-time adaptive physical simulations. In the former it was also demonstrated that the overhead from a full prioritisation and sorting of events in the scene on a per-frame basis becomes too high. A more fruitful approach is to use a small number of different priority groups into which events are interactively distributed. Each priority group is then allocated its share of processing time by the scheduler, with more processing being spent on higher priority groups. This method, whilst preserving a prioritisation scheme, bears considerably less overhead expense than a full continuous sort and in practice delivers good results even with very small numbers of priority groups.
Figure 3: Important collisions, e.g. those close to the viewer's fixation position, should be processed first.
Figure 4: An eye-tracker is used to determine the viewer's point of fixation
Bibliography
[Baraff and Witkin 1997] Baraff, B. and Witkin, A. Introduction to Physically based Modeling. Siggraph '97 Course Notes.
[Barzel et al. 1996] Barzel, R. Hughes, J.F. Wood, D.N. Plausible Motion Simulation for Computer Graphics Animation. Computer Animation and Simulation '96. 183-197.
[Cameron 1990] Cameron, S.A. Collision Detection by Four-Dimensional Intersection Testing. IEEE Transactions on Robotics and Automation. 6(3) 291-302.
[Cameron 1997] Cameron, S.A. Enhancing GJK: Computing Minimum Penetration Distances Between Convex Polyhedra. Proceedings of the Int. Conf. On Robotics and Automation. 3112-3117.
[Carlson and Hodgins 1997] Carlson D.A. Hodgins, J.K. Simu lation Levels of Detail for Real-time Animation. Proceedings Graphics Interface ’97. 1-8.
[Chenney and Forsyth 1997] Chenney, S. and Forsyth, D. View-dependent Culling of Dynamic Systems in Virtual Environments. Proceedings ACM Symposium on Interactive 3D Graphics 1997. 55-58.
[Chenney and Forsyth 2000] Chenney, S. and Forsyth, D. – Sampling Plausible Solutions to Multi-Body Constraint Problems. Proceedings SIGGRAPH 2000. 219-228.
[Cohen et al. 1995] Cohen, J.D. Lin, M.C. Manocha, D. Ponamgi, M.K. I-COLLIDE: An Interactive and Exact Collision Detection System for Large-Scaled Environments. Proceedings ACM Int. 3D Graphics Conference. 189-196.
[Cotin et. al 1998] S. Cotin and H. Delingette and N. Ayache Real-time Elastic Deformations of Soft Tissues for Surgery Simulation. IEEE Transactions on Visualization and Computer Graphics. 5(1) 62-73.
[Dingliana et al. 2001] Dingliana, J. O'Sullivan, C. Bradshaw, G. Collisions and Adaptive Levels of Detail. SIGGRAPH 2001 Technical Sketches Program (To appear)
[Dingliana and O’Sullivan 2000] Graceful Degradation of Collision Handling in Physically Based Animation. Dingliana, J. O'Sullivan, C. Computer Graphics Forum. (Proceedings, Eurographics 2000). 19(3) 239-247
[Funkhouser and Sequin 1993] Funkhouser,T.A. Sequin, C.H. (1993) Adaptive Display Algorithm for Interactive Frame Rates During Visualization of Complex Virtual Environments. Proceedings, SIGGRAPH '93. 247-254.
[Ganovelli et al. 2000] Ganovelli, F. Dingljana, J. O’Sullivan, C. BucketTree: Improving Collision Detection Between Deformable Objects. Proceedings SCCG 2000, 156-163
[Gilbert et al. 1988] A fast procedure for computing the distance between complex objects in three-dimensional space. IEEE Journal of Robotics and Automation. 4(3) 193-203.
[Gottschalk et al. 1996] Gottschalk, S. Lin, M.C. Manocha, D. (1996) OBB-Tree: A Hierarchical Structure for Rapid Interference Detection. Proceedings SIGGRAPH '96, 171-180.
[Hoppe 1998] Hoppe, H. Smooth view-dependent level-of-detail control and its application to terrain rendering. IEEE Visualization '98. 35-42.
[Hubbard 1995a] Philip M. Hubbard, Collision Detection for Interactive Graphics, PhD Thesis, Department of Computer Science, Brown University, March 1995.
[Hubbard 1995b] Hubbard, P.M. Collision Detection for Interactive Graphics Applications. IEEE Transactions on Visualisation and Computer Graphics. 1(3) 218-230.
[Hubbard 1996] Hubbard, P.M. Approximating Polyhedra with Spheres for Time-Critical Collision Detection. ACM Transactions on Graphics. 15(3) 179-210.
[Hughes et al. 1996] M. Hughes, C. DiMattia, M.C. Lin and D. Manocha. Efficient and Accurate Interference Detection for Polynomial Deformation. Proceedings Computer Animation ’96. 155-166
[Kitamura et al. 1998] Kitamura, Y. Smith, A. Takemura, H. Kishino, F. A real-time algorithm for accurate collision detection for deformable polyhedral objects. Presence. 7(1) 36-52.
[Klosowski et al. 1998] Klosowski, J.T. Held, M. Mitchell, J.S.B. Sowizral, H. Zikan, K. (1998) Efficient Collision Detection Using Bounding Volume Hierarchies of k-DOPs. IEEE transactions on Visualization and Computer Graphics. 4(1) 21-36.
[Krishnan et al. 1998a] Krishnan, S. Pattekar, A. Lin, M. Manocha, D. Spherical Shell: A higher order bounding volume for fast proximity queries. In Proceedings of the Third International Workshop on Algorithmic Foundations of Robotics. 177-190.
[Krishnan et al. 1998b] Krishnan, S. Gopi, M. Lin, M. Manocha, D. Pattekar, A. Rapid and Accurate Contact Determination between Spline Models using ShellTrees. Proceedings Eurographics 1998. 315-326
[Larsen et al 1999] Larsen, E. Gottschalk, S. Lin, M. and Manocha, D. Fast proximity queries with swept sphere volumes, Technical Report, Dept of Computer Science, University of North Carolina, 1999.
[Lin 1993] Lin, M.C. Efficient Collision Detection for Animation and Robotics. PhD thesis, Department of Electrical Engineering and Computer Science, University of California, Berkeley, December 1993.
[Lin and Canny 1991] Lin, M.C. Canny J.F. Efficient algorithms for incremental distance computation. IEEE Conference on Robotics and Automation, 1008-1014.
[Lin and Gottschalk 1998] Lin, M.C. Gottschalk, S. Collision Detection between Geometric models: A Survey. Proceedings of IMA conference on Mathematics of Surfaces. 37-56
[Lombardo et. al 1999] J. Lombardo and M. Cani and F. Neyret. Real-time collision detection for virtual surgery. Proceedings, Computer Animation 1999. 33-39
[Mirtich 1996] Mirtich, B. Impulse Based Dynamic Simulation of Rigid Body Systems. PhD Thesis, University of California, Berkeley.
[Mirtich 1998] Mirtich, B. V-Clip: Fast and Robust Polyhedral Collision Detection. ACM Transactions on Graphics. 17(3) 177-208.
[Mirtich 2000] Mirtich, B. Timewarp Rigid Body Simulation. Proceedings SIGGRAPH 2000. 193-200.
[Moore and Wilhelms 88] Moore, M. and Wilhelms, J. Collision Detection and Response for Computer Animation. Proceedings SIGGRAPH'88. 289-298.
[O’Rourke and Badler 1979] Decomposition of three-dimensional objects into spheres. IEEE Transactions on Pattern Analysis and Machine Intelligence, PAMI-1(3) 295-305.
[O’Sullivan and Dingliana 2001] Real vs. Approximate Collisions: When can we tell the difference. SIGGRAPH 2001 Technical Sketches Program. (To appear)
[O’Sullivan et al. 1999] O’Sullivan, C. Radach, R. Collins, S. A Model of Collision Perception for Real-Time Animation. Computer Animation and Simulation '99. 67-76.
[Palmer and Grimsdale 1995] Palmer, I.J. Grimsdale, R.L. Collision Detection for Animation using Sphere-Trees. Computer Graphics Forum, 14(2) 105-116.
[Ponamgi et al. 1997] Ponamgi, M.K. Manocha, D. Lin, M.C. Incremental Algorithms for Collision Detection Between Polygonal Models. IEEE Transactions on Visualization and Computer Graphics. 3(1) 51-64.
[Quinlan 1994] Quinlan, S. (1994) Efficient Distance Comp utation between Non-Convex Object. Proceedings International Conference on Robotics and Automation. 3324-3329.
[Rabbitz 1994] Rabbitz, R. Fast Collision Detection of Moving Convex Polyhedra. Graphics Gems IV, P.S. Heckbert, Ed. Academic Press, Cambridge, MA, 83-109.
[Reddy 1998] Reddy, M. Specification and Evaluation of Level of Detail Selection Criteria. Virtual Reality: Research, Development and Application. 3(2) 132-143.
[Rossignac and Borrel 1993] Rossignac, J. Borrel, P. Multi-resolution 3D approximations for rendering complex scenes. Geometric Modeling in Computer Graphics. 455-465.
[Sammet and Webber 1988] Sammet, H. and Webber, R. Hierarchical Data Structures and Algorithms for Computer Graphics. IEEE Comp. Graphics and Applications. 8(3) 48-68.
[Shene and Johnstone 1991] Shene, C. Johnstone, J. On the planar intersection of natural quadrics. Proceedings of ACM Solid Modeling. 234-244.
[Snyder et al. 1993] Snyder, J.M. Woodbury, A.R. Fleischer, K. Currin, B. Barr, A. Interval methods for Multi-Point Collisions between Time-Dependent Curved Surfaces. Proceedings SIGGRAPH’93 321-334.
[Van Den Bergen 1997] Efficient Collision Detection of Complex Deformable Models using AABB Trees." Journal of Graphics Tools, 2(4) 1-13.
[Volino et al. 1995] Volino, P. Courchesne, M. Thalmann, N. Versatile and Efficient Techniques for Simulating Cloth and Other Deformable Objects. Proceedings SIGGRAPH 95. 137-144.
[Von-Herzen et al. 1990] Von-Herzen, B. Barr, A.H. Zatz, H.R. Geometric Collisions for Time-Dependent Parametric Surfaces. Proceedings SIGGRAPH’99. 39-48.
[Youn and Wohn 1993] Youn, J.H. Wohn, K. Realtime Collision Detection for Virtual Reality Applications. Proceedings IEEE Virtual Reality Annual Int. Sym. 18-22.
Appendix A: Tutorial Slides
Bou
ndin
g V
olum
e H
iera
rchi
es f
or
Bou
ndin
g V
olum
e H
iera
rchi
es f
or
Inte
ract
ive
Col
lisio
n H
andl
ing
Inte
ract
ive
Col
lisio
n H
andl
ing
Gar
eth
Bra
dsha
w
Imag
e Sy
nthe
sis
Gro
upT
rini
ty C
olle
ge D
ublin
E-M
ail :
Gar
eth.
Bra
dsha
w@
cs.tc
d.ie
WW
W :
http
://is
g.cs
.tcd.
ie/g
brds
haw
Inte
ract
ive
Sim
ulat
ion
Rec
apIn
tera
ctiv
e Si
mul
atio
n R
ecap
•T
ime-
Step
Sim
ulat
ion
–U
pdat
e bo
dy’s
pos
ition
and
ori
enta
tion
base
d on
lin
ear
and
angu
lar
velo
citie
s–
Upd
ate
body
’s li
near
and
ang
ular
vel
ociti
es b
ased
on
acce
lera
tion
and
grav
ity–
Det
erm
ine
inte
ract
ions
(C
ollis
ion
Det
ectio
n) a
nd
appl
y re
leva
nt im
puls
es (
Col
lisio
n R
espo
nse)
•M
odel
ling
obje
cts
for
dete
ctio
n an
d re
spon
se
Wea
knes
ses
Wea
knes
ses
[Hub
bard
199
5a]
[Hub
bard
199
5a]
•Fi
xed
Tim
e-St
ep W
eakn
ess
–Po
sitio
n an
d or
ient
atio
n of
bod
y is
upd
ated
at e
ach
time-
step
–In
tera
ctio
ns a
re o
nly
hand
led
at th
ese
disc
rete
tim
e-st
eps
–Si
mul
atio
n tim
e is
incr
emen
ted
by f
ixed
am
ount
∆t
•L
arge
∆t g
ives
goo
d ef
fici
ency
to s
imul
atio
n•
Smal
ler
∆t g
ives
mor
e ac
cura
te c
ollis
ions
Wea
knes
ses
(2)
Wea
knes
ses
(2)
•A
ll-Pa
irs
Wea
knes
s
–Fo
r N
obj
ects
we
have
N2 /
2 ob
ject
pai
rs -
each
ha
ving
a p
oten
tially
col
lidin
g pa
ir o
f ob
ject
s
–H
ow d
o w
e ef
fici
ently
han
dle
this
exp
onen
tially
in
crea
sing
num
ber
? D
o w
e te
st a
ll ob
ject
pai
rs f
or
boun
ding
sph
ere
over
lap
?
Wea
knes
ses
(3)
Wea
knes
ses
(3)
•Pa
ir P
roce
ssin
g W
eakn
ess
–W
hen
chec
king
a p
air
of o
bjec
ts w
e ch
eck
if th
eir
mod
els
are
in c
onta
ct o
r ev
en p
enet
ratin
g
•Po
lyhe
dral
mod
el :
chec
k ea
ch f
ace,
edg
e an
d ve
rtex
for
th
e va
riou
s ca
ses
unde
r w
hich
this
occ
urs
•V
oxel
mod
el :
chec
k fo
r ov
erla
ppin
g of
act
ive
voxe
ls
betw
een
the
two
mod
els
Alg
orit
hm O
verv
iew
Alg
orit
hm O
verv
iew
•M
ultip
hase
alg
orith
m w
hich
add
ress
es th
e A
ll-P
airs
and
Pai
r-P
roce
ssin
gpr
oble
ms.
–B
road
pha
se :
effi
cien
tly c
ull p
airs
who
se b
ound
ing
boxe
s do
n’t o
verl
ap. “
Swee
p an
d P
rune
” ex
ploi
ts in
ter-
fram
e co
here
nce
to a
chie
ve n
ear
O(n
) pe
rfor
man
ce [
Coh
en e
t al.
1995
]–
Nar
row
pha
se :
utili
se s
patia
l loc
alis
atio
n te
chni
ques
to
narr
ow in
on
the
area
s of
obj
ects
whi
ch a
re in
con
tact
and
us
e th
e un
derl
ying
pol
ygon
mod
el to
det
erm
ine
the
actu
al
poin
ts o
f co
ntac
t
Nar
row
Pha
se f
or
Nar
row
Pha
se f
or
Dyn
amic
Sim
ulat
ion
Dyn
amic
Sim
ulat
ion
•O
bjec
ts a
re in
mot
ion
–N
eed
to b
e ab
le to
upd
ate
the
spat
ial s
ub-d
ivis
ion
stru
ctur
e at
eac
h si
mul
atio
n st
ep–
Eac
h ob
ject
has
a h
iera
rchy
of
boun
ding
vol
umes
. E
ach
leve
l of
the
hier
arch
y fo
rms
a tig
hter
ap
prox
imat
ion
of th
e ob
ject
•B
ound
ing
Vol
ume
Hie
rarc
hy (
BV
H)
Inte
rrup
tibl
e A
lgor
ithm
Inte
rrup
tibl
e A
lgor
ithm
[Hub
bard
199
5a, D
ingl
iana
and
O’S
ulliv
an 2
000]
[Hub
bard
199
5a, D
ingl
iana
and
O’S
ulliv
an 2
000]
•M
aint
ain
cons
iste
ntly
hig
h fr
ame-
rate
s–
Smoo
th s
imul
atio
n •
prev
ents
sim
ulat
or s
ickn
ess
•O
mits
the
fina
l sta
ge a
nd in
terr
upts
the
narr
ow
phas
e w
hen
time
slot
has
exp
ired
–T
ime
criti
cal c
ompu
ting
–B
VH
app
roxi
mat
ion
is u
sed
for
colli
sion
res
pons
e•
Tig
htne
ss o
f B
HV
is c
ritic
al to
sim
ulat
ion
qual
ity
BV
H
BV
H --
Exa
mpl
eE
xam
ple
•Q
uad-
tree
(2D
equ
ival
ent o
f oc
t-tr
ee)
Top
Lev
el4
node
sSe
cond
Lev
el4
child
ren
per
node
Thi
rd L
evel
4 ch
ildre
n pe
r no
de
BV
H
BV
H --
Des
irab
le P
rope
rtie
sD
esir
able
Pro
pert
ies
•T
he h
iera
rchy
app
roxi
mat
es th
e bo
undi
ng
volu
me
of th
e ob
ject
, eac
h le
vel r
epre
sent
ing
a tig
hter
fit
than
its
pare
nt
•Fo
r an
y no
de in
the
hier
arch
y, it
s ch
ildre
n sh
ould
col
lect
ivel
y co
ver
the
area
of
the
obje
ct
cont
aine
d w
ithin
the
pare
nt n
ode
•T
he n
odes
of
the
hier
arch
y sh
ould
fit
the
orig
inal
mod
el a
s tig
htly
as
poss
ible
BV
H
BV
H --
Des
irab
le P
rope
rtie
s (2
)D
esir
able
Pro
pert
ies
(2)
•T
he h
iera
rchy
sho
uld
be a
ble
to b
e co
nstr
ucte
d in
an
auto
mat
ic p
redi
ctab
le m
anne
r
•T
he h
iera
rchi
cal r
epre
sent
atio
n sh
ould
be
able
to
app
roxi
mat
e th
e or
igin
al m
odel
to a
hig
h de
gree
or
accu
racy
–al
low
qui
ck lo
calis
atio
n of
are
as o
f co
ntac
t
–re
duce
the
appe
aran
ce o
f ob
ject
rep
ulsi
on
Cos
t of
Nar
row
Pha
seC
ost
of N
arro
w P
hase
•O
bjec
t int
erac
tions
det
erm
ined
by
trav
ersa
l of
a pa
ir o
f hi
erar
chie
s–
Upd
ate
a no
de in
the
hier
arch
y (C
u, N
u)–
Det
ectio
n of
ove
rlap
bet
wee
n no
des
(Cv,
Nv)
–N
u&
Nv
depe
nds
on th
e nu
mbe
r of
nod
es–
Cu
& C
vde
pend
s on
the
prim
itive
use
d
Tc
=N
u*C
u+
Nv*
Cv
Sphe
reSp
here
--Tre
eT
ree
[[OO’’R
ourk
e an
dR
ourk
e an
dB
adle
rB
adle
r19
7919
79, H
ubba
rd 1
995a
& 1
996,
, H
ubba
rd 1
995a
& 1
996,
Pal
mer
P
alm
er
and
and
Gri
msd
ale
Gri
msd
ale
1995
, 19
95, D
ingl
iana
and
O’S
ulliv
an 2
000]
Din
glia
na a
nd O
’Sul
livan
200
0]
•N
odes
of
BV
H a
re s
pher
es.
•L
ow u
pdat
e co
st C
u
–tr
ansl
ate
sphe
re c
ente
r
•C
heap
ove
rlap
test
Cv
•Sl
ow c
onve
rgen
ce (
Lin
ear)
to
obj
ect g
eom
etry
–R
elat
ivel
y hi
gh N
u&
Nv
R1
R2
D
D2
< (R
1+
R2)
2
Sphe
reSp
here
--Tre
e C
onst
ruct
ion
Tre
e C
onst
ruct
ion
ME
DIA
L A
XIS
Sphe
res
plac
ed o
n ob
ject
’s m
edia
l axi
s
OC
TR
EE
Sphe
res
plac
ed o
nre
gula
r gr
id c
over
ing
obje
ct
Axi
ally
Alig
ned
Bou
ndin
g B
oxA
xial
ly A
ligne
d B
ound
ing
Box
[van
den
Ber
gen
1997
][v
an d
en B
erge
n 19
97]
•O
verl
ap c
ost C
uca
n be
low
if o
bjec
ts d
on’t
rot
ate
–T
hree
1D
inte
rval
test
s•
Bec
ome
OB
B w
hen
obje
ct r
otat
es–
Ref
it A
AB
B
•re
fit a
roun
d ob
ject
-hi
gh C
u
•re
fit
arou
nd o
rigi
nal
AA
BB
-lo
w C
uat
co
st o
f fi
t qua
lity
–U
se O
BB
ove
rlap
test
•ex
pens
ive
•C
an b
e us
ed f
or te
rrai
ns a
nd
stat
iona
ry o
bjec
ts
AA
BB
s A
AB
Bs
and
Ter
rain
san
d T
erra
ins
two
leve
l of
AA
BB
repr
esen
tatio
n of
a te
rrai
n10
00 b
alls
rol
ling
dow
n va
lley
terr
ain
colli
sion
take
s 0.
01se
c
Ori
ente
d B
ound
ing
Box
Ori
ente
d B
ound
ing
Box
[[Got
tsch
alk
Got
tsch
alk
et a
l. 19
96]
et a
l. 19
96]
•B
ette
r co
vera
ge o
f ob
ject
than
A
AB
B–
Qua
drat
ic c
onve
rgen
ce
•U
pdat
e co
st C
uis
rel
ativ
ely
high
–re
orie
nt th
e bo
xes
as o
bjec
ts r
otat
e
•O
verl
ap c
ost C
v is
hig
h–
Sepa
ratin
g A
xis
Tes
t tes
ts f
or
over
lap
of b
ox’s
pro
ject
ion
onto
15
test
axe
s
OB
B F
itti
ngO
BB
Fit
ting
•Pr
inci
ple
Com
pone
nt A
naly
sis
(PC
A)
–E
igen
vec
tors
of
Cov
aria
nce
mat
rix
or
Iner
tial T
enso
r–
Obj
ect r
epre
sent
ed b
y el
lipso
id, t
he a
xes
of
whi
ch a
re u
sed
as th
e ba
sis
for
the
OB
B•
enco
unte
rs d
iffi
culti
es w
hen
axes
are
sim
ilar
in
leng
th
–C
hild
ren
are
gene
rate
d by
spl
ittin
g th
e lo
nges
t axi
s in
to tw
o ha
lves
Dis
cret
e O
rien
ted
Dis
cret
e O
rien
ted
Pol
ytop
eP
olyt
ope
[[Klo
sow
ski
Klo
sow
skie
t al
. 199
7]et
al.
1997
]
•C
onve
x po
lyto
pe w
hose
fac
es
are
orie
nted
nor
mal
to k
dire
ctio
ns
•O
verl
ap te
st s
imila
r to
OB
B–
k/2
pair
s of
co-
linea
r ve
ctor
s–
k/2
over
lap
test
s
•k-
DO
P ne
eds
to b
e up
date
d in
a
sim
ilar
way
to th
e A
AB
B•
AA
BB
is a
6-D
OP
Sphe
rica
l She
llSp
heri
cal S
hell
[Kri
shna
n et
al.
1998
a][K
rish
nan
et a
l. 19
98a]
•Se
ctio
n co
ntai
ned
betw
een
two
conc
entr
ic
sphe
res
& w
ithin
a s
olid
ang
le o
f an
ori
enta
tion
vect
or
•Sm
all u
pdat
e co
sts
Cu
–up
date
cen
ter
and
orie
ntat
ion
vect
or
•O
verl
ap te
st C
vis
2 to
3 ti
mes
that
of
OB
B
•C
ubic
con
verg
ence
to o
bjec
t geo
met
ry–
Low
Nu
& N
v
Swep
t Sp
here
Vol
ume
Swep
t Sp
here
Vol
ume
[Lar
sen
et a
l. 19
99]
[Lar
sen
et a
l. 19
99]
•C
onvo
lutio
n of
sph
ere
with
geo
met
ric
prim
itive
–Po
int S
wep
t Sph
ere
(PSS
)–
Lin
e Sw
ept S
pher
e (L
SS)
–R
ecta
ngle
Sw
ept S
pher
e (R
SS)
•Pr
ovid
es s
imila
r tig
htne
ss o
f fi
t to
OB
B–
Fitte
d us
ing
an O
BB
•R
educ
es u
pdat
e co
st (
Cu)
and
ove
rlap
cos
t (C
v)
whe
neve
r ge
omet
ry is
wel
l sui
ted
to th
e PS
S/L
SS
Hie
rarc
hy C
onst
ruct
ion
Hie
rarc
hy C
onst
ruct
ion
•T
op D
own
–Fi
t Pri
miti
ve to
obj
ect
–R
ecur
sive
sub
divi
sion
to p
rodu
ce c
hild
ren
•B
otto
m u
p–
App
roxi
mat
e th
e ob
ject
with
a la
rge
num
ber
of
prim
itive
s–
Mer
ge o
bjec
ts in
to g
roup
s to
pro
duce
par
ent n
odes
Hyb
rid
Hie
rarc
hyH
ybri
d H
iera
rchy
•E
ach
node
is f
itted
with
the
best
fro
m a
set
of
n pr
imiti
ve ty
pes.
–In
crea
se ti
ghtn
ess
of r
epre
sent
atio
n–
O(n
2 ) d
iffe
rent
ove
rlap
test
s
Col
lisio
n de
tect
ion
betw
een
Col
lisio
n de
tect
ion
betw
een
Def
orm
able
Obj
ects
: D
efor
mab
le O
bjec
ts:
alm
ost
anot
her
prob
lem
al
mos
t an
othe
r pr
oble
m
Fabi
o G
anov
elli
Imag
e Sy
nthe
sis
Gro
upT
rini
ty C
olle
ge D
ublin
Em
ail:
Fabi
o.G
anov
elli@
cs.tc
d.ie
CD
for
Def
orm
able
Obj
ects
CD
for
Def
orm
able
Obj
ects
•M
ost o
f th
e ap
proa
ches
to c
ollis
ion
dete
ctio
n fo
r ri
gid
obje
cts
cann
ot b
e na
tura
lly e
xten
ded
to th
is c
onte
xt. T
hey
use
data
st
ruct
ures
that
:–
Can
har
dly
be c
ompu
ted
on-th
e-fl
y–
Stri
ctly
dep
end
on th
e sh
ape
of th
e ob
ject
•E
xam
ple:
–H
iera
rchy
of
Bou
ndin
g vo
lum
es:
OB
B-t
ree,
k-D
OP,
BSP
–Fo
r co
nvex
pol
ytop
es: f
eatu
re-b
ased
, V
-CL
IP, G
JK–
Furt
herm
ore,
ther
e is
a p
robl
em th
at d
oes
not e
xist
for
rig
id o
bjec
ts:
self-
inte
rsec
tion
•…
and
don’
t for
get a
typi
cal f
eatu
re o
f de
form
able
obj
ects
: ch
ange
of
topo
logy
and
/or
(fro
m th
e po
int o
f vi
ew o
f th
e m
esh)
ch
ange
of
tess
ella
tion
of th
e su
rfac
e
Out
line
Out
line
•H
iera
rchi
es a
re s
till u
sefu
l: us
e of
the
sim
ples
t bou
ndin
g vo
lum
es is
sui
tabl
e fo
r on
-the-
fly
upda
ting
•C
D f
or p
aram
etri
c su
rfac
es: e
xplo
iting
mat
hem
atic
al d
efin
ition
s of
the
surf
ace
to c
ompu
te b
ound
ing
volu
mes
and
to d
etec
t sel
f-int
erse
ctio
n
•C
D in
cl
oth
sim
ulat
ion:
sel
f in
ters
ectio
n fo
r po
lygo
nal s
urfa
ces
•C
D b
etw
een
a so
lid a
nd a
def
orm
able
obj
ect:
an e
asie
r pr
oble
m
•N
o-as
sum
ptio
n ap
proa
ches
: th
e su
rfac
e as
a s
oup
of p
olyg
ons
–In
dexi
ng th
e sp
ace
–In
dexi
ng th
e po
lygo
ns
•C
oncl
usio
n: o
ppor
tuni
ties
for
colli
sion
det
ectio
n in
def
orm
able
obj
ects
m
odel
ling
Hie
rarc
hies
Hie
rarc
hies
•A
xis
Alig
ned
Bou
ndin
g B
oxes
are
the
mos
t use
d, b
ecau
se th
ey a
re:
–E
asie
st to
com
pute
–E
asie
st to
che
ck fo
r int
erfe
renc
e
•T
hey
do n
ot p
rovi
de th
e be
st f
ittin
g vo
lum
e, b
ut th
is c
once
pt b
ecom
es a
bit
fuzz
y fo
r de
form
able
obj
ects
•T
he m
anne
r of
com
putin
g th
e bo
undi
ng v
olum
es m
arks
the
mos
t not
able
di
ffer
ence
am
ong
the
vari
ous
appr
oach
es
Th
e b
es
t fi
ttin
g i
s t
he
sp
he
reT
he
be
st f
itti
ng
is
the
bo
x
CD
for
Par
amet
ric
Surf
aces
C
D f
or P
aram
etri
c Su
rfac
es
•A
ny p
aram
etri
c s
urfa
ce is
des
crib
ed b
y a
func
tion
whe
re u
is a
val
ue in
the
para
met
ric
spac
e•
Adv
anta
ges:
–
a co
mpa
ct a
naly
tica
l des
crip
tion
of t
he s
urfa
ce
–si
mpl
er d
efor
mat
ions
•N
aïve
com
puta
tion
of b
ound
ing
volu
mes
–co
mpu
te th
e bo
undi
ng b
oxes
of s
ampl
ing
poin
ts–
Acc
urac
y de
pend
s on
sam
plin
g ra
te
–T
he k
now
ledg
e of
the
para
met
ric
func
tion
is
not u
sed
))(
),(
),(
()
(u
fu
fu
fu
fz
yx
=
CD
for
Par
amet
ric
Surf
aces
CD
for
Par
amet
ric
Surf
aces
[Von
[V
on H
erze
n H
erze
n et
al.
1990
]et
al.
1990
]
•P
robl
em s
tate
men
t: th
e su
rfac
es a
re p
aram
etri
c fu
nctio
ns o
ver
•A
ssum
ptio
n: th
e fu
nctio
ns a
re c
ontin
uous
and
res
pect
Lip
schi
tzC
ondi
tions
(n
ote:
mor
e ge
nera
l tha
n “f
inite
par
tial d
eriv
ativ
es”)
•H
iera
rchy
:k-
tree
s, b
inar
y su
bdiv
isio
n on
a k
dim
ensi
onal
box
alo
ng o
ne
dim
ensi
on (
gene
raliz
atio
n of
the
bin-
tree
s)
12
12
)(
)(
uu
Lu
fu
fr
rr
vr
−≤
−
),
,(
tv
u
CD
for
Par
amet
ric
Surf
aces
CD
for
Par
amet
ric
Surf
aces
[Von
[V
on H
erze
nH
erze
net
al 1
990]
et a
l 199
0]
•B
ound
ing
Sphe
re: i
t eas
y to
sho
w th
at
is b
ound
ed b
y a
sphe
re
cent
ered
in th
e m
iddl
e po
int o
f th
e re
ctan
gula
r re
gion
R, w
ith ra
dius
:
•A
tigh
ter
boun
ding
vol
ume
(a b
ox)
is b
uilt
usin
g L
ipsc
hitz
cond
ition
s on
the
sing
le c
ompo
nent
s of
the
par
amet
ric
func
tions
.
() t
vu
tuf
vuf
uuf
rR
∆+
∆+
∆
∂
∂
∂
∂
∂
∂≥
22
2
)(
,)
(,
)(
max
vr
vr
vr
)(Rf
r
u
v
u∆2
v∆2
Par
amet
ric
surf
aces
and
sel
fP
aram
etri
c su
rfac
es a
nd s
elf--
inte
rsec
tion
in
ters
ecti
on
[Hug
hes
et a
l. 19
96]
[Hug
hes
et a
l. 19
96]
•P
robl
em s
tate
men
t: th
e su
rfac
es a
reB
ezie
ran
d B
-spl
ines
pat
ches
•A
ssum
ptio
n: s
urfa
ces
unde
rgoi
ngpo
lyno
mia
l def
orm
atio
n
•H
iera
rchy
:in
a p
repr
oces
sing
ste
p,ea
ch s
urfa
ce is
sub
divi
ded
in s
mal
ler
patc
hes
and
resp
ectiv
e co
ntro
l po
ints
are
com
pute
d •
Bou
ndin
g vo
lum
es:
axis
alig
ned
boxe
sas
roo
t of
the
hier
arch
y an
d co
nvex
hul
l
of th
e co
ntro
l poi
nts
for
the
rest
of
the
tree
)(
)(
),
(,
00
,t
Bu
BP
vu
Fnj
m i
n jm
iij
∑∑
==
=
Par
amet
ric
surf
aces
and
sel
fP
aram
etri
c su
rfac
es a
nd s
elf--
inte
rsec
tion
in
ters
ecti
on
[Hug
hes
et a
l. 19
96]
[Hug
hes
et a
l. 19
96]
•C
ollis
ion
betw
een
diff
eren
t pat
ches
: use
of
the
conv
ex h
ull p
rope
rty:
“th
e su
rfac
e is
insi
de th
e co
nvex
-hul
l of
the
con
trol
poi
nts”
•U
se o
f in
crem
enta
l alg
orith
m to
com
pute
the
sepa
ratin
g ax
es, w
ithou
t ex
plic
itly
cons
truc
ting
the
conv
ex h
ull,
in a
vera
ge li
near
tim
e•
Not
e: c
onve
x hu
lls a
re ti
ghte
r th
an b
ound
ing
boxe
s
SA
Bou
ndin
g bo
xes
over
lap,
conv
ex h
ulls
do
not
Par
amet
ric
surf
aces
and
sel
fP
aram
etri
c su
rfac
es a
nd s
elf--
inte
rsec
tion
in
ters
ecti
on
[Hug
hes
et. a
l 199
6.]
[Hug
hes
et. a
l 199
6.]
•S
elf-i
nter
sect
ion:
“if
a sp
line
patc
h se
lf-in
ters
ects
the
nth
ere
are
at le
ast t
wo
poin
tsw
hose
nor
mal
s ar
e op
posi
te in
dir
ectio
n”
•T
he p
seud
o-no
rmal
patc
h is
stil
l a s
plin
e
•If
the
proj
ectio
n of
th
e ps
eudo
-nor
mal
pat
ch o
nto
the
unit
sphe
re d
oes
not c
onta
in th
e or
igin
then
ther
e
is n
o se
lf-in
ters
ectio
n•
If th
e co
nvex
hul
l of
the
cont
rol p
oint
s of
doe
s
not c
onta
in th
e or
igin
ther
e ca
nnot
be
self-
inte
rsec
tion.
Oth
erw
ise,
rec
ursi
vely
spl
it as
for
col
lisio
n de
tect
ion.
v
vu
F
u
vu
Fv
uN
∂
∂×
∂
∂=
),
()
,(
),
(
)(s
F
ssF ∂
∂)
(
),
(v
uN
Clo
th s
imul
atio
nC
loth
sim
ulat
ion
[[Vol
ino
Vol
ino
et a
l. 19
95]
et a
l. 19
95]
•P
robl
em s
tate
men
t:th
e cl
oth
is m
odel
ed a
s a
tria
ngul
ated
surf
ace
•S
elf-i
nter
sect
ion:
the
sam
e pr
inci
ple
as th
e ps
eudo
nor
mal
pat
ch,
but u
sing
the
tria
ngle
s’ n
orm
als
(no
anal
ytic
al d
escr
iptio
nav
aila
ble)
•If
ther
e is
a v
ecto
r n
such
that
, for
eac
h v:
and
the
2D p
roje
ctio
n of
the
cont
our
onto
the
plan
e w
hose
nor
mal
is n
does
not
sel
f in
ters
ect
then
ther
e is
no
self-
inte
rsec
tion
0>
⋅nv i
Clo
th s
imul
atio
nC
loth
sim
ulat
ion
[[Vol
ino
Vol
ino
et a
l. 19
95]
et a
l. 19
95]
•A
hie
rarc
hy o
f ax
is a
ligne
d bo
undi
ng b
oxes
is u
sed
for
colli
sion
dete
ctio
n.
Eac
h bo
undi
ng b
ox r
elat
es to
a r
egio
n R
•T
he s
ame
hier
arch
y is
use
d fo
r se
lf-in
ters
ectio
n. E
ach
node
sto
res
the
spac
e of
all
the
vect
ors
Vsu
ch th
at:
“If
Vis
not
em
pty
ther
e ca
nnot
be
clos
ed-l
oop
self-
inte
rsec
tion”
•C
ompu
tatio
n of
Vin
the
cont
inuu
m s
pace
wou
ld b
e to
o ex
pens
ive.
The
spa
ce
of th
e no
rmal
sis
dis
cret
ised
to a
few
poi
nts
inst
ead.
Rn
nv
Vv
jj
∈∀
>⋅
⇒∈
0
CD
bet
wee
n a
solid
and
a d
efor
mab
le o
bjec
t C
D b
etw
een
a so
lid a
nd a
def
orm
able
obj
ect
[Lom
bard
o et
al 1
999]
[Lom
bard
o et
al 1
999]
•P
robl
em s
tate
men
t: to
det
ect t
he c
olli
sion
bet
wee
n a
rigi
d ob
ject
and
aso
up o
f po
lygo
ns
•H
ardw
are-
base
d so
luti
on: u
sing
a v
iew
ing
volu
me
as a
bou
ndin
g bo
x fo
r the
rigi
d ob
ject
•U
sing
the
Ope
nGl p
icki
ng m
ode
to s
ee w
hich
par
t of t
he o
bjec
t wo
uld
be ra
ster
ized
, i.e
. whi
ch p
olyg
ons
inte
rsec
t the
vie
win
g vo
lum
e
feed p
oly
gons
clip
pin
gra
ste
riza
tio
n
fra
me
bu
ffe
r
se
lect
mo
de
feedback
Ope
nGl p
ipel
ine
Poi
nt o
f vie
w
Nea
r C
lippi
ng P
lane
Far
Clip
ping
Pla
ne
Vie
win
g vo
lum
e
CD
bet
wee
n a
solid
and
a d
efor
mab
le o
bjec
t C
D b
etw
een
a so
lid a
nd a
def
orm
able
obj
ect
[Lom
bard
o et
al 1
999]
[Lom
bard
o et
al 1
999]
•T
he v
iew
ing
volu
me
can
be u
sed
as a
spa
ce-t
ime
boun
d.
•V
iew
ing
volu
me
can
be c
ombi
ned
with
clip
ping
pla
nes
to o
btai
n tig
hter
bo
undi
ng v
olum
es•
It is
sim
ple
to im
plem
ent a
nd v
ery
effi
cien
t for
col
lisio
n be
twee
n on
e si
mpl
e ri
gid
obje
ct a
nd a
def
orm
able
obj
ect.
•It
req
uire
s dr
awin
g al
l the
pol
ygon
s in
the
scen
e. I
f no
oth
er te
chni
que
is u
sed
for
the
broa
d ph
ase
colli
sion
det
ectio
n, th
e pe
rfor
man
ce c
an d
rast
ical
ly
wor
sene
d.tail t
tail t
+dt
head
the
adt+
dt
CD
bet
wee
n a
solid
and
a d
efor
mab
le o
bjec
t C
D b
etw
een
a so
lid a
nd a
def
orm
able
obj
ect
[[Cot
in e
t al
199
8C
otin
et
al 1
998]]
•P
robl
em s
tate
men
t: t
o de
tect
the
colli
sion
bet
wee
n a
rigid
obj
ect
and
ade
form
able
obj
ect r
epre
sent
ed a
s a
tria
ngul
ar s
urfa
ce•
Ass
um
pti
on:t
he r
igid
obj
ect i
s di
scre
tized
with
a s
et o
f po
ints
•T
he b
ound
ing
box
of th
e ob
ject
is p
artit
ione
d in
to a
gri
d of
buc
kets
and
eac
h bu
cket
is a
ssoc
iate
d w
ith th
e lis
t of
vert
ices
incl
uded
in it
•Fo
r ea
ch p
oint
of
the
rigi
d ob
ject
, the
nea
rest
tria
ngle
is f
ound
am
ong
the
ones
sha
ring
the
near
est v
ertic
es
•F
urth
er a
ssum
ptio
n: T
he n
eare
st tr
iang
le is
inci
dent
in
the
near
est v
ertic
es.
Buc
ket
Buc
ket--
tree
tr
ee
[Gan
ovel
li et
al.
2000
][G
anov
elli
et a
l. 20
00]
•P
robl
em s
tate
men
t:an
obj
ect i
s a
soup
of
poly
gons
fre
ely
mov
ing
•T
he b
ound
ing
box
of th
e ob
ject
is p
artit
ione
d in
a g
rid
of
buck
ets
whe
re
f
or s
ome
k
•A
com
plet
e oc
t-tr
ee w
ith k
leve
ls is
bui
lt on
the
grid
of b
ucke
ts (
a b
ucke
t is
a le
af o
f th
e tr
ee)
•T
he b
ucke
ts c
onta
in th
e ve
rtic
es o
f th
e po
lygo
ns
•T
he n
odes
of
the
octr
ee c
onta
in th
e lis
t of
the
prim
itive
s w
hose
ver
tices
are
all
in th
e co
rres
pond
ing
box
zy
xn
nn
⋅⋅
kin
8=
Bui
ldin
g hi
erar
chie
s on
Bui
ldin
g hi
erar
chie
s on
--theth
e--fl
y fl
y [K
itam
ura
et a
l.199
8][K
itam
ura
et a
l.199
8]
•P
robl
em s
tate
men
t:an
obj
ect i
s a
soup
of
poly
gons
fre
ely
mov
ing
•A
n oc
t-tr
ee is
bui
lt on
ly w
hen
two
or m
ore
boun
ding
box
es o
verl
ap.
–T
he o
ct-t
ree
is b
uilt
top-
dow
n ov
er p
olyg
ons
incl
uded
in th
e ov
erla
ppin
g re
gion
s.–
The
root
of t
he o
ct-t
ree
is a
box
incl
udin
g al
l the
sce
ne
•N
ote:
so
far,
this
app
roac
h is
the
only
one
nat
ural
ly s
uppo
rtin
gcu
ts•
The
aut
hors
pro
ved
expe
rim
enta
lly th
at th
is a
ppro
ach
is f
aste
r th
an G
JK a
nd I-
CO
LL
IDE
for
con
vex
rigi
d ob
ject
s
AA
BB
Tre
es
AA
BB
Tre
es
[Van
Den
Ber
gen
1998
] [V
an D
en B
erge
n 19
98]
•P
robl
em s
tate
men
t: th
e su
rfac
e of
an
obje
ct i
s te
ssel
late
d w
ith p
olyg
ons
•T
he h
iera
rchy
of
boxe
s ca
n be
qui
ckly
upd
ated
usi
ng th
e fo
llow
ing
prop
erty
: le
t be
the
smal
lest
AA
BB
of
a re
gion
R a
ndtw
o re
gion
s. T
hen:
•…
so th
e hi
erar
chy
is u
pdat
ed in
O(n
)tim
e
•N
ote:
this
is n
ot th
e sa
me
as r
ebui
ldin
g th
e hi
erar
chy
)(R
Sm2
1,r
r
)(
))(
)(
(2
12
1r
rSm
rSm
rSm
Sm∪
=∪
Ref
itted
Reb
uilt
Con
clus
ions
Con
clus
ions
•D
efor
mab
le o
bjec
ts p
lay
a fu
ndam
enta
l rol
e in
man
y co
ntex
ts•
Som
e so
lutio
ns to
the
colli
sion
det
ectio
n pr
oble
m h
ave
been
fo
und
in s
peci
fic
cont
exts
•M
ost o
f th
em n
eed
som
e as
sum
ptio
ns o
n th
e ra
nge
of
defo
rmat
ions
, mes
h co
nnec
tivity
or
step
siz
e•
Self
-col
lisio
ns a
re li
kely
to h
appe
n in
the
pres
ence
of
cuts
and
/or
lace
ratio
ns. N
one
of th
e re
view
ed a
ppro
ache
s ca
n ha
ndle
this
si
tuat
ion.
Col
lisio
n R
espo
nse
Col
lisio
n R
espo
nse
Ove
rvie
w•
The
col
lisio
n re
spon
se p
robl
em•
Sim
ulat
ion
disc
ontin
uitie
s an
d no
n-in
terp
entr
atio
n•
Fast
res
pons
e fo
r In
tera
ctiv
e A
nim
atio
n•
Cal
cula
ting
colli
sion
res
pons
es•
App
roxi
mat
e co
llisi
on r
espo
nse
•C
onta
ct m
odel
ling
•Sc
hedu
ling
issu
es
John
Din
glia
naIm
age
Synt
hesi
s G
roup
, TC
DJo
hn.D
ingl
iana
@cs
.tcd.
ie
Col
lisio
n R
espo
nse
Col
lisio
n R
espo
nse
•C
ollis
ion
Res
pons
e [M
oore
and
Wilh
elm
s 88
]:“a
utom
atic
sug
gest
ions
abo
ut th
e m
otio
ns o
f obj
ects
im
med
iate
ly fo
llow
ing
a co
llisi
on;
anim
atio
n sy
stem
s us
ing
dyna
mic
al s
imul
atio
n in
here
ntly
mus
t res
pond
to
colli
sion
s au
tom
atic
ally
and
rea
listic
ally
”•
Con
tact
info
rmat
ion
alon
e is
ver
y us
eful
for
inte
ract
ion,
pi
ckin
g, c
ollis
ion
avoi
danc
e et
c.•
In s
elf-
regu
latin
g dy
nam
ic s
imul
atio
ns (
e.g.
vir
tual
en
viro
nmen
ts)
colli
sion
s ar
e th
e ba
sis
for
inte
ract
ion
betw
een
diff
eren
t obj
ects
, bet
wee
n us
ers
and
obje
cts
Pro
blem
s of
Col
lisio
n R
espo
nse
Pro
blem
s of
Col
lisio
n R
espo
nse
•In
Phy
sica
lly B
ased
Ani
mat
ion,
obj
ects
nee
d to
beh
ave
in w
ays
sim
ilar
to th
eir
real
-wor
ld c
ount
erpa
rts
–W
e ne
ed to
ens
ure
that
obj
ect b
ehav
e ac
cord
ing
to b
elie
vabl
e dy
nam
ics
–W
e ne
ed to
enf
orce
non
-int
erpe
netr
atio
n
•C
ollis
ions
are
a s
ourc
e of
unp
redi
cata
ble
sim
ulat
ion
disc
onti
nuit
ies.
As
a re
sult
they
cre
ate
addi
tiona
l w
orkl
oad
for
the
sim
ulat
ion
mec
hani
sm e
ven
afte
r th
e ex
pens
ive
proc
ess
of c
ollis
ion
dete
ctio
n.
Rig
id B
ody
Dyn
amic
sR
igid
Bod
y D
ynam
ics
•A
ll ob
ject
s ar
e as
soci
ated
w
ith a
set
of
cons
tant
s an
d st
ate
vari
able
s.
Rig
idB
ody
Mas
s=
MIn
ertia
lTen
sor=
IB
OD
Y
Posi
tion
= x(
t)O
rien
tatio
n=
R(t
)L
inea
rMom
entu
m=
P(t
)A
ngul
arM
omen
tum
= L
(t)
Y(t
)=
Sim
ulat
ion
invo
lves
fi
ndin
g th
e ch
ange
of
Y
over
tim
e:
=
=
)(
)(
)(
*)(
)(
)(
)(
)(
)(
)(
ttF
tR
t
tv
tL
tP
tR
tx
dtdt
dtd
τ
ωY
for
deta
ils, s
ee [
Bar
aff
and
Witk
in 9
7]
Rig
id B
ody
Col
lisio
nsR
igid
Bod
y C
ollis
ions
•C
ollis
ions
are
a s
ourc
e of
di
scon
tinui
ty in
the
sim
ulat
ion
proc
ess
•Pa
rtic
ular
ly in
the
case
of
rigi
d bo
dies
we
need
to c
ompu
te a
n (i
nsta
ntan
eous
) ch
ange
in s
tate
at
the
time
of c
ollis
ion
to
prev
ent c
ollid
ing
obje
cts
from
pe
netr
atin
gSt
eady
sim
ulat
ion
is in
terr
upte
d by
di
scon
tinu
ity
due
to c
olli
sion
Dis
cont
inui
ty
Non
Non
--Int
erpe
netr
atio
nIn
terp
enet
rati
on•
Unf
ortu
nate
ly in
com
pute
r an
imat
ion
we
are
deal
ing
with
dis
cret
e tim
este
ps. S
o th
e in
stan
t of
colli
sion
(or
po
int o
f di
scon
tinui
ty)
is n
ot o
bvio
us.
•In
mos
t cas
es c
ollis
ion
dete
ctio
n re
turn
s th
e fa
ct th
at
obje
ct h
ave
inte
rpen
etra
ted
at ti
me
t 0+∆
t
time
= t
0+∆t
time
= t
0
•Fo
r ac
cura
te c
alcu
latio
ns w
e ne
ed th
e ex
act c
ollis
ion
time
time
= t
C
Tim
este
p B
isec
tion
Tim
este
p B
isec
tion
•O
ne s
impl
e so
lutio
n is
to s
tep
back
war
ds in
sim
ulat
ion
time
and
redo
col
lisio
n de
tect
ion
•A
use
ful (
if n
ot r
easo
nabl
e)
gues
s m
ight
be
t 0+
∆t/2
•T
his
proc
ess
is r
epea
ted
until
we
achi
eve
a re
sult
unde
r so
me
thre
shol
d ac
cura
cy ∈
•So
me
appr
oach
es a
ttem
pt to
ca
lcul
ate
t C
time
= t
0+∆t
time
= t
0+∆t
/2+
∆t/
4
time
= t
0
time
= t
0+∆t
/2
•R
educ
es w
aste
d co
mpu
tatio
n en
coun
tere
d in
bis
ectio
n by
pr
e-em
ptiv
ely
redu
cing
tim
este
ps
•A
con
serv
ativ
e ap
prox
imat
ion
is ta
ken
as to
w
hen
disc
ontin
uity
occ
urs
and
sim
ulat
ion
take
s pl
ace
to
this
poi
nt
•A
s di
scon
tiuity
get
s cl
oser
in
crea
sing
ly s
mal
l ste
ps a
re
take
n
Ada
ptiv
e T
imes
teps
Ada
ptiv
e T
imes
teps
time
= t
0
t 0 +
∆t
t 0 +
2∆t
…+
2∆
t + ∆
t /2
…+
∆t/4
…+
∆t/8
Tim
este
p is
hal
ved
whe
n th
e sp
acet
ime-
boun
d su
gges
ts th
at
the
obje
ct w
ill i
nter
pene
trat
e in
the
next
ste
p
Tim
ewar
pT
imew
arp
•[M
irtic
h 20
00]
Mai
n pr
oble
m w
ith p
revi
ous
met
hods
ar
e th
at th
ey d
eal w
ith th
e sy
nchr
onou
s ev
olut
ion
of
the
entir
e sc
ene
•A
sync
hron
ous
proc
essi
ng o
f in
divi
dual
inte
ract
ions
ca
n gr
eatly
impr
ove
perf
orm
ance
•
Bas
ic id
ea is
to r
ollb
ack
to ti
me
of d
isco
ntin
uity
but
on
ly f
or r
elev
ant o
bjec
ts th
at h
ave
pene
trat
ed a
nd f
or
obje
cts
depe
nden
t on
thes
e•
Sim
ilar
to h
avin
g se
vera
l dif
fere
nt s
imul
atio
n pr
oces
ses
com
mun
icat
ing
at k
ey p
oint
s (c
ollis
ions
)
Col
lisio
n R
espo
nse
in V
irtu
al
Col
lisio
n R
espo
nse
in V
irtu
al
Env
iron
men
tsE
nvir
onm
ents
•Pr
imar
y co
ncer
n in
inte
ract
ive
virt
ual e
nvir
onm
ents
is
spee
d. W
e m
ust g
uara
ntee
hig
h an
d co
nsta
nt f
ram
e ra
tes.
•M
any
of th
e “a
ccur
ate”
sol
utio
ns b
ecom
e in
feas
ible
for
po
pula
ted
scen
es o
f un
pred
icta
ble
com
plex
ity.
•Si
mpl
ific
atio
n is
a n
eces
sity
for
any
targ
et f
ram
erat
e.•
Dif
fere
nt a
ppro
ache
s ad
opte
d di
ffer
ent s
impl
ifyi
ng
assu
mpt
ions
.•
Fort
unat
ely
man
y si
mpl
ific
atio
ns m
ay g
o un
notic
ed in
an
inte
ract
ive
sim
ulat
ion.
Pla
usib
le v
s. A
ccur
ate
Res
pons
eP
laus
ible
vs.
Acc
urat
e R
espo
nse
•[B
arze
l et a
l 199
6] “
wha
t is
real
ly o
f in
tere
st is
pl
ausi
ble
mot
ion
whi
ch is
som
ewha
t dif
fere
nt (
from
ac
cura
te m
otio
n)”
•U
sers
are
oft
en u
nabl
e to
cor
rect
ly p
redi
ct r
esul
ting
stat
es a
fter
eve
nts
such
as
colli
sion
s•
We
can
expl
oit t
his
unce
rtai
nty
in o
rder
to r
educ
e si
mul
atio
n w
orkl
oad
•U
sing
app
roxi
mat
e so
lutio
ns (
in p
lace
of
m
athe
mat
ical
ly c
onsi
sten
t sol
utio
ns)
may
intr
oduc
e ra
ndom
ness
whi
ch c
an in
fact
enh
ance
the
plau
sibi
lity
of c
erta
in s
imul
atio
ns
Dyn
amic
s C
ullin
gD
ynam
ics
Cul
ling
•O
ne a
ppro
ach
for
redu
cing
wor
kloa
d in
vir
tual
en
viro
nmen
ts is
by
culli
ng th
e no
n-vi
sibl
e•
In s
imul
atio
n ho
wev
er w
e m
ust c
onsi
der
the
cons
eque
nces
as
non-
visi
ble
obje
cts
may
indi
rect
ly o
r in
fut
ure
fram
es a
ffec
t the
vis
ible
sce
ne. [
Che
nny
and
Fo
rsyt
h 97
] W
e m
ust m
aint
ain
:–
Con
sist
ency
of
stat
e w
hen
it re
turn
s in
to v
iew
–
Com
plet
enes
s: c
erta
in v
isib
le o
bjec
ts r
eact
with
the
obje
cts
in n
on-v
isib
le
regi
ons
–C
ausa
lity:
cer
tain
eve
nts
in th
e vi
sibl
e re
gion
aff
ect t
he s
tate
s of
the
non
-vi
sibl
e (c
onsi
sten
cy r
equi
red
whe
n th
is b
ecom
es v
isib
le)
Sim
ulat
ion
Lev
els
of D
etai
lSi
mul
atio
n L
evel
s of
Det
ail
•A
n al
tern
ativ
e ap
proa
ch to
red
ucin
g w
orkl
oad
is b
y ap
plyi
ng
vary
ing
sim
plif
icat
ions
to s
imul
atio
n ru
les
acro
ss th
e sc
ene
•e.
g. [
Car
lson
and
Hod
gins
199
7] u
se a
dif
fere
nt s
et o
f ru
les
for
sim
ulat
ing
obje
cts
“out
of
view
or
too
far
to b
e se
en”
•Si
mpl
ific
atio
n ac
ross
the
scen
e ca
n be
bas
ed o
n vi
sibi
lity/
perc
eptib
ility
or
sim
ilar
cost
/ben
efit
heur
istic
[F
unkh
ouse
r an
d Se
quin
199
3]•
Ada
ptiv
e re
fine
men
t of
colli
sion
dat
a [D
ingl
iana
and
O’S
ulliv
an
2000
] ca
n al
so b
e us
ed to
gen
erat
e co
nsis
tent
res
ults
acr
oss
the
visi
ble
scen
e.
Spri
ng B
ased
Res
pons
eSp
ring
Bas
ed R
espo
nse
•Pl
aces
a v
irtu
al s
prin
g at
eac
h co
llisi
on p
oint
to p
ush
two
obje
cts
apar
t •
Eas
y to
und
erst
and
and
prog
ram
, app
lies
equa
lly w
ell
to r
igid
and
non
-rig
id b
odie
s•
Num
eric
al e
ffor
t inc
reas
es w
ith v
iole
nce
of c
ollis
ion
(sm
alle
r tim
este
ps r
equi
red)
•A
.K.A
. Pen
alty
met
hods
–O
bjec
ts a
llow
ed to
pen
etra
te
–Sp
ring
for
ce p
ropo
rtio
nal t
o in
terp
entr
atio
n
Impu
lse
Bas
ed R
espo
nse
Impu
lse
Bas
ed R
espo
nse
•Q
uick
loca
l cal
cula
tion
of in
stan
tani
ous
chan
ge in
ve
loci
ties
is p
ossi
ble
at c
onta
ct p
oint
s•
Goo
d so
lutio
n fo
r ri
gid
bodi
es b
ut it
is d
iffi
cult
to
mod
el r
estin
g co
ntac
t and
sta
tic f
rict
ion
()
()
()
)r
(ùv
)r
(ùv
nv
bb
ba
aa
C×
+−
×+
•=
)i
ix
pr
−=
()
()
bb
ba
aa
ba
C
mm
rn
rI
nr
nr
In
v
××
•+
××
•+
+
∈+
−
−−
=)
()
(1
1)
1(j
11
))
))
for
elas
tici
ty ∈∈
, col
lisio
n po
int p
, col
lisio
n no
rmal
ñ
ñ njJ
)=
Impu
lse
caus
es..
∆P
= J
JL
impu
lse
×−
==
∆)
(x
pτ
[Mir
tich
1998
]
Con
stra
int
base
d m
etho
dsC
onst
rain
t ba
sed
met
hods
•M
akes
a d
istin
ctio
n be
twee
n co
ntac
t and
col
lisio
n
•s
•Fo
r ob
ject
s m
ovin
g to
war
ds e
ach
othe
r (n
egat
ive
rela
tive
velo
citie
s), f
orce
app
lied
over
tim
e is
not
en
ough
to p
reve
nt in
terp
enet
ratio
n•
Cha
ngin
g na
ture
of
cons
trai
nts
can
caus
e hi
gh
com
puta
tiona
l dem
and
mg
F
For
two
obje
cts
in c
onta
ct (
rela
tive
velo
city
0) e
nsur
e th
at th
e ri
ght f
orce
is a
pplie
d to
pr
even
t the
m f
rom
inte
rpen
etra
ting
Con
tact
Mod
ellin
gC
onta
ct M
odel
ling
•In
all
of th
ese
met
hods
we
requ
ire:
–In
itial
sta
tes
of c
ollid
ing
obje
cts
–C
onta
ct p
oint
s or
con
tact
man
ifol
d–
Dir
ectio
n to
app
ly im
puls
es, o
r fo
rces
•W
e ne
ed m
ore
than
a y
es/n
o in
put f
rom
CD
•M
any
appr
oach
es e
.g. [
Palm
er a
nd G
rim
sdal
e 95
] al
way
s pe
rfor
m n
arro
w p
hase
acc
urat
e C
D –
poly
gon
inte
rsec
tion
test
s•
Tim
e C
ritic
al C
D n
eeds
res
ults
fro
m r
efin
able
(pr
e-na
rrow
pha
se)
colli
sion
det
ectio
n!
Per
cont
act c
alcu
latio
ns a
re c
onst
ant t
ime…
How
can
we
intr
oduc
eL
.O.D
.?
Con
tact
App
roxi
mat
ion
in
Con
tact
App
roxi
mat
ion
in
Hie
rarc
hica
l CD
Hie
rarc
hica
l CD
•H
iera
rchi
cal M
odel
s ar
e ap
prox
imat
ions
of
an o
bjec
ts v
olum
e. A
s a
resu
lt ca
lcul
ated
co
ntac
ts c
an o
nly
be a
ppro
xim
ate.
•Sp
here
tre
e ex
ampl
e: f
or a
ny c
ollid
ing
node
s w
e ca
n ap
prox
imat
e a
colli
sion
poi
nt
c. T
his
appl
ies
for
case
s of
inte
rpen
etra
tion
(0 <
d <
∈)
as w
ell
as g
ap (-
∈<
d ≤
0)•
As
we
go d
eepe
r in
the
hier
arch
y th
is
appr
oxim
atio
n be
com
es in
crea
sing
ly m
ore
accu
rate
•Fo
r m
ultip
le in
terp
entr
atio
n w
e re
solv
e by
co
mbi
natio
n or
by
appr
oxim
atio
n of
con
tact
or
der
to f
ind
a si
ngle
ove
rall
resp
onse
to th
e co
llisi
on
n)
n)−
O1
O2
R2
R1
C
21
21
RR=
−−
oc
oc
12
12
oo
oo
n−−
=)
A N
onA
Non
--det
erm
inis
tic
cont
act
dete
rmin
isti
c co
ntac
t m
odel
mod
el
0.6
0.7
0.7
0.0
1.0
0.5
1.0
Surf
ace
cros
sing
prob
abili
tys i
Col
lisio
n pr
obab
ility
C (
s 1,s
2,p
12 )
Mea
sure
of
Inte
rpen
etra
tion
p
Vol
ume
reps
are
usu
ally
con
serv
ativ
e ov
er-e
stim
ates
of
act
ual o
bjec
t vol
ume
we
can
assi
gn a
sur
face
cr
ossi
ng p
roba
bilit
y (o
r de
nsity
met
ric)
to r
epre
sent
the
prob
abili
ty o
f a
node
inte
rpen
etra
tion
repr
esen
ting
an
actu
al c
ollis
ion.
For
each
nod
e co
llisi
on w
e ha
ve:
The
eas
iest
app
roac
h is
whe
re s
i =1,
we
mod
el b
ehav
iour
s of
the
boun
ding
vo
lum
es p
erfo
rmin
g st
ep-b
ack
and
non
-int
erpe
netr
atio
n as
requ
ired
. H
owev
er w
e ca
n us
e th
is in
form
atio
n to
app
roxi
mat
e co
llis
ion
norm
als
(sim
ilar
to s
ome
volu
me
rend
erin
g ap
proa
ches
)
0.6
Sche
dulin
g C
ollis
ion
Han
dlin
gSc
hedu
ling
Col
lisio
n H
andl
ing
•Pe
r-co
llisi
on r
espo
nse
calc
ulat
ions
are
con
stan
t tim
e an
d no
n-re
fina
ble
•H
owev
er w
e ca
n in
heri
t ref
inab
ility
and
inte
rrup
tibili
ty
dire
ctly
fro
m th
e co
llisi
on d
etec
tion
mec
hani
sm
It is
pos
sibl
e to
app
roxi
mat
e (i
f no
t pr
edic
t) th
e pe
r-co
llisi
on c
ompu
tatio
n tim
e.
Bas
ed o
n th
is th
e sc
hedu
ler
pre-
allo
cate
s pr
oces
sing
tim
e fo
r re
spon
se.
Col
lisio
n de
tect
ion
is r
efin
ed w
ithin
the
tim
e-qu
ota
min
us
prea
lloca
ted
resp
onse
pr
oces
sing
tim
e
Time quota Time quota
Tim
e u
sed
Tim
e u
sed
Pre
allo
cate
d:
1 co
lliso
ns(s
) to
res
olve
Pre
allo
cate
d:
2 co
lliso
ns(s
) to
res
olve
1 L
EV
EL
of
RE
FIN
EM
EN
T
Tim
e re
mai
ning
Tim
e re
mai
ning