Litcius/Paper detail

On Implementing Straight Skeletons: Challenges and Experiences

Günther Eder, Martin Held, Peter Palfrader

2020DROPS (Schloss Dagstuhl – Leibniz Center for Informatics)14 citationsDOIOpen Access PDF

Abstract

We present Cgal implementations of two algorithms for computing straight skeletons in the plane, based on exact arithmetic. One code, named Surfer2, can handle multiplicatively weighted planar straight-line graphs (PSLGs) while our second code, Monos, is specifically targeted at monotone polygons. Both codes are available on GitHub. We discuss algorithmic as well as implementational and engineering details of both codes. Furthermore, we present the results of an extensive performance evaluation in which we compared Surfer2 and Monos to the straight-skeleton package included in Cgal. It is not surprising that our special-purpose code Monos outperforms Cgal’s straight-skeleton implementation. But our tests provide ample evidence that also Surfer2 can be expected to be faster and to consume significantly less memory than the Cgal code. And, of course, Surfer2 is more versatile because it can handle multiplicative weights and general PSLGs as input. Thus, Surfer2 currently is the fastest and most general straight-skeleton code available.

Topics & Concepts

Computer scienceLaw, AI, and Intellectual Property
On Implementing Straight Skeletons: Challenges and Experiences | Litcius