Computing the Penetration Depth of Two Convex Polytopes in 3D
Let A and B be two convex polytopes in ℝ3 with m and n facets, respectively. The penetration depth of A and B, denoted as π(A,B), is the minimum distance by which A has to be translated so that A and B do not intersect. We present a randomized algorithm that computes π(A,B) in O(m3/4+εn3/4+ε + m1+ε + n1+ε) expected time, for any constant ε > 0. It also computes a vector t such that ‖t‖ = π(A, B) and int(A + t) ∩ B = 0. We show that if the Minkowski sum B⊕(-A) has K facets, then the expected running time of our algorithm is O (K1/2+εm1/4n1/4 + m1+ε + n1+ε), for any ε > 0. We also present an approximation algorithm for computing π(A, B). For any δ > 0, we can compute, in time O(m + n+ (log2(m + n))/δ), a vector t such that ‖t‖ ≤ (1 + δ)π(A, B) and int(A +t) ∩ B = 0. Our result also gives a δ-approximation algorithm for computing the width of A in time O(n + (log2n)/δ), which is simpler and slightly faster than the recent algorithm by Chan .
Unable to display preview. Download preview PDF.
- 4.T. Chan, Approximating the diameter, width, smallest enclosing cylinder, and minimum-width annulus, to appear in Proc. 16th ACM Sympos. Comput. Geom., 2000.Google Scholar
- 9.D. Dobkin and D. Kirkpatrick, Determining the separation of preprocessed polyhedra-a unified approach, Proc. ICALP’ 90, 400–413. Lecture Notes in Computer Science, Vol. 443, Springer-Verlag, Berlin, 1990.Google Scholar