Minkowski Sums Minkowski Sum—definition, complexity, construction, applications Efi Fogel Tel Aviv University, Israel Algorithmic Robotics and Motion Planning March 14th, 2011
Outline Minkowski Sums 1 Minkowski-sum Definition Minkowski-sum Complexity Constructing 2D Minkowski Sums Constructing 3D Minkowski Sums Applications Literature Minkowski Sums 2
Minkowski Sum Definition Definition (Minkowski sum) Let P and Q be two point sets in R d . The Minkowski Hermann Minkowski 1864–1909 sum of P and Q , denoted as P ⊕ Q , is the point set { p + q | p ∈ P , q ∈ Q } . Applies to every dimension d . Applies to arbitrary point sets. Minkowski Sums 3
Minkowski Sum Examples in I R 2 1 p = p + o − 2 − 1 1 2 3 o − 1 q + p p q Minkowski Sums 4
Minkowski Sum Examples in R 3 [VM06] Minkowski Sums 5
Minkowski Sum Properties The Minkowski sum of two (non-parallel) line segments in R 2 is a convex polygon. The Minkowski sum of two (non-parallel) polygons in R 3 is a convex polyhedron. P = P ⊕ { o } , where o is the origin. If P and Q are convex, then P ⊕ Q is convex. P ⊕ Q = Q ⊕ P . λ ( P ⊕ Q ) = λ P ⊕ λ Q , where λ P = { λ p | p ∈ P } . 2 P ⊆ P ⊕ P , 3 P ⊆ P ⊕ P ⊕ P , etc. P ⊕ ( Q ∪ R ) = ( P ⊕ Q ) ∪ ( P ⊕ R ) . Minkowski Sums 6
Minkowski-Sum Construction Approaches Decomposition Decompose P and Q into convex sub-polygons P 1 , . . . , P k and Q 1 , . . . , Q ℓ ⋆ S k i = 1 P i = P and S ℓ j = 1 Q j = Q . Calculate the pairwise sums S ij = P i ⊕ Q j of the convex sub-polygons. Compute the union P ⊕ Q = � ij S ij . Convolution, denoted P ⊗ Q . Description is deferred. Minkowski Sums 7
Outline Minkowski Sums 1 Minkowski-sum Definition Minkowski-sum Complexity Constructing 2D Minkowski Sums Constructing 3D Minkowski Sums Applications Literature Minkowski Sums 8
Minkowski-sum Complexity: Convex Polygons P , Q — convex polygons with m and n vertices (edges), respectively. M = P ⊕ Q — the Minkowski sum. M is bounded by copies of the m + n edges translated and ordered according to the 3 4 2 angle they form with the x -axis. M can be computed using an operation 5 1 similar to the merge step of the merge-sort algorithm in O ( m + n ) time. Start from the two bottommost vertices in P and in Q and merge the ordered list of edges. Computing the overlay of 2 1D arrangements. Minkowski Sums 9
Minkowski-sum Complexity: Arbitrary Simple Polygons P — a simple polygon with m vertices (edges). Q — a simple polygon with n vertices (edges). Upper Bound Triangulate P = ∪ m − 2 and Q = ∪ n − 2 i = 1 T P i = 1 T Q i . i Compute the pairwise Minkowski sums M = { T P i ⊕ T Q j | 1 ≤ i ≤ m − 2 , 1 ≤ j ≤ n − 2 } . Compute the union M = � M i ∈M M i = P ⊕ Q . The number of constant-complexity polygons in M is O ( mn ) = ⇒ the complexity of the union is O ( m 2 n 2 ) . Lower Bound 3 — number of blue spikes. 2 — number of red spikes. 2 2 × 3 2 = 36 — number of white squares in the Minkowski sum. Minkowski Sums 10
Pseudodiscs Definition (A pair of pseudodiscs) A pair of two planar connected point sets o 1 and o 2 is called a pair of pseudodiscs if ∂ o 1 ∩ int ( o 2 ) is connected and ∂ o 2 ∩ int ( o 1 ) is connected. The boundaries ∂ o 1 and ∂ o 2 intersect in at most two points. pseudodiscs not pseudodiscs Minkowski Sums 11
Gasusian Map (Normal Diagram) in 2D Definition (Gasusian map or normal diagram) The Gaussian map of a convex polygon P is the decomposition of S into maximal connected arcs so that the extremal point of P is the same for all directions Carl Friedrich Gauss within one region. 1777–1855 ⇐ ⇒ � d 1 � d 2 Directions between ⇐ ⇒ d 1 and � � d 2 . Generalizes to higher dimensions. Minkowski Sums 12
Minkowski sums and Pseudodiscs Theorem Let P and Q be two convex polygons that are interior disjoint, and let R be another convex polygon. The two Minkowski sums P ⊕ R and Q ⊕ R are pseudodiscs. P is more extreme. � d 2 Q is more extreme. Q � d 2 � P and Q are equally extreme. d 1 � d 1 � d 3 P � d 3 P and Q are interior disjoint convex polygons = ⇒ P and Q are extreme in continuous ranges, respectively. Minkowski Sums 13
Minkowski sums and Pseudodiscs (Cont.) An extreme point in direction � d on P ⊕ R is the sum of extreme points in direction � d on P and R . M 1 = P ⊕ R , M 2 = Q ⊕ R Assume ∂ M 1 ∩ int ( M 2 ) is not connected. M 1 (resp. M 2 ) is more extreme than M 2 (resp. M 1 ) in 2 ranges = ⇒ Contradiction! Theorem Let S be a collection of convex polygon that are pairwise pseudodiscs and let n be the total number of edges of the polygons. The complexity of the union of all polygons in S is at most 2 n. Minkowski Sums 14
Minkowski-sum Complexity: A convex and an Arbitrary Polygons P — a convex polygon with m vertices (edges). Q — a simple polygon with n vertices (edges). Upper Bound Triangulate P = ∪ m − 2 i = 1 T i . P ⊕ Q = ∪ m − 2 i = 1 T i ⊕ Q . T i ⊕ Q has at most n + 3 vertices. { T i } is a collection of convex pairwise disjoint interior polygons ⇒ { T i ⊕ Q } is a collection of pairwise pseudodiscs. (triangles) = The complexity of the union is at most 2 ( m − 2 )( n + 3 ) . Lower Bound Minkowski Sums 15
Minkowski-Sum Complexities P , Q — polytopes of m and n complexity. Space Type Complexity convex, convex Θ( m + n ) I R 2 convex, arbitrary Θ( mn ) Θ( m 2 n 2 ) arbitrary, arbitrary Θ( mn ) convex, convex I R 3 convex, arbitrary O ( ℓ k log k ) (*) Θ( m 3 n 3 ) arbitrary, arbitrary O (( mn ) ⌊ d / 2 ⌋ ) convex, convex I R d , d>3 convex, arbitrary ? Θ( m d n d ) arbitrary, arbitrary * k — the number of convex polytopes Q i that compose Q = S k i = 1 Q i . * ℓ — the total complexity of the individual Minkowski sums P ⊕ Q i . Minkowski Sums 16
Outline Minkowski Sums 1 Minkowski-sum Definition Minkowski-sum Complexity Constructing 2D Minkowski Sums Constructing 3D Minkowski Sums Applications Literature Minkowski Sums 17
Minkowski-sum Construction: Decomposition Decompose P and Q into convex sub-polygons P 1 , . . . , P k and 1 Q 1 , . . . , Q ℓ Calculate the pairwise sums S ij = P i ⊕ Q j of the convex 2 sub-polygons. Compute the union P ⊕ Q = � ij S ij . 3 Issues Which union strategy. How to handle degeneracies. Which decomposition algorithm. Addressing of the issues is based on emprical results. The oddity of computing the union. Minkowski Sums 18
The Union of Many Polygons Definition (3SUM) 3SUM is the following computational problem conjectured to require roughly quadratic time: Given a set S of n integers, are there elements a , b , c ∈ S such that a + b + c = 0? A problem is called 3SUM-hard if solving it in subquadratic time implies a subquadratic-time algorithm for 3SUM. Computing the union of polygons is 3SUM-hard. Union Algorithms: Aggregate. Incremental. Divide-and-conquer. Minkowski Sums 19
Divide and Conquer Union Algorithm Definition (Divide and Conquer) A divide and conquer algorithm works by recursively breaking down a problem into two or more sub-problems of the same (or related) type. P — a set of n polygons. Compute the union of each pair of polygons in P to yield n / 2 polygons. Use the arrangement-union algorithm. Repeat recursively log n times. Minkowski Sums 20
Computing the Union: Handling Degeneracies Tight passage. Tight placement. 2 1 2 3 Maintain a boundary count for each edge and an inside count for each face. Compare boundary counts with inside counts to identify boundary edges. Minkowski Sums 21
Minkowski-sum Construction: Convex Decomposition No Steiner points Minimize the number of convex sub-polygons, O ( n 4 ) time, O ( n 3 ) space. [Gre83] Approximate the minimum number of convex sub-polygons, O ( n ) after triangulation. [HM85] Approximate the minimum number of convex sub-polygons, O ( n log n ) time, O ( n ) space. [Gre83] Small side angle-bisector decomposition. [AFH02] Triangulation Naive triangulation. Minimizing the maximum degree triangulation. Minimizing Σ d 2 i triangulation. Allowing Steiner points Slab decomposition. Angle-bisector decomposition. [DC85] KD decomposition. Minkowski Sums 22
Minkowski-sum Construction: Convolution P , Q — polygons with vertices ( p 0 , . . . , p m − 1 ) and ( q 0 , . . . , q n − 1 ) . P and Q have positive orientations P ⊗ Q — the convolution of P and Q is a collection of line segments: [ p i + q j , p i + 1 + q j ] , where − p i p i + 1 lies between − − − → q j − 1 q j and − − − → − − → q j q j + 1 . [ p i + q j , p i + q j + 1 ] , where − q j q j + 1 lies between − − − → p i − 1 p i and − − − → − − → p i p i + 1 . The segments of the convolution form a number of closed polygonal curves called convolution cycles. ⇒ 1 convolution cycle. P (or Q ) is convex = The Minkowski sum P ⊕ Q is the set of points having a non-zero winding number in the arrangement of convolution cycles. Minkowski Sums 23
Recommend
More recommend