Discrete & Computational Geometry

, Volume 8, Issue 3, pp 295–313

A pivoting algorithm for convex hulls and vertex enumeration of arrangements and polyhedra

Authors

  • David Avis
    • School of Computer ScienceMcGill University
  • Komei Fukuda
    • Graduate School of Systems ManagementUniversity of Tsukuba
Article

DOI: 10.1007/BF02293050

Cite this article as:
Avis, D. & Fukuda, K. Discrete Comput Geom (1992) 8: 295. doi:10.1007/BF02293050

Abstract

We present a new pivot-based algorithm which can be used with minor modification for the enumeration of the facets of the convex hull of a set of points, or for the enumeration of the vertices of an arrangement or of a convex polyhedron, in arbitrary dimension. The algorithm has the following properties:
  1. (a)

    Virtually no additional storage is required beyond the input data.

     
  2. (b)

    The output list produced is free of duplicates.

     
  3. (c)

    The algorithm is extremely simple, requires no data structures, and handles all degenerate cases.

     
  4. (d)

    The running time is output sensitive for nondegenerate inputs.

     
  5. (e)

    The algorithm is easy to parallelize efficiently.

     

For example, the algorithm finds thev vertices of a polyhedron inRd defined by a nondegenerate system ofn inequalities (or, dually, thev facets of the convex hull ofn points inRd, where each facet contains exactlyd given points) in timeO(ndv) andO(nd) space. Thev vertices in a simple arrangement ofn hyperplanes inRd can be found inO(n2dv) time andO(nd) space complexity. The algorithm is based on inverting finite pivot algorithms for linear programming.

Copyright information

© Springer-Verlag New York Inc. 1992