5 research outputs found
Fast Exact Booleans for Iterated CSG using Octree-Embedded BSPs
We present octree-embedded BSPs, a volumetric mesh data structure suited for
performing a sequence of Boolean operations (iterated CSG) efficiently. At its
core, our data structure leverages a plane-based geometry representation and
integer arithmetics to guarantee unconditionally robust operations. These
typically present considerable performance challenges which we overcome by
using custom-tailored fixed-precision operations and an efficient algorithm for
cutting a convex mesh against a plane. Consequently, BSP Booleans and mesh
extraction are formulated in terms of mesh cutting. The octree is used as a
global acceleration structure to keep modifications local and bound the BSP
complexity. With our optimizations, we can perform up to 2.5 million mesh-plane
cuts per second on a single core, which creates roughly 40-50 million output
BSP nodes for CSG. We demonstrate our system in two iterated CSG settings:
sweep volumes and a milling simulation
Exact, robust, and efficient regularized Booleans on general 3D meshes
Computing Boolean operations (Booleans) of 3D polyhedra/meshes is a basic and essential task in many domains, such as computational geometry, computer-aided design, and constructive solid geometry. Besides their utility and importance, Booleans are challenging to compute when dealing with meshes, because of topological changes, geometric degeneracies, etc. Most prior art techniques either suffer from robustness issues, deal with a restricted class of input/output meshes, or provide only approximate results. We overcome these limitations and present an exact and robust approach performing on general meshes, required to be only closed and orientable. Our method is based on a few geometric and topological predicates that allow to handle all input/output cases considered as degenerate in existing solutions, such as voids, non-manifold, disconnected, and unbounded meshes, and to robustly deal with special input configurations. Our experimentation showed that our more general approach is also more robust and more efficient than Maya’s implementation (×3), CGAL’s robust Nef polyhedra (×5), and recent plane-based approaches. Finally, we also present a complete benchmark intended to validate Boolean algorithms under relevant and challenging scenarios, and we successfully ascertain both our algorithm and implementation with it