Skip to main content

Fast and Robust Smallest Enclosing Balls

Part of the Lecture Notes in Computer Science book series (LNCS,volume 1643)


I describe a C++ program for computing the smallest enclosing ball of a point set in d-dimensional space, using floating-point arithmetic only. The program is very fast for d ≤ 20, robust and simple (about 300 lines of code, excluding prototype definitions). Its new features are a pivoting approach resembling the simplex method for linear programming, and a robust update scheme for intermediate solutions. The program with complete documentation following the literate programming paradigm [3] is available on the Web.1


  • Singular Value Decomposition
  • Support Point
  • Recursive Call
  • Input Point
  • Current Ball

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

This work was supported by grants from the Swiss Federal Office for Education and Science (Projects ESPRIT IV LTR No. 21957 CGAL and No. 28155 GALIA).

This is a preview of subscription content, access via your institution.

Buying options

USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/3-540-48481-7_29
  • Chapter length: 14 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
USD   109.00
Price excludes VAT (USA)
  • ISBN: 978-3-540-48481-3
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   149.00
Price excludes VAT (USA)


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. V. Chvátal. Linear Programming. W. H. Freeman, NewYork, NY, 1983.

    MATH  Google Scholar 

  2. B. Gärtner. Geometric optimization. Lecture Notes for the Equinoctial School on Geometric Computing, ETH Zürich, 1997, publications.html

  3. Donald E. Knuth. Literate programming. The Computer Journal, 27(2):97–111, 1984.

    MATH  CrossRef  Google Scholar 

  4. N. Megiddo. Linear-time algorithms for linear programming in R 3 and related problems. In Proc. 23rd Annu. IEEE Sympos. Found. Comput. Sci., pages 329–338, 1982.

    Google Scholar 

  5. A. L. Peressini, F. E. Sullivan, and J. J. Uhl. The Mathematics of Nonlinear Programming. Undergraduate Texts in Mathematics. Springer-Verlag, 1988.

    Google Scholar 

  6. William H. Press, Brian P. Flannery, Saul A. Teukolsky, and William T. Vetterling. Numerical Recipes in C. Cambridge University Press, Cambridge, England, 2nd edition, 1993.

    Google Scholar 

  7. J. Ritter. An efficient bounding sphere. In Andrew S. Glassner, editor, Graphics Gems. Academic Press, Boston, MA, 1990.

    Google Scholar 

  8. J. J. Sylvester. A question on the geometry of situation. Quart. J. Math., 1:79, 1857.

    Google Scholar 

  9. Emo Welzl. Smallest enclosing disks (balls and ellipsoids). In H. Maurer, editor, New Results and New Trends in Computer Science, volume 555 of Lecture Notes Comput. Sci., pages 359–370. Springer-Verlag, 1991.

    Google Scholar 

  10. X. Wu. A linear-time simple bounding volume algorithm. In D. Kirk, editor, Graphics Gems III. Academic Press, Boston, MA, 1992.

    Google Scholar 

Download references

Author information

Authors and Affiliations


Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gärtner, B. (1999). Fast and Robust Smallest Enclosing Balls. In: Nešetřil, J. (eds) Algorithms - ESA’ 99. ESA 1999. Lecture Notes in Computer Science, vol 1643. Springer, Berlin, Heidelberg.

Download citation

  • DOI:

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66251-8

  • Online ISBN: 978-3-540-48481-3

  • eBook Packages: Springer Book Archive