Minkowski Sums Minkowski Sumdefinition, complexity, construction, - - PowerPoint PPT Presentation
Minkowski Sums Minkowski Sumdefinition, complexity, construction, - - PowerPoint PPT Presentation
Minkowski Sums Minkowski Sumdefinition, complexity, construction, applications Efi Fogel Tel Aviv University, Israel Algorithmic Robotics and Motion Planning March 14th, 2011 Outline Minkowski Sums 1 Minkowski-sum Definition
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)
Let P and Q be two point sets in Rd. The Minkowski 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 Hermann Minkowski 1864–1909
Minkowski Sum Examples in I R2
- p = p + o
1 2 3 −1 −2 1 −1 q p q + p
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 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}. 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ℓ
⋆ Sk i=1 Pi = P and Sℓ j=1 Qj = Q.
Calculate the pairwise sums Sij = Pi ⊕ Qj of the convex sub-polygons. Compute the union P ⊕ Q =
ij Sij.
Convolution, 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 angle they form with the x-axis. M can be computed using an operation similar to the merge step of the merge-sort algorithm in O(m + n) time. 1 2 3 4 5 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
i=1 T P i
and Q = ∪n−2
i=1 T Q 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 =
Mi∈M Mi = P ⊕ Q.
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 within one region.
- d2
- d1
Directions between
- d1 and
d2.
⇐ ⇒ ⇐ ⇒ Generalizes to higher dimensions.
Minkowski Sums 12 Carl Friedrich Gauss 1777–1855
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. Q is more extreme. P and Q are equally extreme. P Q
- d1
- d2
- d3
- d1
- d2
- 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 extreme point 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
- f 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
Triangulate P = ∪m−2
i=1 Ti.
P ⊕ Q = ∪m−2
i=1 Ti ⊕ Q.
Ti ⊕ Q has at most n + 3 vertices. {Ti} is a collection of convex pairwise disjoint interior polygons (triangles) = ⇒ {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 I R2 convex, convex Θ(m + n) convex, arbitrary Θ(mn) arbitrary, arbitrary Θ(m2n2) I R3 convex, convex Θ(mn) convex, arbitrary O(ℓk log k) (*) arbitrary, arbitrary Θ(m3n3) I Rd, d>3 convex, convex O((mn)⌊d/2⌋) convex, arbitrary ? arbitrary, arbitrary Θ(mdnd)
* k — the number of convex polytopes Qi that compose Q = Sk
i=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 =
ij 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. Maintain a boundary count for each edge and an inside count for each face. Compare boundary counts with inside counts to identify boundary edges.
1 2 2 3
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. Minimizing Σd2
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 (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 − − − → pipi+1 lies between − − − → qj−1qj and − − − → qjqj+1. [pi + qj, pi + qj+1], where − − − → qjqj+1 lies between − − − → pi−1pi and − − − → pipi+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] [0] [1] [2] [2] [2] 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 convex set 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
- ctahedron
dodecahedron dioctagonal pyramid dioctagonal dipyramid truncated icosi- dodecahedron pentagonal hexecontahe- dron sphere mesh level 4 ellipsoid mesh Minkowski Sums 27
Minkowski-Sum Construction: Convex Hull
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 <Kernel > Polyhedron ; std : : vector <Point > in1 , in2 , points ; Process input . . . points . resize ( in1 . size ( ) ∗ in2 . size ( ) ) ; std : : vector <Point > : : c o n s t _ i t e r a t o r it1 , i t 2 ; std : : vector <Point > : : i t e r a t o r i t 3 = points . begin ( ) ; f o r ( i t 1 = in1 . begin ( ) ; i t 1 != in1 . end ( ) ; ++ i t 1 ) \ { Vector v (CGAL: : ORIGIN , ∗ i t 1 ) ; f o r ( i t 2 = in2 . begin ( ) ; i t 2 != in2 . end ( ) ; ++ i t 2 ) ∗ i t 3 ++ = (∗ i t 2 ) + 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 I R3 P is the decomposition
- f 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
- utward 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.
- verlay(G(P), G(Q)) = G(P ⊕ Q)
The overlay identifies all the pairs
- f 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 ∂(P ⊕ Q).
Cube Minkowski sum tetrahedron 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 The primal The CGM The CGM unfolded
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. Summand 1 Summand 2 SGM CGM NGM Fuk CH
F1F2 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 —
- rthogonal dioctagonal pyramid.
PH — pentagonal hexecontahedron. TI — truncated icosidodecahedron. GS4 — geodesic sphere level 4. RGS4 — rotated geodesic sphere level 4. El16 — ellipsoid. OEl16 —
- rthogonal 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: Collision Detection
P and Q are two polytopes in Rd. P ∩ Q = ∅
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 = ∅
collision detection
π(P, Q) = min{t | Pt ∩ Q = ∅, t ∈ Rd}
separation distance
δ(P, Q) = inf{t | Pt ∩ Q = ∅, t ∈ Rd}
penetration depth
δv(P, Q) = inf{α | Pα
v ∩ 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 = ∅ ⇔ Origin ∈ M = P ⊕ (−Q)
collision detection
π(P, Q) = min{t | Pt ∩ Q = ∅, t ∈ Rd}
separation distance
δ(P, Q) = inf{t | Pt ∩ Q = ∅, t ∈ Rd}
penetration depth
δv(P, Q) = inf{α | Pα
v ∩ 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. Pu ∩ Qw = ∅ ⇔ w − u ∈ M = P ⊕ (−Q)
collision detection
π(P, Q) = min{t | Pt ∩ Q = ∅, t ∈ Rd}
separation distance
δ(P, Q) = inf{t | Pt ∩ Q = ∅, t ∈ Rd}
penetration depth
δv(P, Q) = inf{α | Pα
v ∩ 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. Pu ∩ Qw = ∅ ⇔ w − u ∈ M = P ⊕ (−Q)
collision detection
π(P, Q) = min{t | t ∈ M, t ∈ Rd}
separation distance
δ(P, Q) = inf{t | Pt ∩ Q = ∅, t ∈ Rd}
penetration depth
δv(P, Q) = inf{α | Pα
v ∩ 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. Pu ∩ Qw = ∅ ⇔ w − u ∈ M = P ⊕ (−Q)
collision detection
π(P, Q) = min{t | t ∈ M, t ∈ Rd}
separation distance
δ(P, Q) = inf{t | t / ∈ M, t ∈ Rd}
penetration depth
δv(P, Q) = inf{α | Pα
v ∩ 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. Pu ∩ Qw = ∅ ⇔ w − u ∈ M = P ⊕ (−Q)
collision detection
π(P, Q) = min{t | t ∈ M, t ∈ Rd}
separation distance
δ(P, Q) = inf{t | t / ∈ M, t ∈ Rd}
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. Pu ∩ Qw = ∅ ⇔ w − u ∈ M = P ⊕ (−Q)
collision detection
π(Pu, Qw) = min{t | (w − u + t) ∈ M, t ∈ Rd}
separation distance
δ(Pu, Qw) = inf{t | (w − u + t) / ∈ M, t ∈ Rd}
penetration depth
δv(Pu, Qw) = 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{t | 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 position 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: a diamond-shaped robot translating in a house amidst polygonal
- bstacles
The configuration space: the forbidden-configuration space, the free-configuration space 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 Geometry (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