CVTP
Centroidal Voronoi Tessellation on Logical Torus


CVTP is a MATLAB library which creates CVTP's, that is, Centroidal Voronoi Tessellations of a periodic region.

A 2D unit logical torus is the unit square, but with "wraparound". This is the connectivity frequently seen in video games, in which a spaceship flies off the top of the screen and immediately reappears at the bottom of the screen. In the general M-dimensional case, the extreme minimum and maximum values of each coordinate are identified, and modular arithmetic may be used to determine distances.

Licensing:

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

Languages:

CVTP is available in a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

CVT, a MATLAB library which computes a Centroidal Voronoi Tessellation.

CVT_DATASET, a MATLAB program which defines and computes a CVT.

CVTM_1D, a MATLAB program which estimates a mirror-periodic centroidal Voronoi Tessellation (CVTM) in the periodic interval [0,1], using a version of Lloyd's iteration.

CVTP, a dataset directory which contains examples of CVTP's, that is, Centroidal Voronoi Tessellations on a periodic domain.

CVTP_1D, a MATLAB program which estimates a periodic centroidal Voronoi Tessellation (CVTP) in the periodic interval [0,1], using a version of Lloyd's iteration.

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.
  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, 1999, pages 637-676.
  4. 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:

CVT_1X1 is a nonperiodic CVT of 400 points on the region [0,1]x[0,1]:

CVT_1X2 is a nonperiodic CVT of 400 points on the region [0,1]x[0,2]:

CVTP_1X1 is a periodic CVT of 400 points on the region [0,1]x[0,1]:

CVTP_1X2 is a periodic CVT of 400 points on the region [0,1]x[0,2]:

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


Last revised on 31 July 2016.