Centroidal Voronoi Tessellation
Constrained to a Box

CCVT_BOX is a FORTRAN90 program which creates a Centroidal Voronoi Tessellation of points in a 2D box, with points constrained to lie on the boundary of the region.

This is a fairly simple and limited code, and was designed mainly for testing and experimentation. Current work is investigating more interesting regions, including holes, and other ways of "encouraging" some points to move to the boundary and stay there.


The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.


CCVT_BOX is available in a C++ version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

CCVT_REFLECT, a MATLAB program which tries to achieve the same results as CCVT_BOX but using a "reflection" idea to force points onto the boundary of the region.

CVT, a FORTRAN90 library which creates CVT's.

CVT, a dataset directory which contains files describing a number of CVT's.

CVT_DATASET, a FORTRAN90 program which creates a CVT dataset.


The FORTRAN version of CCVT_BOX was written by Lili Ju.


  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.
  2. John Burkardt, Max Gunzburger, Janet Peterson and Rebecca Brannon,
    User Manual and Supporting Information for Library of Codes for Centroidal Voronoi Placement and Associated Zeroth, First, and Second Moment Determination,
    Sandia National Laboratories Technical Report SAND2002-0099,
    February 2002.
  3. Qiang Du, Vance Faber and Max Gunzburger,
    Centroidal Voronoi Tessellations: Applications and Algorithms,
    SIAM Review, Volume 41, 1999, pages 637-676.
  4. Qiang Du, Max Gunzburger and Lili Ju,
    Meshfree, Probabilistic Determination of Point Sets and Support Regions for Meshfree Computing,
    Computer Methods in Applied Mechanics in Engineering,
    Volume 191, 2002, pages 1349-1366;
  5. Lili Ju, Qiang Du and Max Gunzburger,
    Probabilistic Methods for Centroidal Voronoi Tessellations and their Parallel Implementations,
    Parallel Computing, Volume 28, 2002, pages 1477-1500.

Source Code:

Examples and Tests:

List of Routines:

You can go up one level to the FORTRAN90 source codes.

Last revised on 14 September 2005.