Finite Algebras for Solid Modeling using Julia's Sparse Arrays. (February 2023) - Paoluzzi, Alberto; Shapiro, Vadim; DiCarlo, Antonio; Scorzelli, Giorgio; Onofri, Elia
Abstract: An early research in solid modeling led by Herbert Voelcker at the University of Rochester and later at Cornell suggested that every solid representation scheme corresponds to an algebra, where the elements of the algebra are solid representations constructed and edited using operations in the algebra. For example, every CSG representation describes an element in a finite Boolean algebra of closed regular sets, whereas every boundary representation describes an element of a vector space of 2-chains in an algebraic topological chain complex. In this paper, we elucidate the precise relationships (functors) between all algebras used for CSG and boundary representations of solids. Based on these properties, we show that many solid modeling operations, including boundary evaluation, reduce to straightforward algebraic operations or application of identified functors that are efficiently implemented using point membership tests and sparse matrix operations. To fully exploit the efficacy of the new algebraic approach to solid modeling, all algorithms are fully implemented in Julia, the modern language of choice for numerical and scientific computing. Graphical abstract: Highlights: New research direction in solid modeling. Algebraic relationships between CSG and boundary representations of PL solids. Arrangements are isomorphic to the finite Boolean algebra of regularized sets. This algebra is isomorphic to a linear vector space of 3-chains. Operations on CSG and b-reps reduce to composition of algebraic operations. operations.