Download presentation
Presentation is loading. Please wait.
Published byEugene Kelly Modified over 5 years ago
1
Kinetic Collision Detection for Convex Fat Objects
Mohammad Abam Mark de Berg Sheung-Hung Poon Bettina Speckmann
2
Kinetic Data Structures
Simulate system of continuously moving objects. Efficiently maintain discrete attributes of objects: closest pair of objectst convex hull minimum spanning tree binary space partition ...
3
Example: convex hull
4
Example: convex hull
5
Dynamic data structures
Allow insertions and deletions of objects at discrete times. Not suitable for handling moving objects.
6
Time sampling approach
Choose fixed time step. Update the positions of moving objects at each time step. Update the data structure with the new positions of objects.
7
Time sampling approach
How to choose the proper time step? Oversampling Undersampling t t
8
Time sampling approach
Combinatorial changes occur in irregular patterns. t
9
Kinetic Data Structures
(Basch, Guibas, and Hershberger, 1998) Use any static algorithm to compute the configuration function (i.e. the discrete attribute). Turn the algorithm into a proof that this attribute is correct. Animate this proof through time.
10
Example: convex hull Proof: a is to the left of bc
d is to the left of bc b is to the right of ad c is to the left of ad c d a b c b d a a c d b d a b c
11
Example: convex hull t1 Certificate Failure time
d t1 Certificate Failure time a is to the left of bc d is to the left of bc b is to the right of ad c is to the left of ad t2 b never d is to the right of bc t1 b is to the left of ad t2 never
12
Kinetic Data Structures
Proof of correctness of attribute (certificates) Priority queue (event queue) Assumptions A simple model for motion: each object follows a known flight plan with rational parameters. Certificates are algebraic; failure is next largest root.
13
Kinetic Data Structures
Efficient KDS exist for 2d convex hull Closest pair Delaunay triangulation Diameter, width of point sets Collision detection between simple polygons in the plane, between two convex polyhedra in 3D, between multiple convex fat objects of similar sizes in 3D …
14
Kinetic Data Structures
Collision detection Set of geometric tests (elementary certificates) that certify that the input objects are disjoint.
15
Balls rolling on a plane
Arbitrary sizes
16
Convex fat constant-complexity objects free-flying in 3D
17
Kinetic data structure properties
A KDS is called compact if it uses little space in addition to the input. responsive if the data structure invariants can be restored quickly after the failure of a certificate. local if it can be updated easily if the flight plan for an object changes. efficient if the worst-case number of events handled by the data structure is small compared to some worst case number of external events.
18
Locality
19
Related work Same-size convex fat objects [Basch, Guibas, and Zhang, 1997] Compactness O(n log2 n) certificates Responsiveness each event can be handled in O(log3 n) time Efficiency O(n2) events in the worst case Two convex polyhedra [Erickson, Guibas, Stolfi, and Zhang, 1999] [Guibas, Xie, and Zhang, 2001] We do arbitrary sizes!
20
Balls rolling on a plane
Balls Bi with center ci and radius ri. Certificate of non-collision: dist(ci,cj) – ri – rj > 0 Bi Bj
21
Collision tree
22
Threshold disks Smallest blue ball with radius = rmin
23
Threshold disks
24
Threshold disks
25
Threshold disks
26
Threshold disks Threshold disk of radius Bi
27
Threshold disks
28
Threshold disks
29
Threshold disks
30
Threshold disks
31
Non-collision certificates
Lemma: Each point in the plane is contained in at most a constant number of threshold disks. The number of non-collision certificates is O(n).
32
Kinetic maintenance
33
Kinetic maintenance Replace threshold disks by threshold boxes.
34
Kinetic maintenance Replace threshold disks by threshold boxes.
Maintain two sorted lists on x- and y-coordinates of tangency points and threshold boxes. O(n) certificates.
35
Kinetic maintenance Lemma: Each point in the plane is contained in at most a constant number of threshold boxes. The number of non-collision certificates is O(n).
36
Kinetic data structure properties
Balls rolling on a plane Compactness O(n log n) certificates Responsiveness each event can be handled in logarithmic time. Efficiency O(n2) events in the worst case, assuming that the balls follow constant-degree algebraic trajectories.
37
Convex fat constant-complexity objects free-flying in 3D
38
Fat objects
39
Fat objects
40
Fat objects
41
Fat objects ri ro Definition: An object is called ρ-fat if ro/ri < ρ.
42
Convex fat constant-complexity objects free-flying in 3D
Balls rolling on a plane: threshold disks of radius Balls free flying: threshold disks of radius ri + rmin
43
Guarding fat objects
44
Guarding fat objects Lemma For any ρ-fat object K, there is a set G(K) of O(ρ6) guarding points such that any ρ-fat object K’ that collides with K and is at least as large as K contains a point from G(K).
45
Guarding fat objects Lemma For any ρ-fat object K, there is a set G(K) of O(ρ6) guarding points such that any ρ-fat object K’ that collides with K and is at least as large as K contains a point from G(K).
46
Problem: Hard to do efficiently
Guarding fat objects Lemma For any ρ-fat object K, there is a set G(K) of O(ρ6) guarding points such that any ρ-fat object K’ that collides with K and is at least as large as K contains a point from G(K). Approach For each g ∈ G(K) maintain the object K(g) containing g Solution Replace objects by their bounding boxes Problem: Hard to do efficiently
47
maintain the smallest k objects whose bounding box contains g
Bounding boxes A guard g can be contained in many bounding boxes but only the smaller objects can actually contain g maintain the smallest k objects whose bounding box contains g
48
Making it work … A guard g.
49
Making it work … The unit cube centered at g.
50
Making it work … A grid whose cells have edge length O(ρ2) grid cells.
51
Making it work … Triangulate the grid.
52
Making it work … Every triangle …
53
Making it work … Every triangle defines an infinite cone.
54
Making it work … object K bb(K) = axis-aligned bounding box of K
guard g Γ(g) = set of all cones for g Lemma Let K(γ) be the set of all objects K whose centers lie in a cone γ and such that bb(K) contains the apex g of the cone. Suppose that one of these objects, K(g), contains g. Then K(g) must be among the smallest objects in K(γ).
55
Summary For each object K compute a set of O(ρ6) guards G(K).
For each guard g ∈ G(K) construct the set Γ(g) of O(ρ2) infinite cones with apex g. For each cone γ∈Γ(g) maintain the smallest objects K*(γ) whose center lies inside γ and whose bounding box contains g. Certify disjointness for K and all objects in the K*.
56
Maintenance Need to maintain for each γ∈Γ(g) the collection K*(γ) of smallest objects whose centers are inside γ and whose bounding boxes contain g. Box event a bounding box starts or stops to contain a guard Center event a center moves into or out of a cone 3 level range tree, three level segment tree, sorted lists, kinetic variants of range and segment trees
57
Kinetic data structure properties
Convex fat constant complexity objects free-flying in 3D Compactness O(ρ2 n log6 n + ρ7n) certificates Responsiveness each event can be handled in O(log6 n + ρ6) time. Efficiency O(ρ13 n2) events in the worst case, assuming that the balls follow constant- degree algebraic trajectories. linear number of candidate pairs
58
Kinetic data structure properties
Convex fat constant complexity objects free-flying in 3D Compactness O(n log6 n) certificates Responsiveness each event can be handled in O(log6 n) time. Efficiency O(n2) events in the worst case, assuming that the balls follow constant- degree algebraic trajectories. linear number of candidate pairs
59
Conclusions First KDS for collision detection between multiple convex fat 3D objects of arbitrary sizes with a near-linear number of certificates. Dependence on fatness parameter ρ is large. Good bounds are possible in theory … Is there a simple solution that achieves these bounds in practice?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.