Maximum Inscribed Circle using Voronoi Diagram
A sample application and a function for solving the maximum inscribed circle problem.
Unlike my other submission "Maximum Inscribed Circle using Distance Transform" (at http://www.mathworks.com/matlabcentral/fileexchange/30805-maximum-inscribed-circle-using-distance-transform), this algorithm is subpixel accurate. It operates only on the polygon and not the image points. Therefore, if the polygon is given in sub-pixels, the result will be accurate.
I use an O(n log(n)) algorithm as follows:
- Construct the Voronoi Diagram of the polygon.
- For Voronoi nodes which are inside the polygon:
- Find the node with the maximum distance to edges in P. This node is the centre of the maximum inscribed circle.
For more details on the problem itself please checkout my previous submission as mentioned above.
To speed things up, replace "inpolygon" function by Bruno Lunog's faster implementation "2D polygon interior detection" :
http://www.mathworks.com/matlabcentral/fileexchange/27840-2d-polygon-interior-detection
Copyright (c) 2011, Tolga Birdal <http://www.tbirdal.me>
Cite As
Tolga Birdal (2024). Maximum Inscribed Circle using Voronoi Diagram (https://www.mathworks.com/matlabcentral/fileexchange/32543-maximum-inscribed-circle-using-voronoi-diagram), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Acknowledgements
Inspired by: INPOLY: A fast points-in-polygon test, Maximum Inscribed Circle using Distance Transform
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 |