Computational topology and Boolean operations with Julia sparse arrays
07-25, 11:40–11:50 (US/Eastern), Elm B

This talk introduces computational topology algorithms to generate the 2D/3D space partition induced by a collection of 1D/2D/3D geometric objects. Methods and language are those of basic geometric and algebraic topology. Only sparse arrays are used to compute spaces and maps (the chain complex) from dimension zero to three.


This approach to computation of space arrangements may be used in disparate subdomains of geometric and visual computing, including geo-mapping, computer vision, computer graphics, medical imaging, geometric and solid modeling, and finite elements. In all such domains one must compute incidences, adjacencies and ordering of cells, generally using disparate and often incompatible data structures and algorithms. E.g., most of earlier algorithms for space decomposition and Boolean operations work with data structures optimized for selected classes of geometric objects.
Conversely, we introduce a computational architecture based only on linear algebra with sparse arrays and basic matrix operations. Therefore our formulation, cast in terms of (co)chain complexes of (co)boundary maps, may be applied to very different geometric objects, ranging from solid models to engineering meshes, geographical systems, and biomedical images. In particular, we use rather general cellular complexes, with cells homeomorphic to polyhedra, i.e., to triangulable spaces, and hence possibly non convex and with holes.
The main stage of our computational pipeline operates independently on each 2-cell of the input data sets, according to an embarrassingly parallel data-driven approach. It is remarkable that the approach works with collections of 2-manifolds with- or without-boundary, sets of non-manifolds, sets of 3-manifolds, etc., and not only with triangle meshes.
Extending this approach to Boolean solid operations is straightforward. Among other strong points we cite: the compact representation of cellular complexes; the combinable nature of maps, allowing for multiple queries about the local topology, by a single matrix multiplication; the parallel fragmentation of input cells empowered by cell congruence; and what we call "topological gift wrapping" algorithm.

Alberto Paoluzzi is professor of Computer Science with the Department of Mathematics and Physics of Roma Tre University. Currently teaches Parallel and Distributed Computing, and Computational Algebraic Topology, and leads the CVD (Computational Visual Design) Lab, previously CAD-PLM Lab. He was associate professor of Computer Science with La Sapienza University of Rome from 1983 to 1993, and professor of Computer Aided Design with the Department of Informatics and Automation of Roma Tre from 2000 to 2012. He was working on graphics, geometric and solid modeling in Italy since the last seventies, and leaded the design and development of several geometrical systems, including the first solid modeler on a personal computer in 1985, and the geometric language PlaSM in more recent years.
He is a member of SIAM, ACM, the IEEE Computer Society. He was editor of Computer-aided Design journal and Computer-Aided Design and Applications. Authored 3 books, and more than 120 peer-reviewed papers on international journals and conferences. In 2017 was awarded from SMA (Solid Modeling Association) the honorific title of Pioneer of Solid Modeling.