Article ID Journal Published Year Pages File Type
440454 Computer-Aided Design 2009 12 Pages PDF
Abstract

We introduce an algorithm for computing Voronoi diagrams of points, straight-line segments and circular arcs in the two-dimensional Euclidean plane. Based on a randomized incremental insertion, we achieve a Voronoi algorithm that runs in expected time O(nlogn)O(nlogn) for a total of nn points, segments and arcs, if at most a constant number of segments and arcs is incident upon every point. Our theoretical contribution is a careful extension of the topology-oriented approach by Sugihara and Iri in order to make the incremental insertion applicable to circular arcs.Our main practical contribution is the extension of Held’s Voronoi code Vroni to circular arcs. We discuss implementational issues such as the computation of the Voronoi nodes. As demonstrated by test runs on several thousands of synthetic and real-world data sets, this circular-arc extension of Vroni is reliable and exhibits the average-case time complexity predicted by theory. As a service to the community, all circular-arc data sets (except for proprietary data) have been made public.To our knowledge, this enhanced version of Vroni constitutes the first implementation that computes Voronoi diagrams of genuine circular arcs on a standard floating-point arithmetic reliably and efficiently, without resorting to some form of approximation or sampling of the circular arcs.

Related Topics
Physical Sciences and Engineering Computer Science Computer Graphics and Computer-Aided Design
Authors
, ,