Polygon offsetting using a Voronoi diagram and two stacks

The generation of the trimmed offset of a simple polygon is a conceptually simple but important and computationally non-trivial geometric problem for many applications. This article presents a linear time algorithm to compute a trimmed offset of a simple polygon consisting of arcs as well as line segments in a plane. Assuming that a Voronoi diagram of the polygon is available, the algorithm uses two stacks: T-stack and C-stack. The T-stack contains intersections between an offset and Voronoi edges, and the C-stack contains an offset chain which is a part of the trimmed offset. The contents of both stacks are pushed into and popped from the stacks in a synchronized fashion depending on the events that occur during the offsetting process.

[1]  R. Farouki,et al.  The bisector of a point and a plane parametric curve , 1994, Comput. Aided Geom. Des..

[2]  David G. Kirkpatrick,et al.  Efficient computation of continuous skeletons , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[3]  R. Klass An offset spline approximation for plane cubic splines , 1983 .

[4]  Michael Ian Shamos,et al.  Computational geometry: an introduction , 1985 .

[5]  Josef Hoschek,et al.  Spline approximation of offset curves , 1988, Comput. Aided Geom. Des..

[6]  Gershon Elber,et al.  Planar curve offset based on circle approximation , 1996, Comput. Aided Des..

[7]  Vijay Srinivasan,et al.  Voronoi Diagram for Multiply-Connected Polygonal Domains I: Algorithm , 1987, IBM J. Res. Dev..

[8]  H. Persson,et al.  NC machining of arbitrarily shaped pockets , 1978 .

[9]  Martin Held A Fast Incremental Algorithm for Computing the Voronoi Diagram of a Planar Shape , 1993 .

[10]  Gábor Lukács,et al.  Pocket machining based on contour-parallel tool paths generated by means of proximity maps , 1994, Comput. Aided Des..

[11]  Tomás Lozano-Pérez,et al.  An algorithm for planning collision-free paths among polyhedral obstacles , 1979, CACM.

[12]  D. T. Lee,et al.  Medial Axis Transformation of a Planar Shape , 1982, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[13]  B. Pham Offset approximation of uniform B-splines , 1988 .

[14]  Sung Yong Shin,et al.  Rolling Discs and Their Applications , 1992 .

[15]  Evan C. Sherbrooke 3-D shape interrogation by medial axis transform , 1996 .

[16]  Chee-Keng Yap,et al.  AnO(n logn) algorithm for the voronoi diagram of a set of simple curve segments , 1987, Discret. Comput. Geom..

[17]  Deok-Soo Kim,et al.  Representing the Voronoi diagram of a simple polygon using rational quadratic Bézier curves , 1995, Comput. Aided Des..

[18]  Martin Held,et al.  On the Computational Geometry of Pocket Machining , 1991, Lecture Notes in Computer Science.

[19]  Rida T. Farouki,et al.  Exact offset procedures for simple solids , 1985, Comput. Aided Geom. Des..

[20]  Gershon Elber,et al.  Comparing Offset Curve Approximation Methods , 1997, IEEE Computer Graphics and Applications.

[21]  Bahram Ravani,et al.  Offset Surface Generation and Contouring in Computer-Aided Design , 1987 .

[22]  Aristides A. G. Requicha,et al.  Offsetting operations in solid modelling , 1986, Comput. Aided Geom. Des..

[23]  Farhad Arbab,et al.  An algorithm for generating NC tool paths for arbitrarily shaped pockets with islands , 1992, TOGS.

[24]  Atsuyuki Okabe,et al.  Spatial Tessellations: Concepts and Applications of Voronoi Diagrams , 1992, Wiley Series in Probability and Mathematical Statistics.

[25]  Rida T. Farouki,et al.  Specified-Precision Computation of Curve/Curve Bisectors , 1998, Int. J. Comput. Geom. Appl..

[26]  Gerald Farin,et al.  Curves and surfaces for computer aided geometric design , 1990 .

[27]  Wayne Tiller,et al.  Offsets of Two-Dimensional Profiles , 1984, IEEE Computer Graphics and Applications.

[28]  Franz Aurenhammer,et al.  Voronoi diagrams—a survey of a fundamental geometric data structure , 1991, CSUR.

[29]  Shi-Nine Yang,et al.  A new offsetting algorithm based on tracing technique , 1993, Solid Modeling and Applications.