Minkowski Sums Minkowski Sum—definition, complexity, construction, applications

Efi Fogel

Tel Aviv University, Israel

Algorithmic Robotics and Motion Planning March 14th, 2011 Outline

1 Minkowski Sums 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) d Hermann Minkowski Let P and Q be two point sets in R . The 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 IR2

1 p = p + o

−2 −1 1 2 3 o −1

q + p p q

Minkowski Sums 4 Minkowski Sum Examples in R3

[VM06]

Minkowski Sums 5 Minkowski Sum Properties

The Minkowski sum of two (non-parallel) line segments in R2 is a convex polygon. The Minkowski sum of two (non-parallel) polygons in R3 is a convex . 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}. 2P ⊆ P ⊕ P,3P ⊆ 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 P1,..., Pk and Q1,..., Qℓ ℓ ⋆ k = = Si=1 Pi P and Sj=1 Qj Q. Calculate the pairwise sums Sij = Pi ⊕ Qj of the convex sub-polygons.

Compute the union P ⊕ Q = Sij Sij . , denoted P ⊗ Q. Description is deferred.

Minkowski Sums 7 Outline

1 Minkowski Sums 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 angle they form with the x-axis. 4 2 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 with m vertices (edges). Q — a simple polygon with n vertices (edges). Upper Bound m−2 P n−2 Q Triangulate P = ∪i=1 Ti and Q = ∪i=1 Ti . Compute the pairwise Minkowski sums P Q M = {Ti ⊕ Tj | 1 ≤ i ≤ m − 2, 1 ≤ j ≤ n − 2}. Compute the union M = S M = P ⊕ Q. Mi ∈M i The number of constant-complexity polygons in M is O(mn) =⇒ the complexity of the union is O(m2n2).

Lower Bound 3 — number of blue spikes. 2 — number of red spikes. 22 × 32 = 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 o1 and o2 is called a pair of pseudodiscs if ∂o1 ∩ int(o2) is connected and ∂o2 ∩ int(o1) is connected.

The boundaries ∂o1 and ∂o2 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

⇐⇒ ~ d1

~ d2

Directions between ~ ~ d1 and d2. ⇐⇒

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

Q is more extreme. ~ Q d2 ~ P and Q are equally extreme. d1 ~ d1 ~ d3 P ~ d3

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 in direction ~d on P ⊕ R is the sum of extreme points in direction ~d on P and R.

M1 = P ⊕ R, M2 = Q ⊕ R

Assume ∂M1 ∩ int(M2) is not connected.

M1 (resp. M2) is more extreme than M2 (resp. M1) 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 2n.

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 m−2 Triangulate P = ∪i=1 Ti . m−2 P ⊕ Q = ∪i=1 Ti ⊕ Q. Ti ⊕ Q has at most n + 3 vertices. {Ti } is a collection of convex pairwise disjoint interior polygons () =⇒ {Ti ⊕ Q} is a collection of pairwise pseudodiscs. 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) IR2 convex, arbitrary Θ(mn) arbitrary, arbitrary Θ(m2n2) convex, convex Θ(mn) IR3 convex, arbitrary O(ℓk log k) (*) arbitrary, arbitrary Θ(m3n3) convex, convex O((mn)⌊d/2⌋) IRd , d>3 convex, arbitrary ? arbitrary, arbitrary Θ(md nd )

= k * k — the number of convex polytopes Qi that compose Q Si=1 Qi .

* ℓ — the total complexity of the individual Minkowski sums P ⊕ Qi .

Minkowski Sums 16 Outline

1 Minkowski Sums Minkowski-sum Definition Minkowski-sum Complexity Constructing 2D Minkowski Sums Constructing 3D Minkowski Sums Applications Literature

Minkowski Sums 17 Minkowski-sum Construction: Decomposition

1 Decompose P and Q into convex sub-polygons P1,..., Pk and Q1,..., Qℓ

2 Calculate the pairwise sums Sij = Pi ⊕ Qj of the convex sub-polygons.

3 Compute the union P ⊕ Q = Sij Sij .

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(n4) time, O(n3) 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. 2 Minimizing Σdi triangulation. Allowing Steiner points Slab decomposition. Angle-bisector decomposition. [DC85] KD decomposition.

Minkowski Sums 22 Minkowski-sum Construction: Convolution

P, Q — polygons with vertices (p0,..., pm−1) and (q0,..., qn−1). P and Q have positive orientations P ⊗ Q — the convolution of P and Q is a collection of line segments: −−−→ −−−→ −−−→ [pi + qj , pi+1 + qj ], where pi pi+1 lies between qj−1qj and qj qj+1. −−−→ −−−→ −−−→ [pi + qj , pi + qj+1], where qj qj+1 lies between pi−1pi and pi pi+1. The segments of the convolution form a number of closed polygonal curves called convolution cycles. P (or Q) is convex =⇒ 1 convolution cycle. 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 Minkowski-sum Construction: Convolution Efficiency The convolution cycle of a convex polygon and a non-convex polygon and the winding numbers it induces. [0] [2]

[0]

[2] [2] [1]

The number of segments in the convolution is usually smaller than the number of segments of the sub-sums of the decomposition. Both approaches construct the arrangement of these segments and extract the sum from this arrangement. Computing Minkowski sums using the convolution approach usually generates a smaller intermediate arrangement. The convolution approach is faster and consumes less space.

Minkowski Sums 24 Movie: Exact Minkowski Sums and Applications

Minkowski Sums 25 Outline

1 Minkowski Sums Minkowski-sum Definition Minkowski-sum Complexity Constructing 2D Minkowski Sums Constructing 3D Minkowski Sums Applications Literature

Minkowski Sums 26 Polytope Definition Definition (convex polyhedron) A Q ⊆ Rd given as an intersection of finite number of closed half-spaces H = {h ∈ Rd | Ah ≤ B} is called convex polyhedron.

Definition (polytope) A bounded polyhedron P ⊂ Rd is called polytope.

The 5 Platonic polytopes: tetrahedron cube icosahedron octahedron dodecahedron

dioctagonal dioctagonal truncated icosi- pentagonal sphere mesh ellipsoid mesh pyramid dipyramid dodecahedron hexecontahe- level 4 dron

Minkowski Sums 27 Minkowski-Sum Construction: Observation The Minkowski sum of two convex polytopes P and Q is the convex hull of the pairwise sums of vertices of P and Q, respectively.

typedef CGAL:: Exact_predicates_exact_constructions_kernel Kernel ; typedef Kernel :: Point_3 Point ; typedef Kernel :: Vector_3 Vector ; typedef CGAL::Polyhedron_3 Polyhedron;

std::vector in1, in2, points; Process input ... points.resize(in1.size() ∗ in2.size ()); std::vector::const_iterator it1 , it2; std::vector::iterator it3 = points.begin(); f o r (it1 = in1.begin(); it1 != in1.end(); ++it1) \{ Vector v(CGAL::ORIGIN, ∗ it1 ); f o r (it2 = in2.begin(); it2 != in2.end(); ++it2) ∗ it3++ = (∗ it2) + v; } Polyhedron polyhedron; CGAL::convex_hull_3(points.begin() , points.end() , polyhedron );

CGAL::convex_hull_3 implements QuickHull. Time complexities of Minkowski-sum constr. using convex hull: Using CGAL::convex_hull_3 (expected): O(mn log mn). code Optimal: O(mn log h).

Minkowski Sums 28 Hyperplanes

Definition (supporting hyperplane) A hyperplane h supports a set P ⊂ Rd (at c) if P intersects h (at c) and is contained in one of the closed halfspaces bounded by h.

If p is a boundary point of a convex polytope P, then there exists a supporting hyperplane at p. If p is contained in a facet, there exists a single supporting hyperplane at p. If p lies in an edge or coincides with a vertex, there are many supporting hyperplane at p. p is an extreme point of P in the direction of the supporting-hyperplane normal.

Minkowski Sums 29 Gasusian Map (normal diagram) in 3D Definition (Gasusian map (normal diagram) in 3D) The Gaussian map of a convex polytope in IR3 P is the decomposition of S2 into maximal connected regions so that the extremal point of P is the same for all directions within one region.

G is a set-valued function from ∂P to S2. G(p ∈ ∂P)= the set of outward unit normals to support planes to P at p.

v, e, f — a vertex, an edge, a facet of P. G(f )= outward unit normal to f . G(e)= geodesic segment. G(v)= spherical polygon. G(P) is an arrangement on S2. G(P) is unique ⇒ G−1(G(P)) = P. Each face G(v) of the arrangement is extended with v.

Minkowski Sums 30 Minkowski-Sums Construction: Gaussian Map

Observation The overlay of the Gaussian maps of two convex polytopes P and Q is the Gaussian map of the Minkowski sum of P and Q.

overlay(G(P), G(Q)) = G(P ⊕ Q) The overlay identifies all the pairs of features of P and Q respectively that have common supporting planes. These common features occupy the same space on S2. They identify the pairwise features that contribute to Cube Minkowski sum tetrahedron ∂(P ⊕ Q).

Minkowski Sums 31 Minkowski-Sums Construction: Gaussian Map

m, n, k — number of facets in P, Q, P ⊕ Q. Overlay of CGAL is based on sweep-line. G(P) is a simply connected convex subdivision. Time complexities of Minkowski-sum constr. using Gaussian map: Using CGAL::overlay: O(k log(m + n)). Optimal: O(k) [FH95].

Minkowski Sums 32 The Cubical Gaussian Map

The Cubical Gaussian-Map (CGM) C of a convex polytope P ⊂ Rthree is a set-valued function from ∂P to the 6 faces of the unit cube whose edges are parallel to the major axes and are of length 2.

A Tetrahedron

Theprimal TheCGM TheCGMunfolded

Minkowski Sums 33 Minkowski-Sums Construction: Cubical Gaussian Map The six overlays of the six pairs of the planar maps of the two cubical Gaussian maps of two polytopes P and Q stitched properly comprise the cubical Gaussian map of the Minkowski sum of P and Q.

Cube Minkowski sum tetrahedron

Minkowski Sums 34 Minkowski-Sum Construction: Results Time consumption (in seconds) of the Minkowski-sum computation. CH — the convex-hull method. SGM — the (spherical) Gaussian map based method. [BFH+09a] CGM — the cubical Gaussian-map based method. [FH07] NGM — the Nef based method. [HKM07] Fuk — Fukuda’s linear-programming based algorithm. [Fuk04] F1F2 F — the ratio between the product of the number of input facets and the number of output facets. F1F2 Summand 1 Summand 2 SGM CGM NGM Fuk CH F Icosahedron Icosahedron 0.01 0.01 0.12 0.01 0.01 20.0 DP ODP 0.04 0.02 0.33 0.35 0.05 2.2 PH TI 0.13 0.03 0.84 1.55 0.20 10.9 GS4 RGS4 0.71 0.12 6.81 5.80 1.89 163.3 El16 OEl16 1.01 0.14 7.06 13.04 6.91 161.3 DP — dioctagonal pyramid. ODP — orthogonal dioctagonal pyramid. PH — pentagonal hexecontahedron. TI — truncated icosidodecahedron. GS4 — geodesic sphere level 4. RGS4 — rotated geodesic sphere level 4. El16 — ellipsoid. OEl16 — orthogonal ellipsoid.

Minkowski Sums 35 The Minkowski_sum_2 Package

Based on the Arrangement_2, Polygon_2, and Partition_2 packages Works well with the Boolean_set_operations_2 package e.g., It is possible to compute the union of offset polygons Robust and efficient Supports Minkowski sums of two simple polygons Implemented using either decomposition or convolution Exact Supports Minkowski sums of a simple polygon and a disc (polygon offseting) Offers either an exact computation or a conservative approximation scheme

Minkowski Sums 36 Movie: Exact Minkowski Sums of Convex Polyhedra

Minkowski Sums 37 Outline

1 Minkowski Sums Minkowski-sum Definition Minkowski-sum Complexity Constructing 2D Minkowski Sums Constructing 3D Minkowski Sums Applications Literature

Minkowski Sums 38 Minkowski Sum Application: P and Q are two polytopes in Rd .

P ∩ Q 6= ∅ collision detection

Minkowski Sums 39 Minkowski Sum Application: Collision Detection P and Q are two polytopes in Rd . P translated by a vector t is denoted by Pt .

P ∩ Q 6= ∅ collision detection t d π(P, Q)= min{ktk| P ∩ Q 6= ∅, t ∈ R } separation distance t d δ(P, Q)= inf{ktk| P ∩ Q = ∅, t ∈ R } penetration depth α~v δv (P, Q)= inf{α | P ∩ Q = ∅, α ∈ R} directional penetration-depth

Minkowski Sums 40 Minkowski Sum Application: Collision Detection P and Q are two polytopes in Rd . P translated by a vector t is denoted by Pt .

P ∩ Q 6= ∅ ⇔ Origin ∈ M = P ⊕ (−Q) collision detection t d π(P, Q)= min{ktk| P ∩ Q 6= ∅, t ∈ R } separation distance t d δ(P, Q)= inf{ktk| P ∩ Q = ∅, t ∈ R } penetration depth α~v δv (P, Q)= inf{α | P ∩ Q = ∅, α ∈ R} directional penetration-depth

Minkowski Sums 41 Minkowski Sum Application: Collision Detection P and Q are two polytopes in Rd . P translated by a vector t is denoted by Pt .

u w P ∩ Q 6= ∅ ⇔ w − u ∈ M = P ⊕ (−Q) collision detection t d π(P, Q)= min{ktk| P ∩ Q 6= ∅, t ∈ R } separation distance t d δ(P, Q)= inf{ktk| P ∩ Q = ∅, t ∈ R } penetration depth α~v δv (P, Q)= inf{α | P ∩ Q = ∅, α ∈ R} directional penetration-depth

Minkowski Sums 42 Minkowski Sum Application: Collision Detection P and Q are two polytopes in Rd . P translated by a vector t is denoted by Pt .

u w P ∩ Q 6= ∅ ⇔ w − u ∈ M = P ⊕ (−Q) collision detection d π(P, Q)= min{ktk| t ∈ M, t ∈ R } separation distance t d δ(P, Q)= inf{ktk| P ∩ Q = ∅, t ∈ R } penetration depth α~v δv (P, Q)= inf{α | P ∩ Q = ∅, α ∈ R} directional penetration-depth

Minkowski Sums 43 Minkowski Sum Application: Collision Detection P and Q are two polytopes in Rd . P translated by a vector t is denoted by Pt .

u w P ∩ Q 6= ∅ ⇔ w − u ∈ M = P ⊕ (−Q) collision detection d π(P, Q)= min{ktk| t ∈ M, t ∈ R } separation distance d δ(P, Q)= inf{ktk| t ∈/ M, t ∈ R } penetration depth α~v δv (P, Q)= inf{α | P ∩ Q = ∅, α ∈ R} directional penetration-depth

Minkowski Sums 44 Minkowski Sum Application: Collision Detection P and Q are two polytopes in Rd . P translated by a vector t is denoted by Pt .

u w P ∩ Q 6= ∅ ⇔ w − u ∈ M = P ⊕ (−Q) collision detection d π(P, Q)= min{ktk| t ∈ M, t ∈ R } separation distance d δ(P, Q)= inf{ktk| t ∈/ M, t ∈ R } penetration depth

δv (P, Q)= inf{α | α~v ∈/ M, α ∈ R} directional penetration-depth

Minkowski Sums 45 Minkowski Sum Application: Collision Detection P and Q are two polytopes in Rd . P translated by a vector t is denoted by Pt .

u w P ∩ Q 6= ∅ ⇔ w − u ∈ M = P ⊕ (−Q) collision detection u w d π(P , Q )= min{ktk| (w − u + t) ∈ M, t ∈ R } separation distance u w d δ(P , Q )= inf{ktk| (w − u + t) ∈/ M, t ∈ R } penetration depth u w δv (P , Q )= inf{α | (w − u + α~v) ∈/ M, α ∈ R} directional penetration-depth

Minkowski Sums 46 Minkowski Sum Application: Width Definition (point-set width) The width of a set of points P ⊆ Rd , denoted as width(P), is the minimum distance between parallel hyperplanes supporting conv(P).

Definition (directional point-set width) Given a normalized vector v, the directional width, denoted as widthv (P) is the distance between parallel hyperplanes supporting conv(P) and orthogonal to v.

width(P)= δ(P, P)= inf{ktk| t ∈/ (P ⊕−P), t ∈ Rd } Time complexities of width computation in R3: Applied computation using CGAL Minkowski sum: O(k log n). Optimal computation using Minkowski sum: O(k). CGAL::Width_3: O(n2). [FGHHS08] Width optimal computation complexity: subquadratic.

Minkowski Sums 47 Motion Planning: A Translating Polygonal Robot

Application (A Translating Polygonal Robot) Given a simple-polygon robot Q, which can translate (but not rotate) in a room cluttered with pairwise interior-disjoint polygonal obstacles, devise a data structure that can efficiently answer queries of the following form: Given a start s of some reference point in Q and a goal position g of the same reference point, plan a collision-free path of the robot from s to g.

s g

Minkowski Sums 48 Motion Planning: A Translating Polygonal Robot (cont.)

The workspace: The configuration space: a diamond-shaped robot translating the forbidden-configuration space, in a house amidst polygonal the free-configuration space obstacles decomposed into trapezoidal faces the queries, and the resulting paths, if exist.

Minkowski Sums 49 Movie: Arrangements of Geodesic Arcs on the Sphere

Minkowski Sums 50 Outline

1 Minkowski Sums Minkowski-sum Definition Minkowski-sum Complexity Constructing 2D Minkowski Sums Constructing 3D Minkowski Sums Applications Literature

Minkowski Sums 51 Movies

Eyal Flato, Efi Fogel, Dan Halperin, and Eyal Leiserowitz. Movie: Exact Minkowski Sums and Applications. In Proceedings of 18th Annual ACM Symposium on Computational (SoCG), pages 273–274. Association for Computing Machinery (ACM) Press, 2005.

Efi Fogel and Dan Halperin. Movie: Exact Minkowski sums of convex polyhedra. In Proceedings of 21st Annual ACM Symposium on Computational Geometry (SoCG), pages 382–383. Association for Computing Machinery (ACM) Press, 2005.

Efi Fogel, Ophir Setter, and Dan Halperin. Movie: Arrangements of Geodesic Arcs on the Sphere. In Proceedings of 24th Annual ACM Symposium on Computational Geometry (SoCG), pages 218–219. Association for Computing Machinery (ACM) Press, 2008.

Minkowski Sums 52 Minkowski-Sum Bibliography I

Efi Fogel and Dan Halperin. Exact and efficient construction of Minkowski sums of convex polyhedra with applications. Computer-Aided Design, 39(11):929–940, 2007.

Efi Fogel, Dan Halperin, and Christophe Weibel. On the exact maximum complexity of Minkowski sums of convex polyhedra. Discrete & Computational Geometry, 42(4):654–669, 2009.

Komei Fukuda. From the zonotope construction to the Minkowski addition of convex polytopes. Journal of Symbolic Computation, 38(4):1261–1272, 2004.

Peter Hachenberger, Lutz Kettner, and Kurt Mehlhorn. Boolean operations on 3D selective Nef complexes: Data structure, algorithms, optimized implementation and experiments. Computational Geometry: Theory and Applications, 38(1-2):64–99, 2007. Special issue on CGAL.

Gokul Varadhan and Dinesh Manocha. Accurate Minkowski sum approximation of polyhedral models. Graphical Models and Image Processing, 68(4):343–355, 2006.

Kaspar Fischer, Bernd Gärtner, Thomas Herrmann, Michael Hoffmann, and Sven Schönherr. Optimal Distances. In CGAL Editorial Board, editor, CGAL User and Reference Manual. 3.7 edition, 2008. http://www.cgal.org/Manual/latest/doc_html/cgal_manual/packages.html#Pkg:Pkg:OptimalDistances

Eric Berberich, Efi Fogel, Dan Halperin, Michael Kerber, and Ophir Setter. Arrangements on parametric surfaces ii: Concretizations and applications, 2009. Mathematics in Computer Science, 4(1):67–91,2010.

Minkowski Sums 53 Minkowski-Sum Bibliography II

Bernard Chazelle. Convex partitions of polyhedra: a lower bound and worst-case optimal algorithm. SIAM Journal on Computing, 13:488–507, 1984.

Ulrich Finke and Klaus H. Hinrichs. Overlaying simply connected planar subdivisions in linear time. In Proceedings of 11th Annual ACM Symposium on Computational Geometry (SoCG), pages 119–126. Association for Computing Machinery (ACM) Press, 1995.

Franco P. Preparata and Michael Ian Shamos Computational Geometry: An Introduction. Springer, New York, 1990.

Daniel H. Greene The Decomposition of Polygons into Convex Parts. Computational Geometry, Advances in Computing Research, 1:235–259, 1983.

Stefan Hertel and Kurt Mehlhorn Fast triangulation of the plane with respect to simple polygons. Information and Control, 64:52–76,1985. Bernard Chazelle and David P. Dobkin. Optimal convex decompositions. Computational Geometry, North-Holland, pages 63–133, 1985

Pankaj Kumar Agarwal and Eyal Flato and Dan Halperin. Polygon Decomposition for Efficient Construction of Minkowski Sums. Computational Geometry: Theory and Applications, 21:39–61, 2002.

Minkowski Sums 54