1. On Implementing Straight Skeletons: Challenges and Experiences
- Author
-
Günther Eder and Martin Held and Peter Palfrader, Eder, Günther, Held, Martin, Palfrader, Peter, Günther Eder and Martin Held and Peter Palfrader, Eder, Günther, Held, Martin, and Palfrader, Peter
- 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.
- Published
- 2020
- Full Text
- View/download PDF