Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What's the algorithm used to construct the voronoi diagram with segments as sites instead of points? #3

Open
eddsanity opened this issue May 19, 2024 · 2 comments

Comments

@eddsanity
Copy link

Hey, I noticed that this code can generate VDs with sites being line segments and I was curious to know what algorithm it uses to do that.

I know Fortune's algorithm is used with points as sites but I don't know if it would work for segments. Thanks

@lycantropos
Copy link
Owner

lycantropos commented May 19, 2024

From boost/polygon docs

The Voronoi extensions were developed as part of the Google Summer of Code 2010. The library was actively maintained for the last three years and involved deep mathematical research in the field of algorithms, data structures, relative error arithmetic and numerical robustness. Upon the community request, more details on the theoretical aspects of the implementation will be published. The authors would like to acknowledge the Steven Fortune's article "A Sweepline algorithm for Voronoi diagrams", that covers fundamental ideas of the current implementation.

So it looks like an algorithm is based on Fortune's paper
https://dl.acm.org/doi/pdf/10.1145/10515.10549

@eddsanity
Copy link
Author

I am aware of the original Fortune's Algorithm, but it works on points as sites while this works on line segments as sites so it's a pretty substantial extension to the original algorithm and I was wondering about that extension if it is formalized or explained anywhere

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants