TABLE_VORONOI
Voronoi Diagram Data


TABLE_VORONOI is a FORTRAN90 program which reads in a dataset describing a 2D pointset, and prints out information defining the Voronoi diagram of the pointset.

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 (x,y) coordinates in the TABLE file file_name.xy and computes the Voronoi information.

Related Data and Programs:

GEOMPACK is an executable FORTRAN90 library which supplies the routines used to compute the Voronoi information.

TABLE is a format used for the input to this program.

TABLE_BARPLOT_PPMA is an executable FORTRAN90 program which reads a table file and creates a PPMA bargraph of the data.

TABLE_BORDER is an executable FORTRAN90 program which can be used to add a border (of zero values) to a table file.

TABLE_COLUMNS is an executable FORTRAN90 program which can extract specific columns of data from a table file.

TABLE_COLUMNS_PERMUTE is an executable FORTRAN90 program which permutes the columns of a table file.

TABLE_DELAUNAY is an executable FORTRAN90 program which computes the Delaunay triangulation of a set of points.

TABLE_DIAPHONY is an executable FORTRAN90 program which computes the diaphony of a set of points stored in a table file.

TABLE_HISTOGRAM is an executable FORTRAN90 program which can make a histogram of a set of points stored in a table file.

TABLE_IO is a FORTRAN90 library which supplies the routines used to read the TABLE file.

TABLE_LATINIZE is a FORTRAN90 program that reads a file of points and creates a "latinized" version by adjusting the data.

TABLE_MERGE is a FORTRAN90 program that reads a file of points, and removes duplicates, and points that are close to each other.

TABLE_ORTHONORMALIZE is a FORTRAN90 program that reads a file of points and orthonormalizes the columns.

TABLE_QUALITY is a FORTRAN90 program that reads a file of points and computes the quality of dispersion.

TABLE_READ is a MATLAB script that can read in a TABLE file.

TABLE_RECORD_MATCH is an executable FORTRAN90 program that can be used to find close records in a table file.

TABLE_SCALE is an executable FORTRAN90 program that can be used to multiply the entries of a table file by a scale vector.

TABLE_SHIFT is an executable FORTRAN90 program that can be used to shift the entries of a table file by a shift vector.

TABLE_STATS is an executable FORTRAN90 program that can read a table file and compute certain statistics.

TABLE_TET_MESH is an executable FORTRAN90 program that can read a table file of 3D data, and compute a tetrahedral mesh.

TABLE_TOP is an executable FORTRAN90 program that can read a table file of M-dimensional data and make a table of plots of all pairs of coordinates.

TABLE_UNBORDER is an executable FORTRAN90 program that can be used to remove the border from a table file.

TABLE_UNIFORM_NOISE is an executable FORTRAN90 program that can be used to add a uniform noise term to the data in a table file.

TABLE_VORONOI is also available in a C++ 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 FORTRAN90 source codes.


Last revised on 31 October 2006.