Exact minimum bounding spheres and circles

Compute exact and approximate minimum bounding spheres/circles of 3D/2D point sets
2.1K Downloads
Updated Sat, 03 Dec 2022 21:55:53 +0000

Bounding Spheres and Circles

View Exact minimum bounding spheres and circles on File Exchange

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

License

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

Community Treasure Hunt

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

Start Hunting!

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes
1.4.0.1

Use README.md from GitHub

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.