BoolSurf: Boolean Operations on Surfaces

ACM Transactions on Graphics (SIGGRAPH Asia ')
Marzia Riso
Giacomo Nazzaro
Enrico Puppo
Alec Jacobson
Qingnan Zhou
Fabio Pellacini
Teaser image
We compute Boolean operations between shapes bounded by closed curves on surfaces, consisting of geodesic polygons and Bézier splines. We support, intricate and self-intersecting shapes on surfaces of any genus and optionally open boundaries (left and center). As an alternative to Booleans, we also define Boundary Sampled Curves, which extend the work of Du et al. [2021] to the manifold domain (right).

Abstract

We port Boolean set operations between 2D shapes to surfaces of any genus, with any number of open boundaries.We combine shapes bounded by sets of freely intersecting loops, consisting of geodesic lines and cubic Bézier splines lying on a surface. We compute the arrangement of shapes directly on the surface and assign integer labels to the cells of such arrangement. Differently from the Euclidean case, some arrangements on a manifold may be inconsistent. We detect inconsistent arrangements and help the user to resolve them. Also, we extend to the manifold setting recent work on Boundary- Sampled Halfspaces, thus supporting operations more general than standard Booleans, which are well defined on inconsistent arrangements, too. Our implementation discretizes the input shapes into polylines at an arbitrary resolution, independent of the level of resolution of the underlying mesh. We resolve the arrangement inside each triangle of the mesh independently and combine the results to reconstruct both the boundaries and the interior of each cell in the arrangement. We reconstruct the control points of curves bounding cells, in order to free the result from discretization and provide an output in vector format. We support interactive usage, editing shapes consisting up to 100k line segments on meshes of up to 1M triangles.

Video

Citation

@article{riso22boolsurf, author = {Riso, Marzia and Nazzaro, Giacomo and Puppo, Enrico and Jacobson, Alec and Zhou, Qingnan and Pellacini, Fabio}, title = {BoolSurf: Boolean Operations on Surfaces}, year = {2022}, publisher = {Association for Computing Machinery}, doi = {10.1145/3550454.3555466}, journal = {ACM Transactions on Graphics} }