@article{PAOLUZZI2023103436,
title = {Finite Algebras for Solid Modeling using Julia’s Sparse Arrays},
journal = {Computer-Aided Design},
volume = {155},
pages = {103436},
year = {2023},
issn = {0010-4485},
doi = {https://doi.org/10.1016/j.cad.2022.103436},
url = {https://www.sciencedirect.com/science/article/pii/S0010448522001695},
author = {Alberto Paoluzzi and Vadim Shapiro and Antonio DiCarlo and Giorgio Scorzelli and Elia Onofri},
keywords = {Computational topology, Chain Complex, Cellular Complex, Solid Modeling, Constructive Solid Geometry (CSG), Linear Algebraic Representation (LAR), Arrangement, Boolean Algebra},
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.}
}