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

Adaptive hull hashing #31

Open
mourner opened this issue Sep 4, 2018 · 1 comment
Open

Adaptive hull hashing #31

mourner opened this issue Sep 4, 2018 · 1 comment

Comments

@mourner
Copy link
Member

mourner commented Sep 4, 2018

Capturing an idea of a potential performance improvement: currently we use a fixed hash table size for the hull — sqrt(n). This generally works very well, but can be too low for certain kinds of input where hull sizes tend to be big.

For optimal performance, hash size should depend on the size of the convex hull, but we don't know that size beforehand. So what we could try to do is to reinitialize the hash from scratch multiple times during triangulation, adjusting it to the hull size. If we don't do it often (e.g. once per 1000 processed points), it shouldn't have a noticeable overhead.

@Av3r3tt
Copy link

Av3r3tt commented Sep 4, 2018

Hmmm... I was wondering whether this would help?

http://geosensor.net/papers/duckham08.PR.pdf

The paper explains an algorithm to generate "simple polygons for characterizing the shape of a set of points in the plane". I don't know whether we are using that algorithm already, but it is based on an already pre-existing delaunay triangulation, and delivers in O(n log n). I realize we have that hull already, just throwing this in.

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

No branches or pull requests

2 participants