computational geometry - Approximation of a solid by a union of spheres -


i've got 3d solid, represented union of set of polyhedral convex hulls. (or single convex, if makes things easier.) i'd approximate solid union of set of spheres, in way minimizes both number of spheres in set , error in approximation. (the latter objective deliberately vague: reasonable error metric do. likewise, way in objectives combined in air; either number of spheres or error metric constrained, or function of 2 minimized. don't want specify myself corner.)

the approximation not need entirely contain or entirely contained original set. each sphere may have arbitrary radius.

this feels sort of problem that's np-complete, , in case unlikely practical using exact methods, i'm assuming solution lies in realm of stochastic optimization. feels variant of k-means might fit (assigning uncovered locations closest spheres, , refining spheres cover of them), i'm not sure how handle multiply-covered locations, or how find local, not-necessarily-covering-everything optimum single sphere. also, iterative methods efficiency important, , doing 3d boolean operations not going efficient.

the problem not simple, has been studied previously. central concept medial axis, can viewed representation of object infinite union of balls. key paper addressing question is:

"the power crust, unions of balls, , medial axis transform." nina amenta, sunghee choi, ravi krishna kolluri. computational geometry. volume 19, issues 2–3, july 2001, pages 127–153. (journal link.)


footballs   shellballs
(images source: from point clouds power crusts.)


a second paper is

cazals, frédéric, et al. "greedy geometric algorithms collection of balls, applications geometric approximation , molecular coarse‐graining." computer graphics forum. vol. 33. no. 6. 2014. (pdf download.)

whose 1st sentence "choosing balls best approximate 3d object non-trivial problem."! primary application molecular models, might far interests.


Comments

Popular posts from this blog

Email notification in google apps script -

c++ - Difference between pre and post decrement in recursive function argument -

javascript - IE11 incompatibility with jQuery's 'readonly'? -