Reflecting on your only option, if quickhull is not good enough, cudahull if you want accurate solutions. Although, even then you will only get a maximum maximum of 40 times (it seems).
I assume that you have the convex hulls you make have at least 10 vertices (if it is much smaller, you cannot do this). If you do not mind "close enough" decisions. You can create a quickhull version that limits the number of vertices per polygon. The number of vertices that you limit to calculation also allows you to calculate the maximum error if necessary.
The fact is, since the number of vertices on a convex hull approaches infinity, you get a sphere. This means that due to the fast hull, each additional vertex added to the convex hull has less effect * than the previous ones.
* Depending on how quickhull is encoded, this can only be true in the general sense. To put this into practice, you will need to modify the fast recursion algorithm, therefore, while the "next vertex" is always calculated (except that after adding the last vertex or no points for this section) the vertices are actually added to the convex hull in an order that maximizes the increase the volume of polyhedra (probably in order of the most distant to the least distant). You will incur some execution cost to track the order to add the top, but as long as the ratio of pending convex points of the hull to pending points is large enough, it's worth it. As for the error, the best option is probably to stop the algorithm either when the actual convex hull is reached, or when the maximum volume is increased to some part of the current total volume. If performance is more important, then simply limit the number of convex points of the hull to one polygon.
You can also look at various approximate convex shell algorithms, but the method described above should work well for approximating the volume / centroid with the possibility of determining errors.
source share