doi:10.1016/j.cad.2007.05.017
Copyright © 2007 Elsevier Ltd All rights reserved.
References and further reading may be available for this article. To view references and further reading you must
purchase this article.
Efi Fogel
, a,
and Dan Halperina, 
aSchool of Computer Science, Tel Aviv University, 69978, Israel
Received 4 March 2006;
accepted 25 May 2007.
Available online 26 June 2007.
Abstract
We present an exact implementation of an efficient algorithm that computes Minkowski sums of convex polyhedra in
. Our implementation is complete in the sense that it does not assume general position. Namely, it can handle degenerate input, and it produces exact results. We also present applications of the Minkowski-sum computation to answer collision and proximity queries about the relative placement of two convex polyhedra in
. The algorithms use a dual representation of convex polyhedra, and their implementation is mainly based on the Arrangement package of Cgal, the Computational Geometry Algorithm Library. We compare our Minkowski-sum construction with the only three other methods that produce exact results we are aware of. One is a simple approach that computes the convex hull of the pairwise sums of vertices of two convex polyhedra. The second is based on Nef polyhedra embedded on the sphere, and the third is an output-sensitive approach based on linear programming. Our method is significantly faster. The results of experimentation with a broad family of convex polyhedra are reported. The relevant programs, source code, data sets, and documentation are available at http://www.cs.tau.ac.il/~efif/CD and a short movie [Fogel E, Halperin D. Video: Exact Minkowski sums of convex polyhedra. In: Proceedings of 21st annual ACM symposium on computational geometry. 2005. p. 382–3] that describes some of the concepts portrayed in this paper can be downloaded from http://www.cs.tau.ac.il/~efif/CD/Mink3d.avi.
Keywords: Computational geometry; Collision detection; 3D Minkowski sum; 2D arrangement; Gaussian map
Fig. 1. (a) A tetrahedron, (b) the Cgm of the tetrahedron, and (c) the Cgm unfolded. Thick lines indicate real edges.
Fig. 2. The data structure. Large-font numbers indicate plane ids. Small-font numbers indicate corner ids. X and Y axes in different 2D coordinate-systems are rendered in different colors. (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)
Fig. 3. (a) The Minkowski sum of two polytopes the complexity of which is maximal, (b) the Cgm of the Minkowski sum, and (c) the Cgm unfolded. Red lines are graphs of edges that originate from one polytope and blue lines are graphs of edges that originate from the other. (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)
Fig. 4. (a) The Minkowski sum of two geodesic spheres level 2 slightly rotated with respect to each other, (b) the Cgm of the Minkowski sum, and (c) the Cgm unfolded.
Fig. 5. (a) The Minkowski sum of two approximately orthogonal squashed dioctagonal pyramids, (b) the Cgm, and (c) the Cgm unfolded.
Fig. 6. (a) An octahedron, (d) a dioctagonal pyramid, (g) the Minkowski sum of two approximately orthogonal dioctagonal pyramids, (j) the Minkowski sum of a Pentagonal Hexecontahedron and a Truncated Icosidodecahedron, ((b), (e), (h), (k)) the Cgm of the respective polytope, and ((c), (f), (i), (l)) the Cgm unfolded.
Fig. 7. (m) An ellipsoid-like polyhedron level 16, (p) the Minkowski sum of two approximately orthogonal ellipsoid-like polyhedra, ((n),(q)) the Cgm of the respective polytope, and ((o), (r)) the Cgm unfolded.
Table 1.
The coordinate systems, and the cyclic chains of corner vertices

PM stands for Planar Map.
Table 2.
The number of features of the six planar maps of the Cgm of the dioctagonal pyramid object

Table 3.
Complexity of the primal and dual representations

DP — Dioctagonal Pyramid, PH — Pentagonal Hexecontahedron, TI — Truncated Icosidodecahedron, GS4 — Geodesic Sphere level 4, El16 — Ellipsoid-like polyhedron made of 16 latitudes and 32 longitudes.
Table 4.
Time consumption (in seconds) of the Minkowski-sum computation

Icos — Icosahedron, 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-like polyhedron made of 16 latitudes and 32 longitudes, OEl16 — Orthogonal Ellipsoid-like polyhedron made of 16 latitudes and 32 longitudes, CH — the Convex Hull method, CGM — the Cubical Gaussian Map based method, NGM — the Nef-based method, Fuk— Fukuda’s Linear-Programming based algorithm,
— the ratio between the product of the number of input facets and the number of output facets.
This work has been supported in part by the IST Programmes of the EU as Shared-cost RTD (FET Open) Project under Contract No IST-2001-39250 (MOVIE — Motion Planning in Virtual Environments), by the IST Programmes of the EU as Shared-cost RTD (FET Open) Project under Contract No IST-006413 (ACS — Algorithms for Complex Shapes), by the Israel Science Foundation (grant no. 236/06), and by the Hermann Minkowski–Minerva Center for Geometry at Tel Aviv University.

A preliminary version appeared in Proc. 8th Workshop on Algorithm Engineering and Experiments (ALENEX), Miami, 2005, pp. 3–15.

Corresponding author. Tel.: +972 526225863; fax: +972 36094446.