TABLE_VORONOI
Voronoi Diagram Data


TABLE_VORONOI is an executable C++ program, using double precision arithmetic, which reads in a dataset describing a 2D pointset, and prints out information defining the Voronoi diagram of the pointset.

The information describing the 2D pointset is in the simple TABLE format.

TABLE_VORONOI is based on the GEOMPACK library of Barry Joe, which computes the Delaunay triangulation. The main work that TABLE_VORONOI does is to analyze that Delaunay information and work out the location of the Voronoi vertices, and their specific arrangement around each of the original data nodes.

TABLE_VORONOI is a work in progress; the output is currently simply printed, which is not very useful except for toy problems; printed output is of very little use for big problems. To handle big, interesting problems, I have to think about how to store this information in a useful and accessible data structure.

Moreover, I haven't thought enough about how to deal with the inevitable "infinite" Voronoi cells.

The program begins with the pointset, of which a typical element is G. Each G generates a Voronoi polygon (or semi-infinite region, which we will persist in calling a polygon). A typical vertex of the polygon is called V. We are interested in computing the following quantities:

Usage:

table_voronoi file_name.xy
reads the data in file_name.xy, computes and prints out the Voronoi information.

Related Data and Programs:

GEOMPACK is a C++ library of routines for computing the Delaunay triangulation or Voronoi diagram.

TABLE is a file format which is used for the input files.

TABLE_BORDER is a C++ program that can read a TABLE file and add zero entries corresponding to a single layer of boundary data.

TABLE_DELAUNAY is an executable C++ program that reads a file of 2d point coordinates and computes the Delaunay triangulation.

TABLE_DISCREPANCY is a C++ program that bounds the star discrepancy of a point set.

TABLE_IO is a C++ library of routines that can read or write a TABLE file.

TABLE_LATINIZE is a C++ program that can read a TABLE file and write out a "latinized" version.

TABLE_QUALITY is a C++ program that can read a TABLE file and print out measures of the quality of dispersion of the points.

TABLE_UNBORDER is a C++ program can be used to remove the border from a table file.

TABLE_VORONOI is also available in a FORTRAN90 version.

Reference:

  1. Franz Aurenhammer,
    Voronoi diagrams - a study of a fundamental geometric data structure,
    ACM Computing Surveys,
    Volume 23, Number 3, pages 345-405, September 1991,
    ../../pdf/aurenhammer.pdf
  2. Barry Joe,
    GEOMPACK - a software package for the generation of meshes using geometric algorithms,
    Advances in Engineering Software,
    Volume 13, pages 325-331, 1991.

Source Code:

Examples and Tests:

List of Routines:

You can go up one level to the C++ source codes.


Last revised on 12 November 2006.