# Exact minimum bounding spheres and circles

Version 1.4.0.1 (1.08 MB) by
Compute exact and approximate minimum bounding spheres/circles of 3D/2D point sets
Updated 3 Dec 2022

# Bounding Spheres and Circles

The problem of finding minimum bounding spheres (aka minimum enclosing spheres) is frequently encountered in a number of applications, including computer graphics and patter recognition. While a number of relatively simple algorithms exist for finding such spheres, there are no robust implementations of these algorithms in Matlab that can be readily found on-line. Functions contained in this submission are meant to fill this void.

Exact minimum bounding spheres and circles can be computed using the functions titled `ExactMinBoundSphere3D.m` and `ExactMinBoundCircle.m`, both implementing Wezlz’s algorithm [1]. Approximate minimum bounding spheres in any dimension can be computed using `ApproxMinBoundSphereND.m` function, which implements Ritter’s algorithm [2].

For convenience, I also included functions `VisualizeBoundSphere.m` and `VisualizeBoundCircle.m` that allow you to visualize input point clouds (or meshes) with their respective minimum bounding sphere/circle (see demo pic).

For demonstration on how to use the functions, add this repository to your Matlab path and enter `MinBoundSphereDemo` into command window.

## References

[1] Welzl, E. (1991), 'Smallest enclosing disks (balls and ellipsoids)', Lecture Notes in Computer Science, Vol. 555, pp. 359-370
[2] Ritter, J. (1990), 'An efficient bounding sphere', in Graphics Gems, A. Glassner, Ed. Academic Press, pp.301-303

MIT © 2019 Anton Semechko a.semechko@gmail.com

### Cite As

Anton Semechko (2024). Exact minimum bounding spheres and circles (https://github.com/AntonSemechko/Bounding-Spheres-And-Circles), GitHub. Retrieved .

##### MATLAB Release Compatibility
Created with R2015a
Compatible with any release
##### Platform Compatibility
Windows macOS Linux
##### Categories
Find more on Point Cloud Processing in Help Center and MATLAB Answers

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

#### Auxiliary

Version Published Release Notes
1.4.0.1

1.4.0.0

- migrated to GitHub

1.3.0.0

- Made changes to return parameters of minimum bounding circles instead of circumcircles for point sets representing vertices of obtuse triangles. Thanks to Yves Konkel for pointing out this bug.

1.2.0.0

- Removed minor bug pointed out by Wang Yong
- Updated 'ExactMinBoundSphere3D.m' to automatically recognize coplanar and collinear point sets
- Updated 'ExactMinBoundCircle.m' to automatically recognize collinear point sets

1.1.0.0

added a function that computes exact minimum bounding circles

1.0.0.0

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.