Algorithm to determine whether a surface in $\mathbb{R}^3$ is closed (the volume is bounded)

100 Views Asked by At

I am looking for an algorithm that can determine whether a surface in $\mathbb{R}^3$ is closed (the volume is bounded). I am not familiar with the field, so I am unsure whether this is even feasible in general. More precisely I have primitives such as balls, half-spaces, quadrics etc. and I construct new primitives from those through set operations (intersection, complement), also known as CSG (constructive solid geometry). I am looking to classify the resulting primitives as bounded or not. For example I consider a half-space to be unbounded, while a ball to be bounded. The main problem is that one can build bounded primitives from unbounded ones (a box formed from the intersection of half-spaces), but at the same time one can build unbounded ones. I realize that my problem is possibly not very well-defined, but I am unsure what other restrictions would make sense to make it feasible. So I am looking for anything really, even if it doesn't specifically apply to the exact formulation of the problem above, as long as it can classify some class of primitives as bounded unbounded.

1

There are 1 best solutions below

0
On

For linear inequalities you can reduce problem of boundedness to linear programming problem. Cf. wiki.

There are multiple working implementations of this algorithm available. You'd be interested in checking if problem is 'feasible' for objective vector not perpendicular to any of the bounding planes. (Sadly in general this algorithm can be quite slow).