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

Incremental convex hull #130

Open
mynickmynick opened this issue Apr 27, 2023 · 2 comments
Open

Incremental convex hull #130

mynickmynick opened this issue Apr 27, 2023 · 2 comments

Comments

@mynickmynick
Copy link

Could you please suggest a way (on the C interface usable by PCL) to update the convex hull of a set adding one point at a time?
The reason is that I am experimenting a conditional clustering, where on each candidate growing cluster point I impose conditions on the convex hull and area.
So what I would need is something conceptually like

convex_hull(n)=convex_hull_incremental( convex_hull(n-1) , point(n))
where the algorithm convex_hull_incremental exploits the fact that convex_hull(n-1) is already convex to calculate faster the result

right now I am using

convex_hull(n)=convex_hull[ list_union( convex_hull(n-1) , point(n))]
where I don't exploit it and the calculation is of course slow

thanks

@pranavmalikk
Copy link

Really curious about this as well

@cbbarber
Copy link
Collaborator

You can use qh_addpoint in llibqhull_r.c to add a point. qh_addpoint requires a facet that is clearly below the point (e.g., qh_findbestfacet in poly2_r.c).

This is a slow method to compute the convex hull with Qhull. qh_findbestfacet often requires testing most of the existing facets
http://www.qhull.org/html/qh-faq.htm#inc

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

3 participants