cvtm_1d


cvtm_1d, an Octave code which estimates a mirror-periodic centroidal Voronoi Tessellation (CVTP) in the periodic interval [0,1], using a version of Lloyd's iteration.

The determination of the Voronoi regions is carried out using sampling. This means that the convergence of the iteration is influenced by the accuracy of the estimates provided by sampling.

For n generators, a solution set is known in advance:

x(i) = i / ( n - 1 ), i = 0 : n - 1
which includes a generator at both endpoints. Lloyd's algorithm starts from an arbitrary vector x, however, so it is interesting to see how the approximate solution evolves toward a correct solution, whose fundamental properties are that the generators are equally spaced within the periodic domain and include the endpoints.

Usage:

cvtm_1d ( g_num, it_num, sample_num )
where

Licensing:

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

Languages:

cvtm_1d is available in a MATLAB version and an Octave version.

Related Data and Programs:

cvtm_1d_test

cvt_box, an Octave code which constructs a modified CVT in which some points are forced to lie on the boundary.

ccvt_reflect, an Octave code which tries to construct a modified CVT in which some points are forced to lie on the boundary, using a reflection idea.

cvt, an Octave code which computes CVT's.

cvt, a dataset directory which contains a variety of examples of CVT datasets.

cvt_1d_lloyd, an Octave code which computes an n-point centroidal voronoi tessellation (CVT) within the interval [0,1], under a uniform density, using lloyd's method to compute the voronoi regions exactly.

cvt_1d_nonuniform, an Octave code which computes an n-point centroidal voronoi tessellation in 1 dimension, under a nonuniform density, and plots the evolution of the locations of the generators during the iteration;

cvt_1d_sampling, an Octave code 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_2d_sampling, an Octave code which computes an n-point centroidal voronoi tessellation (CVT) within the unit square [0,1]x[0,1], under a uniform density, using sampling to estimate the voronoi regions.

cvt_3d_sampling, an Octave code which computes an n-point centroidal voronoi tessellation (CVT) within the unit cube [0,1]x[0,1]x[0,1], under a uniform density, using sampling to estimate the voronoi regions.

cvt_circle_nonuniform, an Octave code which calculates a nonuniform centroidal voronoi tessellation (CVT) over a circle.

cvt_circle_uniform, an Octave code which calculates a centroidal voronoi tessellation (CVT) over a circle with uniform density.

cvt_corn, an Octave code which studies a 2d model of the growth of a corn kernel, by treating the surface and interior biological cells as points to be organized by a centroidal voronoi tessellation (CVT) with a nonuniform density; during a sequence of growth steps, new biological cells are randomly added to the surface and interior.

cvt_ellipse_uniform, an Octave code which iteratively calculates a centroidal voronoi tessellation (CVT) over an ellipse, with a uniform density.

cvtp, an Octave code which creates a CVTP, that is, a centroidal voronoi tessellation on a periodic domain.

cvtp_1d, an Octave code which estimates a periodic centroidal voronoi tessellation (CVTP) in the periodic interval [0,1], using a version of Lloyd's iteration.

florida_cvt_geo, an Octave code which explores the creation of a centroidal voronoi tessellation (CVT) of the state of Florida, based solely on geometric considerations.

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. Qiang Du, Vance Faber, Max Gunzburger,
    Centroidal Voronoi Tessellations: Applications and Algorithms,
    SIAM Review, Volume 41, 1999, pages 637-676.

Source Code:


Last revised on 21 July 2023.