collision handling for virtual environments

35
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

Upload: others

Post on 20-Oct-2021

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Collision Handling for Virtual Environments

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

Page 2: Collision Handling for Virtual Environments

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

Page 3: Collision Handling for Virtual Environments

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

Page 4: Collision Handling for Virtual Environments

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.

Page 5: Collision Handling for Virtual Environments

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)

Page 6: Collision Handling for Virtual Environments

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.

Page 7: Collision Handling for Virtual Environments

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.

Page 8: Collision Handling for Virtual Environments

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

Page 9: Collision Handling for Virtual Environments

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].

Page 10: Collision Handling for Virtual Environments

• 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:

Page 11: Collision Handling for Virtual Environments

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

Page 12: Collision Handling for Virtual Environments

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.

Page 13: Collision Handling for Virtual 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).

Page 14: Collision Handling for Virtual Environments

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.

Page 15: Collision Handling for Virtual Environments

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

Page 16: Collision Handling for Virtual Environments

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.

Page 17: Collision Handling for Virtual Environments

[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.

Page 18: Collision Handling for Virtual Environments

[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.

Page 19: Collision Handling for Virtual Environments

Appendix A: Tutorial Slides

Page 20: Collision Handling for Virtual Environments

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

?

Page 21: Collision Handling for Virtual Environments

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

Page 22: Collision Handling for Virtual Environments

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

Page 23: Collision Handling for Virtual Environments

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

Page 24: Collision Handling for Virtual Environments

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

Page 25: Collision Handling for Virtual Environments

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

Page 26: Collision Handling for Virtual Environments

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

Page 27: Collision Handling for Virtual Environments

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

∑∑

==

=

Page 28: Collision Handling for Virtual Environments

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

Page 29: Collision Handling for Virtual Environments

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=

Page 30: Collision Handling for Virtual Environments

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.

Page 31: Collision Handling for Virtual Environments

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]

Page 32: Collision Handling for Virtual Environments

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

Page 33: Collision Handling for Virtual Environments

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)

Page 34: Collision Handling for Virtual Environments

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

+−

×+

•=

)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

[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

Page 35: Collision Handling for Virtual Environments

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