Animated Constrained CVT Algorithm

CCVT_BOX is a MATLAB program which allows the user to specify certain parameters, and then creates and animates a Constrained Centroidal Voronoi Tessellation (CCVT) of points in a 2D box. After each iteration, points near the boundary are projected onto the boundary.

The data that the user may set includes:


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:

AVI, a data directory which contains an animation of the behavior of the generator points during the iteration, as computed by CCVT_BOX.

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 MATLAB library which can create CVT's.

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

CVT_1D_LLOYD, a MATLAB program which computes an N-point Centroidal Voronoi Tessellation (CVT) within the interval [0,1], under a uniform density.

CVT_1D_SAMPLING, a MATLAB program which computes an N-point Centroidal Voronoi Tessellation (CVT) within the interval [0,1], under a uniform density, using sampling to estimate the Voronoi regions.

CVT_DATASET, a MATLAB program which creates a CVT dataset.

FLORIDA_CVT_GEO, MATLAB programs which explore the creation of a centroidal Voronoi Tessellation (CVT) of the state of Florida, based solely on geometric considerations.


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, September 1991, pages 345-405.
  2. John Burkardt, Max Gunzburger, Janet Peterson, 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, Max Gunzburger,
    Centroidal Voronoi Tessellations: Applications and Algorithms,
    SIAM Review,
    Volume 41, Number 4, December 1999, pages 637-676.
  4. Qiang Du, Max Gunzburger, 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, 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:

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

Last revised on 08 November 2006.