Exact minimum bounding spheres and circles

Compute exact and approximate minimum bounding spheres/circles of 3D/2D point sets
2,1K téléchargements
Mise à jour 3 déc. 2022

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

Citation pour cette source

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

Compatibilité avec les versions de MATLAB
Créé avec R2015a
Compatible avec toutes les versions
Plateformes compatibles
Windows macOS Linux
Catégories
En savoir plus sur Point Cloud Processing dans Help Center et MATLAB Answers

Community Treasure Hunt

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

Start Hunting!

Les versions qui utilisent la branche GitHub par défaut ne peuvent pas être téléchargées

Version Publié le Notes de version
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

Pour consulter ou signaler des problèmes liés à ce module complémentaire GitHub, accédez au dépôt GitHub.
Pour consulter ou signaler des problèmes liés à ce module complémentaire GitHub, accédez au dépôt GitHub.