Kinetic Collision Detection for Convex Fat Objects

Slides:



Advertisements
Similar presentations
Two Segments Intersect?
Advertisements

1 Motion and Manipulation Configuration Space. Outline Motion Planning Configuration Space and Free Space Free Space Structure and Complexity.
Spatial Embedding of Pseudo-Triangulations Peter Braß Institut für Informatik Freie Universität Berlin Berlin, Germany Franz Aurenhammer Hannes Krasser.
Polygon Triangulation
Spatial Information Systems (SIS) COMP Terrain modeling and geometric problems (part 2)
Computational Geometry
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
Fast Algorithms For Hierarchical Range Histogram Constructions
I MAGIS is a joint project of CNRS - INPG - INRIA - UJF iMAGIS-GRAVIR / IMAG A simple kinetic visibility polygon EWCG’02 Samuel Hornus, Claude Puech.
Dynamic Planar Convex Hull Operations in Near- Logarithmic Amortized Time TIMOTHY M. CHAN.
I/O-Algorithms Lars Arge Fall 2014 September 25, 2014.
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
 Distance Problems: › Post Office Problem › Nearest Neighbors and Closest Pair › Largest Empty and Smallest Enclosing Circle  Sub graphs of Delaunay.
Brute-Force Triangulation
CS16: Introduction to Data Structures & Algorithms
UNC Chapel Hill M. C. Lin Polygon Triangulation Chapter 3 of the Textbook Driving Applications –Guarding an Art Gallery –3D Morphing.
1 Voronoi Diagrams. 2 Voronoi Diagram Input: A set of points locations (sites) in the plane.Input: A set of points locations (sites) in the plane. Output:
Zoo-Keeper’s Problem An O(nlogn) algorithm for the zoo-keeper’s problem Sergei Bespamyatnikh Computational Geometry 24 (2003), pp th CGC Workshop.
Navigating Nets: Simple algorithms for proximity search Robert Krauthgamer (IBM Almaden) Joint work with James R. Lee (UC Berkeley)
Kinetic Algorithms Data Structure for Mobile Data.
9/5/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2006 Plane Sweep Algorithms and Segment Intersection Carola Wenk.
Intersections. Intersection Problem 3 Intersection Detection: Given two geometric objects, do they intersect? Intersection detection (test) is frequently.
Robert Pless, CS 546: Computational Geometry Lecture #3 Last Time: Convex Hulls Today: Plane Sweep Algorithms, Segment Intersection, + (Element Uniqueness,
Computational Geometry -- Voronoi Diagram
17. Computational Geometry Chapter 7 Voronoi Diagrams.
Approximate Range Searching in the Absolute Error Model Guilherme D. da Fonseca CAPES BEX Advisor: David M. Mount.
On the Union of Cylinders in Esther Ezra Duke University On the Union of Cylinders in  3 Esther Ezra Duke University.
Dynamic Maintenance and Self Collision Testing for Large Kinematic Chains Lotan, Schwarzer, Halperin, Latombe.
Lars Arge1, Mark de Berg2, Herman Haverkort3 and Ke Yi1
OBBTree: A Hierarchical Structure for Rapid Interference Detection Gottschalk, M. C. Lin and D. ManochaM. C. LinD. Manocha Department of Computer Science,
Point Location Computational Geometry, WS 2007/08 Lecture 5 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für.
UNC Chapel Hill M. C. Lin Overview of Last Lecture About Final Course Project –presentation, demo, write-up More geometric data structures –Binary Space.
Kinetic Data Structures and their Application in Collision Detection Sean Curtis COMP 768 Oct. 16, 2007.
Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy.
The Art Gallery Problem
UNC Chapel Hill M. C. Lin Point Location Reading: Chapter 6 of the Textbook Driving Applications –Knowing Where You Are in GIS Related Applications –Triangulation.
Collision handling: detection and response
Kinetic Algorithms: Approximation and Trade-offs Pankaj K. Agarwal Duke University.
B-trees and kd-trees Piotr Indyk (slides partially by Lars Arge from Duke U)
On the union of cylinders in 3-space Esther Ezra Duke University.
Approximation algorithms for TSP with neighborhoods in the plane R 郭秉鈞 R 林傳健.
CSIS7101 – Advanced Database Technologies Spatio-Temporal Data (Part 1) On Indexing Mobile Objects Kwong Chi Ho Leo Wong Chi Kwong Simon Lui, Tak Sing.
Kinetic data structures. Goal Maintain a configuration of moving objects Each object has a posted flight plan (this is essentially a well behaved function.
CMPS 3130/6130 Computational Geometry Spring 2015
Flexible Spanners: A Proximity and Collision Detection Tool for Molecules and Other Deformable Objects Jie Gao, Leonidas Guibas, An Nguyen Computer Science.
MotivationKinetic Data StructuresExampleKDS Properties Networks play a central role in numerous applications, and the design of good networks is therefore.
9/8/10CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2010 Triangulations and Guarding Art Galleries Carola Wenk.
1/20/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Plane Sweep Algorithms I Carola Wenk.
Polygon Triangulation
Randomized Incremental Algorithm for Delaunay Triangulation (DT) CS Gates 219 October 19, 3:00 – 4:20 Richard Zhang (for Leo G.) Disclaimer: All.
CMPS 3130/6130 Computational Geometry Spring 2017
3. Polygon Triangulation
Interval Trees Store intervals of the form [li,ri], li <= ri.
Priority Queues © 2010 Goodrich, Tamassia Priority Queues 1
CMPS 3130/6130 Computational Geometry Spring 2017
Lecture 12 Algorithm Analysis
Algorithm design techniques Dr. M. Gavrilova
CMPS 3130/6130 Computational Geometry Spring 2017
The Art Gallery Problem
Enumerating Distances Using Spanners of Bounded Degree
Computational Geometry Capter:1-2.1
The Art Gallery Problem
Lecture 12 Algorithm Analysis
Quadtrees Hierarchical grids
Algorithm design (computational geometry)
Computer Animation Algorithms and Techniques
Collision Detection.
Clustering.
Lecture 12 Algorithm Analysis
David Johnson Cs6360 – Virtual Reality
Presentation transcript:

Kinetic Collision Detection for Convex Fat Objects Mohammad Abam Mark de Berg Sheung-Hung Poon Bettina Speckmann

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

Example: convex hull

Example: convex hull

Dynamic data structures Allow insertions and deletions of objects at discrete times. Not suitable for handling moving objects.

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.

Time sampling approach How to choose the proper time step? Oversampling Undersampling t t

Time sampling approach Combinatorial changes occur in irregular patterns. t

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.

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

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

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.

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 …

Kinetic Data Structures Collision detection Set of geometric tests (elementary certificates) that certify that the input objects are disjoint.

Balls rolling on a plane Arbitrary sizes

Convex fat constant-complexity objects free-flying in 3D

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.

Locality

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!

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

Collision tree

Threshold disks Smallest blue ball with radius = rmin

Threshold disks

Threshold disks

Threshold disks

Threshold disks Threshold disk of radius Bi

Threshold disks

Threshold disks

Threshold disks

Threshold disks

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

Kinetic maintenance

Kinetic maintenance Replace threshold disks by threshold boxes.

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.

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

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.

Convex fat constant-complexity objects free-flying in 3D

Fat objects

Fat objects

Fat objects

Fat objects ri ro Definition: An object is called ρ-fat if ro/ri < ρ.

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

Guarding fat objects

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

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

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

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

Making it work … A guard g.

Making it work … The unit cube centered at g.

Making it work … A grid whose cells have edge length . O(ρ2) grid cells.

Making it work … Triangulate the grid.

Making it work … Every triangle …

Making it work … Every triangle defines an infinite cone.

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(γ).

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

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

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

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

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?